最近看了好几段Java代码和以往的风格很不一样,都有点不太适应了,后来一查原来是Java8的新特性。
为了保持对技术的敏感性(面试。。。),这里我们一起来学习下Java8的新特性。
如果从技术角度来看Java的话,那么关注的有以下几点:
1、语言
2、编译器
3、库
4、工具
5、运行时
个人觉得作为一个码农来讲,和我们关系最为密切的就是语言和库,因为这是我们日常编码肯定会经常接触到的,其次是运行时,再次是工具,最后是编译器。
下面分别看一下这几个方面都有哪些新特性,先了解一下新特性,然后在每个都详细了解一下原理,使用和其他特性。
Java语言新特性
Lambda表达式和函数式接口
接口的默认方法和静态方法
方法引用
重复注解
更好的类型推断
拓宽注解的应用场景
Java编译器新特性
参数名称
Java官方库新特性
Optional(Guava)
Streams
Date/Time API
Nashorn JavaScript引擎
Base64
并行数组
并发性
新的Java工具
Nashorn引擎:jjs
类依赖分析器:jdeps
JVM的新特性
使用Metaspace替代了持久代(PermGen space)。
在JVM参数方面,使用-XX:MetaSpaceSize和-XX:MaxMetaspaceSize代替原来的-XX:PermSize和-XX:MaxPermSize。