随笔分类 -  JDK新特性

简述jdk不同版本新特性
摘要:1 collect(toList()) collect(toList()) 方法由Stream 里的值生成一个列表,是一个及早求值操作。 2 map 如果有一个函数可以将一种类型的值转换成另外一种类型,map 操作就可以使用该函数,将一个流中的值转换成一个新的流。 3 filter 遍历数据并检查其 阅读全文
posted @ 2019-04-23 09:37 予我渡北川 阅读(159) 评论(0) 推荐(0)
摘要:StampedLock是Java8引入的一种新的锁机制,简单的理解,可以认为它是读写锁的一个改进版本,读写锁虽然分离了读和写的功能,使得读与读之间可以完全并发,但是读和写之间依然是冲突的,读锁会完全阻塞写锁,它使用的依然是悲观的锁策略.如果有大量的读线程,他也有可能引起写线程的饥饿,而Stamped 阅读全文
posted @ 2019-04-16 11:21 予我渡北川 阅读(482) 评论(0) 推荐(0)
摘要:如果让你实现一个计数器,有点经验的同学可以很快的想到使用AtomicInteger或者AtomicLong进行简单的封装。 因为计数器操作涉及到内存的可见性和线程之间的竞争,而Atomic***的实现完美的屏蔽了这些技术细节,我们只需要执行相应的方法,就能实现对应的业务需求。 Atomic**虽然好 阅读全文
posted @ 2019-04-16 11:05 予我渡北川 阅读(593) 评论(0) 推荐(0)
摘要:在学习之前,最好先了解下如下知识: 1、ReentrantLock的实现和原理。 2、Synchronized的实现和原理。 3、硬件对并发支持的CAS操作及JVM中Unsafe对CAS的实现。 4、JDK1.7中关于ConcurrentHashMap的实现原理。 5、volatile的实现原理。 阅读全文
posted @ 2019-04-11 10:09 予我渡北川 阅读(276) 评论(0) 推荐(0)
摘要:我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了 那么不得不说我们的思维仍然是在原地踏步, 只是本能的认为它不过是 User 实例的 阅读全文
posted @ 2017-12-05 10:04 予我渡北川 阅读(337) 评论(0) 推荐(0)
摘要:本文转载原文http://www.cnblogs.com/jalja/p/7655170.html 一、使用线程 Runnable接口源码: 该接口只有一个抽象方法,且该抽象没有参数 所以Lambda 表达式为 (); System.out.println("简单的线程编程JDK1.8") 是实现该 阅读全文
posted @ 2017-10-13 17:33 予我渡北川 阅读(325) 评论(0) 推荐(0)