Stream的基本概念 Stream和集合的区别: Stream不会自己存储元素。元素储存在底层集合或者根据需要产生。Stream操作符不会改变源对象。相反,它会返回一个持有结果的新的Stream。3.Stream操作可能是延迟执行的,这意味着它们会等到需要结果的时候才执行。Stream操作的基本过 ...
分类:
编程语言 时间:
2017-03-24 19:01:13
阅读次数:
776
StampedLock是Java8引入的一种新的所机制,简单的理解,可以认为它是读写锁的一个改进版本,读写锁虽然分离了读和写的功能,使得读与读之间可以完全并发,但是读和写之间依然是冲突的,读锁会完全阻塞写锁,它使用的依然是悲观的锁策略.如果有大量的读线程,他也有可能引起写线程的饥饿 而Stamped ...
分类:
编程语言 时间:
2017-03-20 19:00:17
阅读次数:
245
现在我们要对商店商品进行折扣服务.每个折扣代码对应不同的折扣率,使用一个枚举变量Discount.Code来实现这一想法,具体代码如下所示. 以枚举类型定义的折扣代码 /** * 折扣服务api * * @author Darcy * Created by Administrator on 2017... ...
分类:
编程语言 时间:
2017-03-20 18:46:49
阅读次数:
713
CompletableFuture是Java8新增的一个超大型工具类,为什么说她大呢?因为一方面它实现了Future接口,更重要的是,它实现了CompletionStage接口.这个接口也是Java8新增加的,而CompletionStage拥有多达约40种方法, * 完成了通知我 * 异步执行任务... ...
分类:
编程语言 时间:
2017-03-20 17:52:54
阅读次数:
330
更快的原子类:LongAdder 大家对AtomicInteger的基本实现机制应该比较了解,它们是在一个死循环内,不断尝试修改目标值,知道修改成功,如果竞争不激烈,那么修改成功的概率就很高,否则,修改失败的概率就很高,在大量修改失败时,这些原子操作就会进行多次循环尝试,因此性能就会受到影响 那么竞 ...
分类:
编程语言 时间:
2017-03-20 17:48:06
阅读次数:
580
1.添加ppa 2.安装oracle-java-installer jdk7 jdk8 安装器会提示你同意 oracle 的服务条款,选择 ok 然后选择yes 即可 如果你懒,不想自己手动点击.也可以加入下面的这条命令,默认同意条款: JDK7 默认选择条款 JDK8 默认选择条款 接下会是等待( ...
分类:
系统相关 时间:
2017-03-19 17:22:57
阅读次数:
223
在build.gradle中添加 Retrolambda是借用Java8的语法特性,需要配置好Java8 安装好Java8后在File > Project structure > SDK Location中配置Java8路径 ...
分类:
移动开发 时间:
2017-03-18 00:39:23
阅读次数:
247
前言
上一文:Android 使用Java8新特性之Lambda expression (附命令者模式简化)
说过lambda表达式,在android中的应用。本文讲下Java8新特性之”方法引用...
分类:
移动开发 时间:
2017-03-14 15:01:19
阅读次数:
271
参考: http://blog.itpub.net/28912557/viewspace-1455299/ 一:堆内存溢出 Java创建的对象一般都是分配在堆中。我们在上一篇博文讲过,JVM的堆又分为 新生代、老年代、永久代(Java8已移除)。那么堆中出现OOM异常一般在就是因为在这几个地方内存不 ...
分类:
其他好文 时间:
2017-03-08 21:10:58
阅读次数:
118