jdk11新特性——Remove the JavaEE and CORBA Moudles
Posted 小志的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdk11新特性——Remove the JavaEE and CORBA Moudles相关的知识,希望对你有一定的参考价值。
目录
一、Remove the JavaEE and CORBA Moudles
1.1、概述
- 在java11中移除了不太使用的JavaEE模块和CORBA技术CORBA来自于二十世纪九十年代,Oracle说,现在用CORBA开发现代Java应用程序已经没有意义了,维护CORBA的成本已经超过了保留它带来的好处。
- 但是删除CORBA将使得那些依赖于JDK提供部分CORBA API的CORBA实现无法运行。目前还没有第三方CORBA版本,也不确定是否会有第三方愿意接手CORBA API的维护工作。
1.2、在java11中将java9标记废弃的Java EE及CORBA模块移除掉,具体如下
- java.xml.ws
- java.xml.bind
- java.xml.ws.annotation
- 只剩下java.xml,java.xml.crypto,jdk.xml.dom这几个模块;
- java.corba
- java.se.ee
- java.activation
- java.transaction被移除,但是java11新增一个java.transaction.xa模块
二、JEP : 335 : Deprecate the Nashorn javascript Engine
- 废除Nashorn javascript引擎,在后续版本准备移除掉,有需要的可以考虑使用GraalVM。
三、JEP : 336 : Deprecate the Pack200 Tools and API
-
java5中带了一个压缩工具:Pack200,这个工具能对普通的jar文件进行高效压缩。其 实现原理是根据Java类特有的结构,合并常数 池,去掉无用信息等来实现对java类的高效压缩。由于是专门对Java类进行压缩的,所以对普通文件的压缩和普通压缩软件没有什么两样,但是对于Jar 文件却能轻易达到10-40%的压缩率。这在Java应用部署中很有用,尤其对于移动Java计算,能够大大减小代码下载量。
-
Java5中还提供了这一技术的API接口,你可以将其嵌入到你的程序中使用。使用的方法很简单,下面的短短几行代码即可以实现jar的压缩和解压:
//压缩 Packer packer=Pack200.newPacker(); OutputStream output=new BufferedOutputStream(new FileOutputStream(outfile)); packer.pack(new JarFile(jarFile), output); output.close(); //解压 Unpacker unpacker=Pack200.newUnpacker(); output=new JarOutputStream(new FileOutputStream(jarFile)); unpacker.unpack(pack200File, output); output.close();
-
Pack200的压缩和解压缩速度是比较快的,而且压缩率也是很惊人的,在我是使用 的包4.46MB压缩后成了1.44MB(0.322%),而且随着包的越大压缩率会根据明显,据说如果jar包都是class类可以压缩到1/9的大 小。其实JavaWebStart还有很多功能,例如可以按不同的jar包进行lazy下载和 单独更新,设置可以根据jar中的类变动进行class粒度的下载。
-
但是在java11中废除了pack200以及unpack200工具以及java.util.jar中的Pack200 API。因为Pack200主要是用来压缩jar包的工具,由于网络下载速度的提升以及java9引入模块化系统之后不再依赖Pack200,因此这个版本将其移除掉。
以上是关于jdk11新特性——Remove the JavaEE and CORBA Moudles的主要内容,如果未能解决你的问题,请参考以下文章