一个java的控制台工具,效果类似与浏览器的控制台,能够直接编写测试代码片段
什么是局部变量类型推断?
大家看出来了,局部变量类型推断就是左边的类型直接使用 var 定义,而不用具体的类型,编译器能根据右边的表达式自动推断类型,如上面的 String
在声明隐式类型的 lambda 表达式的形参时允许使用 var
使用 var 的好处是在使用 lambda 表达式时给参数加上注解
注意点:
var a; 这样不可以,因为无法推断
类的属性的数据类型不可以使用 var
通过 of() 生成的集合,是不可变的,实际使用的是 ImmutableCollections.class 中的内部类
Arrays.asList 实际返回对象 class java.util.Arrays$ArrayList,对象声明后,还是可以调用 set(int, E) 更新元素
用于处理生成流的元素可能为空的情况
传入一个判断表达式,在遍历流对象时使用,返回前面连续的判断条件为 true 的所有元素
类似与 Stream.filter(Predicate<? super T>),遍历元素过滤
丢弃前面连续的判断为 true 的所有元素,返回剩下的元素
缺点,这是一个无限流,容易出现出乎意料的错误,一般需要和 .limit(int) 配置使用,截取前面 n 个元素
添加了一个条件判断表达式,生成的元素经过判断表达式处理后如果返回为 false 就停止流迭代
开发一个处理内存分配但不实现任何实际内存回收机制的GC, 一旦可用堆内存用完,JVM就会退出。
用途
性能测试(它可以帮助过滤掉 GC引起的性能假象)
内存压力测试(例如,知道测试用例 应该分配不超过1GB的内存, 我们可以使用-Xmx1g –XX:+UseEpsilonGC, 如果程序有问题, 则程序会崩溃)
非常短的JOB任务(对象这种任务, 接受GC清理堆那都是浪费空间)
VM接口测试
Last-drop 延迟&吞吐改进
GC暂停时间不会超过10ms
既能处理几百兆的小堆, 也能处理几个T的大堆(OMG)
和G1相比, 应用吞吐能力不会下降超过15%
为未来的GC功能和利用colord指针以及Load barriers优化奠定基础
初始只支持64位系统
开源使用