- 博客(7)
- 资源 (1)
- 收藏
- 关注

原创 Java 8 lambda表达式中为什么要求外部变量为final
我的理解如下,如有错误欢迎指正。这是由Java对lambda表达式的实现决定的,在Java中lambda表达式是匿名类语法上的进一步简化,其本质还是调用对象的方法。 在Java中方法调用是值传递的,所以在lambda表达式中对变量的操作都是基于原变量的副本,不会影响到原变量的值。综上,假定没有要求lambda表达式外部变量为final修饰,那么开发者会误以为外部变量的值能够在lambda...
2018-04-24 17:58:54
45403
31
原创 DDL回滚(rollback)问题
项目中遇到一个问题,进行db操作的方法里抛出异常后并没有按照设想进行数据回滚, 并且已确认autocommit设为false,并且在异常处理块中正确写了rollback. 最后排查结果为,在db操作过程中执行了truncate操作,查询资料后得知,truncate在执行之前及之后会进行commit操作,进一步引申,DDL操作都有此特点,简单来说,DDL操作本身不能回滚,且其之前的操作也不能被回滚
2017-12-08 21:14:37
4301
原创 Junit 测试中新启动线程问题
假定将执行Junit测试方法的线程称为主线程,将在测试方法中新建的线程称为从线程(可以是多个); 一个结论是:从线程的执行是得不到保障的,测试将在主线程结束后而立即结束而不管从线程是否运行结束。 对于需要有从线程的情况,可以考虑在主线程方法最后添加Thread.sleep()方法或者采用线程的barrier。 值得注意的是,从线程中的断言是不会加入到测试结果的。
2017-09-17 09:44:40
749
原创 maven项目指定JDK版本
在pom.xml中加入如下配置<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source>
2017-09-12 16:53:03
643
原创 Spring Boot 装配DataSource缺少依赖导致失败
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifa
2017-09-09 11:56:53
21283
5
原创 对I/O阻塞、非阻塞;同步I/O、异步I/O的理解
I/O可分为两个过程- 等待I/O就绪- 执行具体I/O操作关于同步I/O与异步I/O- 同步I/O指当前进程或线程等待整个I/O过程结束,这包括等待I/O就绪和执行具体I/O操作- 异步I/O指当前进程或线程提出I/O请求,然后直接返回,当I/O完成后以某种机制通知到该进程或线程关于I/O阻塞与非阻塞- 阻塞与非阻塞区别在于I/O的第一个过程,即等待I/O就绪;- 阻塞I/O等待直到I/
2017-09-07 21:02:04
731
Local CDN-chrome插件
2018-04-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人