• java 11 移除的一些其他内容,更简化的编译运行程序,Unicode 10,移除了不太使用的JavaEE模块和CORBA技术,废除Nashorn javascript引擎,不建议使用Pack200 相关api


    移除的一些其他内容

    移除项

    移除了com.sun.awt.AWTUtilities

    移除了sun.misc.Unsafe.defineClass,

    使用java.lang.invoke.MethodHandles.Lookup.defineClass来替代

    移除了Thread.destroy()以及 Thread.stop(Throwable)方法

    移除了sun.nio.ch.disableSystemWideOverlappingFileLockCheck、sun.locale.formatasdefault属性

    移除了jdk.snmp模块

    移除了javafx,openjdk估计是从java10版本就移除了,oracle jdk10还尚未移除javafx,而java11版本则oracle的jdk版本也移除了javafx

    移除了Java Mission Control,从JDK中移除之后,需要自己单独下载

    移除了这些Root Certificates :Baltimore Cybertrust Code Signing CA,SECOM ,AOL and Swisscom

    废弃项

    -XX+AggressiveOpts选项

    -XX:+UnlockCommercialFeatures

    -XX:+LogCommercialFeatures选项也不再需要

    更简化的编译运行程序

    JEP 330 : 增强java启动器支持运行单个java源代码文件的程序.

    注意点 :

    1. 执行源文件中的第一个类, 第一个类必须包含主方法

    2. 并且不可以使用别源文件中的自定义类, 本文件中的自定义类是可以使用的.

    一个命令编译运行源代码

    看下面的代码。

    // 编译

    javac Javastack.java

    // 运行

    java Javastack

    在我们的认知里面,要运行一个 Java 源代码必须先编译,再运行,两步执行动作。而在未来的 Java 11 版本中,通过一个 java 命令就直接搞定了,如以下所示。

    java Javastack.java

    Unicode 10

    Unicode 10 增加了8518个字符, 总计达到了136690个字符. 并且增加了4个脚本.同时还有56个新的emoji表情符号.

    移除了不太使用的JavaEE模块和CORBA技术

    在java11中移除了不太使用的JavaEE模块和CORBA技术

    CORBA来自于二十世纪九十年代,Oracle说,现在用CORBA开发现代Java应用程序已经没有意义了,维护CORBA的成本已经超过了保留它带来的好处。

    但是删除CORBA将使得那些依赖于JDK提供部分CORBA API的CORBA实现无法运行。目前还没有第三方CORBA版本,也不确定是否会有第三方愿意接手CORBA API的维护工作。

    在java11中将java9标记废弃的Java EE及CORBA模块移除掉,具体如下:

    (1) xml相关的,

    java.xml.ws,

    java.xml.bind,

    java.xml.ws,

    java.xml.ws.annotation,

    jdk.xml.bind,

    jdk.xml.ws被移除,

    只剩下java.xml,java.xml.crypto,jdk.xml.dom这几个模块;

    (2) java.corba,

    java.se.ee,

    java.activation,

    java.transaction被移除,

    但是java11新增一个java.transaction.xa模块

    废除Nashorn javascript引擎

    废除Nashorn javascript引擎,在后续版本准备移除掉,有需要的可以考虑使用GraalVM

    不建议使用Pack200 相关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,因此这个版本将其移除掉。

  • 相关阅读:
    .Net Remoting(应用程序域) Part.1(转载)
    .net 中读取自定义Config文件
    WebBrowser控件说明
    Delphi常用技巧 3
    句柄3
    句柄5
    点击TWebBrowser中的超级链接不在新的IE窗口打开
    句柄2
    webbrower
    句柄4
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/10351200.html
Copyright © 2020-2023  润新知