事务回滚时的异常处理机制

一、Java异常 1.运行时异常和非运行时异常 (1)运行时异常特点是Java编译器不会检查它; (2) 非运行时异常(编译期异常):如果不处理,程序就不能编译通过。如IOException、SQLException; 二、使用事务时对异常的处理 1.声明式事务只对运行期异常Runtim...

2019-05-09 16:13:28

阅读数 11

评论数 0

遍历中修改HashMap的Key

public static void main(String[] args) { HashMap<String, String> hashMap = new HashMap<>(); for (int i = ...

2019-05-07 16:49:01

阅读数 11

评论数 0

分布式定时任务的异步处理

最近项目中遇到一个问题 , 在SpringBoot中设置了定时任务之后 , 在某个点总是没有执行 . 经过搜索研究发现 , spring 定时器任务scheduled-tasks默认配置是单线程串行执行的 . 即在当前时间点之内 . 如果同时有两个定时任务需要执行的时候 , 排在第二个的任务就必须...

2019-05-05 11:20:13

阅读数 51

评论数 0

项目集群部署

目录 1.1 Nginx的安装1.2 Nginx的配置测试: 欢迎访问我的个人网站O(∩_∩)O哈哈~希望大佬们能给个star,个人网站网址:http://www.wenzhihuai.com,个人网站代码地址:https://github.com/Zephery/newblog。 洋洋洒洒的买...

2019-04-23 16:35:18

阅读数 26

评论数 0

Redis在高并发下常见的错误场景

在使用Redis场景下,很多同学在使用中不注意,一旦系统并发比较高的时候,往往请求还是直接打到数据库,并没有击中缓存。下面我说几种场景,已经解决方案。 第一种,看看自己是否已经入坑了。 //判断Redis缓存是否有数据 if(!jedis.exists("testlockList...

2019-04-20 10:44:56

阅读数 46

评论数 0

java8 lambada表达式使用

@Transactional @Override public void setMenuToRole(Long roleId, Set<Long> menuIds) { if (!CollectionUtils.isEmpty(menuIds)) { ...

2019-04-08 16:59:24

阅读数 76

评论数 0

深入了解Kafka底层原理

一、Kafka基础 1.kafka的基本运行原理?kafka的架构部署? (1)Kafka通过多副本机制实现故障自动转移; 2.kafka的文件存储机制? 3.kafka如何确保消息的精确传输?如何确保消息的准确存储?如何确保消息的正确消费? 4.kafka的常用名词? (1)LEO(...

2019-03-18 23:56:31

阅读数 92

评论数 0

微服务拆分

1.传统方式和微服务之间的区别 二、服务拆分 1.水平复制:将应用程序水平复制,通过负载均衡运行程序的多个副本,达到应用程序的伸缩性; 2.数据分区:每个服务器运行的代码是一样的; 3.功能解耦:将不同的模块分成不同的服务。 (1)单一职责,松耦合,高内聚 (2)关注点分离 ...

2019-03-17 22:12:52

阅读数 16

评论数 0

浅谈分布式应用——基于zookeeper+kafka

1.实现分布式应用的基本要求是主备节点的切换。

2019-03-14 22:36:22

阅读数 38

评论数 0

记录一次数据处理问题

1.数据处理 要求,向result中插入一条username的数据,数据结构如下图所示。 2.代码 //转换成json串 String response = HttpClientUtil.executeGet(interfaceUri.getUrl()+"/trade...

2019-03-13 13:47:49

阅读数 23

评论数 0

ftp账号使用

1.查看ftp账号信息 vim /etc/vsftpd/chroot_list 2.重置ftp账号密码 passwd username

2019-03-13 09:53:19

阅读数 16

评论数 0

整合springboot父子项目时出现的一个问题

1.报错springboot版本2.1.3.RELEASE 解决:将tomcat更换为jetty就好了。 java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Lja...

2019-03-11 20:00:27

阅读数 45

评论数 0

详解hashmap底层原理

一、hashmap的源码问题,hashmap的底层结构?put操作? 1.底层结构(基于Java8) 性能:O(1)、O(n)、O(logn) 注:当链表大小超过8,会被改成红黑树;当低于6时,又会被改为链表; 2.put操作 流程: (1)先调用putVal()方法,当tab...

2019-03-10 23:48:00

阅读数 20

评论数 0

关于net.sf.json的使用

一、关于net.sf.json的使用 1.将linkedHashmap先转成jsonarray JSONArray list = JSONArray.fromObject(map); 2.然后把JSONArray转成Iterator Iterator<Object&a...

2019-03-08 22:02:15

阅读数 24

评论数 0

Java内存泄漏的排查总结

1.什么是内存泄漏? (1)程序在申请内存后,无法释放已经申请的内存空间。内存泄漏是纯代码层的问题。主要是因为一些对象占用内存,却不会被GC回收。 (2)这些对象的特点是可达的、无用的。 二、内存泄漏的排查案例 1.确定频繁GC的对象 (1)使用jps找出正在运行的虚拟机进程; (2)...

2019-02-21 11:18:53

阅读数 22

评论数 0

如何处理高并发的问题?

1.前后端分离 (1)页面静态化处理+网站静态资源部署在CDN上 (2)文件服务器+图片服务器 2.服务器采用负载均衡+反向代理 3.增加缓存,使用nosql 4.数据库采用集群、读写分离、分库分表 ...

2019-02-19 10:44:42

阅读数 43

评论数 0

单例的双重检测实现

//改进

2019-01-30 14:14:20

阅读数 39

评论数 0

Java8 新特性

一、Lambda表达式:Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。) Lambda表达式可以说是Java 8最大的卖点,她将函数式编程引入了Java。Lambda允许把函数作为一个方法的参数,或者把代码看成数据。 一个Lambda表达式可以由用逗号分隔的参数列表、–&...

2019-01-28 00:35:47

阅读数 21

评论数 0

自定义Classloader实现类加载

1.test package com.interview.javabasic.reflect; public class ClassLoaderChecker { public static void main(String[] args) throws ClassNotFoundE...

2019-01-27 16:07:23

阅读数 35

评论数 0

happen-before原则

1.什么是happen-before (1)编写的程序都要经过优化(编译器和处理器会对程序进行优化)后才会被运行,优化分为很多种,其中有一种优化叫做重排序,重排序需要遵守happens-before规则。 (2)a happens-before b :happens-before关系保证a操作...

2019-01-24 22:40:39

阅读数 99

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭