赞
踩
本文主要研究下迁移到java9的一些注意事项。
1、代码不模块化,先迁移到jdk9上,好利用jdk9的api 2、代码同时也模块化迁移
比如sun.security.x509,在java9中归到java.base模块中,但是该模块没有export该package
可以通过运行的时候添加--add-exports java.base/sun.security.x509=ALL-UNNAMED来修改exports设定
比如sun.misc.Unsafe,原本只想让oracle jdk team来使用,不过由于这些类应用太广泛了,为了向后兼容,java9做了妥协,只是将这些类归到了jdk.unsupported模块,并没有限定其可读性。
- ➜~ java -d jdk.unsupported
- jdk.unsupported@9
- exports com.sun.nio.file
- exports sun.misc
- exports sun.reflect
- requires java.base mandated
- opens sun.misc
- opens sun.reflect
java9删除了sun.misc.BASE64Encoder,这种情况只能改用其他api,比如java.util.Base64
java9引入了模块系统,同时自身的jdk也模块化了,引入了module-path,来屏蔽classpath,也就是说在java9优先使用module-path
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。