jdk9-13新特性_jdk新特性「建议收藏」

jdk9-13新特性_jdk新特性「建议收藏」前言经历4次跳票,java9终于在2017年9月21日发布模块化java9中实现了java的模块化,模块化不允许在src根目录下创建类单独运行,必须都在module里java9之前java生态暴露的问题:模块化的目的:模块化的使用:新建两个模块:如果要想使用另一个模块的类,必须使用

大家好,欢迎来到IT知识分享网。

前言

经历4次跳票,java9终于在2017年9月21日发布

模块化

java9中实现了java的模块化 ,模块化不允许在src根目录下创建类单独运行,必须都在module里
java9之前java生态暴露的问题:
jdk9-13新特性_jdk新特性「建议收藏」
模块化的目的:
jdk9-13新特性_jdk新特性「建议收藏」
模块化的使用:
新建两个模块:
jdk9-13新特性_jdk新特性「建议收藏」
如果要想使用另一个模块的类,必须使用模块声明:
模块一抛出类:
jdk9-13新特性_jdk新特性「建议收藏」
模块二引入需要的模块名,没有使用的不能引入,否则报错,必须先使用再引入:
jdk9-13新特性_jdk新特性「建议收藏」

多版本兼容jar

java9的这个功能,可以使我们自己的功能升级新的jdk,而不必强迫其他引用的人进行升级,很实用
比如:我的jar有很多用户在引用,我想用jdk新特性重写一些接口,java9中即使我重写了,别人也可以继续在jdk7环境下使用我的包,只需要使用多版本jar兼容即可
使用方法:
jdk9-13新特性_jdk新特性「建议收藏」

jshell

如果你想测试一段简单的代码,在java9中,就不必再打开编译器,再写个main方法运行了,可以直接使用jshell
jdk9-13新特性_jdk新特性「建议收藏」
jdk9-13新特性_jdk新特性「建议收藏」
常用命令:
jdk9-13新特性_jdk新特性「建议收藏」
/reset : 清空所有代码
/list: 列出之前写的代码
/history: 列出历史命令
/methods: 列出已声明的方法
/edit: 打开新面板编辑代码:
jdk9-13新特性_jdk新特性「建议收藏」
/drop: 删除,可跟行数或者方法名进行删除
保存与导入:
jdk9-13新特性_jdk新特性「建议收藏」

{}升级

jdk9-13新特性_jdk新特性「建议收藏」

trycatch升级

jdk9-13新特性_jdk新特性「建议收藏」

String底层存储结构变化

冷知识:
jdk9-13新特性_jdk新特性「建议收藏」
JDK9之前String底层使用char数组存储数据private final char value[],JDK9将String底层存储数据改为byte数组存储数据private final byte[] value。
StringBuffer和StringBuilder也同样做了变更,将以往char数组改为byte数组
对于英文占用内存更小,汉字则意义不大,所以java9之后,可以使用英文日志,节省内存开销

增强StreamApi

java9中,Stream新增了四个方法:

1 takeWhile

jdk9-13新特性_jdk新特性「建议收藏」

2 dropWhile

jdk9-13新特性_jdk新特性「建议收藏」

3 ofNullable

//允许创建一个值为null的Stream
Stream.ofNullable(null);

4 iterate重载

jdk9-13新特性_jdk新特性「建议收藏」


默认垃圾收集器G1

jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)
jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)
jdk1.9 默认垃圾收集器G1

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/29379.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信