上篇讲了lambda表达式的语法,但只是 JEP126 特性的一部分,另一部分就是默认方法(也称为虚拟扩展方法或防护方法) 什么是默认方法,为什么要有默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法。只需在方法名前面加个default关键字即可。 为什么要有
1年前发布 4470阅读 评论
现在开始要灌输一些概念性的东西了,这能帮助你理解lambda更加透彻一点,如果你之前听说过,也可当是温习,所谓温故而知新...... 在开始之前,可以同步下载jdk 8 和 ?IDE,IDE根据个人习惯了,不过eclipse官方版本还没出来,所以目前看的话,netbean7.4是首选的,毕竟前段子刚
1年前发布 5058阅读 评论
ThreadLocal俗称线程变量,是为解决多线程程序的并发问题而提出的。与一般变量的区别在于它的生命周期是线程范围。 如果把ThreadLocal申明成静态static类型,那会怎么样呢,是否会影响它原来的作用域? 看下面测试代码: public class ThreadLocalTest { private static Thr
1年前发布 8725阅读 评论
String 字符串常量,是对象不是原始类型,为不可变对象,一旦被创建,就不能修改它的值。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。String 是final类,即不能被继承. StringBuffer 是一个可变对象,当对他进行修改的时候不会像String那样重
1年前发布 7695阅读 评论
线程池的作用就是用尽可能少的线程来执行尽可能多的Runnable,以实现对线程的充分利用。 先从ThreadPoolExecutor类的构造方法说起: ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, // 核心线程数 int maximumPoolSize, //
1年前发布 9552阅读 评论
在项目中经常要获取当天开始时间,当周开始时间等,每次都不能很顺当的写出来,在这里贴一下备忘吧。 当天开始时间 Calendar currentDate = Calendar.getInstance(); currentDate.set(Calendar.HOUR_OF_DAY, 0); currentDate.set(Calendar.MINUTE, 0); currentDate.set(Cal
1年前发布 10963阅读 评论
今天做项目时,需要用到Excel批量导入手机号码,使用POI在读取Excel文件时,手机号码该列被认为是Double类型,插入到数据库时(数据库是varchar型),用了科学计数法表示,如:1.397545871E10,很显然,这不是我想要的。 起初把它转为BigDecimal型再转为String型以为解决问题,
1年前发布 17439阅读 评论