java 不推荐使用方法_java11教程--不推荐使用的功能和选项

核心库/java.util.concurrent

ThreadPoolExecutor不应指定对完成的依赖

以前版本的ThreadPoolExecutor具有关闭线程池的finalize方法,但是在此版本中,finalize方法不执行任何操作。除非子类显式调用finalize方法并依赖于正在关闭的执行程序,否则这应该没有可见的效果。

参见JDK-8190324

docs

JEP 335弃用Nashorn JavaScript引擎

弃用Nashorn JavaScript脚本引擎和API,以及jjs工具,以期在以后的发行版中将其删除(JEP 335)。

Nashorn JavaScript Engine实现,API和jjsShell工具已被弃用,并且可能在将来的版本中删除。使用jdk.nashorn.api.scripting和jdk.nashorn.api.tree包中的类和接口的代码将从中获得弃用警告javac。

Nashorn引擎(由javax.scriptAPI或jrunscript工具使用时)以及jjs外壳工具将打印有关弃用的警告消息。要禁用此运行时警告消息,用户可以包括新的Nashorn选项--no-deprecation-warning。这对于依赖于精确输出的兼容性脚本可能很有用(例如,避免警告会破坏其期望的精确输出)。

参见JDK-8202786

热点/编译器

弃用-XX + AggressiveOpts

-XX:+AggressiveOptsJDK 11中不赞成使用VM选项,在以后的版本中将删除该选项。最初,该选项旨在对C2编译器进行实验性优化,以提高特定基准的性能。随着时间的推移,大多数功能已被删除或集成,从而使该选项的行为不明确且容易出错。该标志当前具有的唯一作用是将其设置AutoBoxCacheMax为20000和BiasedLockingStartupDelay500。可以通过从命令行设置其相应标志来实现相同的配置。因此,-XX:+AggressiveOpts在将来的版本中将不再可用。

参见JDK-8199777

热点/运行时

对商业功能的过时支持

的-XX:+UnlockCommercialFeatures和-XX:+LogCommercialFeatures命令行参数已过时,以及如果使用的话就会产生一个警告信息。命令行参数用于控制VM中商业/许可功能的使用和记录。由于不再具有此类功能,因此命令行参数不再有用。

同样,VM.unlock_commercial_features和和VM.check_commercial_featuresjcmd命令也将生成警告消息,但没有其他效果。

参见JDK-8202331

security-libs / org.ietf.jgss

弃用基于流的GSSContext方法

GSSContext由于GSS-API适用于不透明令牌,并且尚未定义有线协议,因此在此版本中已弃用基于流的方法。这包括的重载形式的initSecContext,acceptSecContext,wrap,unwrap,getMIC,和verifyMIC具有一个方法InputStream的参数。这些方法已在RFC 8353中删除。

参见JDK-8072996

工具

JEP 336弃用Pack200工具和API

在(JEP 336)中弃用pack200和unpack200工具以及Pack200 API 。java.util.jar

该pack200API和与之相关的工具pack200以及和unpack200已被弃用,并将在以后的版本中删除。

这些工具仍包含在JDK 11中,但是将不再更新以支持最新的类文件格式。具有未知属性的类文件将直接传递而不进行压缩。

参见JDK-8199871

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值