首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Java11运行时忽略包含sun.misc类的jar?

Java 11运行时忽略包含sun.misc类的jar主要是出于以下几个原因:

  1. 安全性考虑:sun.misc类是Java开发平台内部使用的私有API,不属于Java标准库的一部分。这些API不受Java语言和平台的官方支持,并且可能随着不同Java版本的更新而发生变化。因此,Java 11开始默认禁用了对sun.misc类的访问,以提高Java应用程序的安全性。
  2. 避免依赖过时的API:Java标准库中提供了许多功能强大的替代API,可以代替sun.misc类提供的功能。忽略包含sun.misc类的jar可以鼓励开发人员使用官方支持的替代API,从而保持Java应用程序的更新和兼容性。
  3. 防止程序错误:由于sun.misc类不是公共API,它可能在不同的Java版本中具有不同的实现或行为。因此,依赖sun.misc类可能导致程序在不同的Java版本中产生不可预测的错误。通过忽略包含sun.misc类的jar,可以避免这种潜在的问题。

总之,Java 11运行时忽略包含sun.misc类的jar是为了提高应用程序的安全性、推动开发人员使用官方支持的API,并避免潜在的兼容性问题。对于使用Java 11及更高版本的开发人员,建议尽量避免依赖sun.misc类的功能,并使用官方推荐的替代API来实现相应的功能。

腾讯云相关产品和产品介绍链接地址: 腾讯云提供了丰富的云计算产品和服务,包括计算、存储、数据库、网络、人工智能等方面。以下是腾讯云相关产品和产品介绍链接地址:

  1. 云服务器(ECS):提供弹性、安全可靠的云服务器实例,支持多种操作系统。了解更多:https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版:提供稳定可靠、高性能的MySQL数据库服务。了解更多:https://cloud.tencent.com/product/cdb_mysql
  3. 人工智能引擎(AI引擎):提供智能语音、图像、文本等多种人工智能能力,帮助开发者构建智能应用。了解更多:https://cloud.tencent.com/product/tai
  4. 云存储(COS):提供安全、稳定、低成本的云存储服务,支持海量数据存储和访问。了解更多:https://cloud.tencent.com/product/cos

请注意,以上链接仅供参考,具体产品选择需根据实际需求进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java9迁移注意事项

requires java.base mandated opens sun.misc opens sun.reflect 删除 java9删除了sun.misc.BASE64Encoder,这种情况只能改用其他...模块版本管理 module-info.java不支持声明版本号,但是创建jar时候,可以通过—module-version设置。...不过模块系统查找模块时候还是使用模块名来查找(如果module-path里头有多个重名模块,则模块系统知会使用找到第一个,自动忽略后续同名模块),版本依赖问题不在模块系统解决范畴内,交由maven...通过IDE或者jdeps分析 jdeps --class-path 'classes/lib/*' -recursive -summary app.jar jdeps只是静态代码分析,如果有使用反射用...jdeps分析不出来,需要自己手工requires,如果dependency是optional,可以requires static 对模块单元测试可读性问题 如果单元测试时单独模块的话,可以在运行时通过

1.4K10

Linux系统下如何优雅地关闭Java进程?

所以需要让后台Java进程在被杀时候得到通知,这样就能安排好进程“后事”。 Java中要得到kill信号通知,需要继承自“SignalHandler”。...Signal arg0){ // TODO Auto-generated method stub beKilling =true; } } 说明: (1)需要引用sun.misc...两个:Signal和SignalHandler; (2)添加一个变量bKilling用于标识该进程是否正在被杀,如果是,则跳出循环不在接收Kafka消息; (3)一般接收“kill -15”信号。...在eclipse开发环境中,引用sun.misc会报找不到问题,其实该包在rt.jar包中。需要配置一下IDE,忽略掉Signal相关错误和警告,如下图所示: ?...…running ......TERM is recevied.running ......[1]+ Done nohup java -jar Test.jar

5.4K20
  • JDK19都出来了~是时候梳理清楚JDK各个版本特性了【JDK9特性讲解】

    JDK和JRE目录变化   然后我们来看看JDK和JRE在JDK8和JDK9差异 目录作用介绍: bin 包含命令行开发和调试工具 如javac jar javadoc include 包含编译本地代码时使用...c/c++头部文件 lib 包含JDK工具几个jar和其他类型文件,他有一个tools.jar文件,其中含javac编译器java jre/bin目录 包含基本指令,如java指令,在windows...平台上,它包含系统运行时动态链接 jre/lib包含用户可编辑配置文件,如properties和.policy文件,包含几个jar文件,rt.jar文件包含运行时java和资源文件 目录介绍...: bin 包含所有指令,在windows平台上,他继续包含系统运行时动态链接 conf目录 包含用户可编辑配置文件,例如之前位于jre/lib目录中.properties和policy includes...包含在以前编译本地代码时使用c/c++头文件,他只存在于JDK中 jmods 包含JMOD格式平台模块,创建自定义运行时映像需要他,它只存在于jdk中 legal 法律声明 lib 包含非windows

    1.7K40

    Salesforce 如何用一年时间大规模迁移到 OpenJDK 11

    ,用于支持加载包含扩展或可选软件包 JAR 文件)移除。...Java 9 开始将这些 API 分离到它们各自模块中,这些模块被注解为不推荐使用,以便删除,这表明了在将来版本中会删除它们意图。这些模块包含运行时镜像中,但默认情况下未启用。...从 Java11 开始,这些模块不再包含运行时中(参见 JEP 320:删除 Java EE 和 CORBA 模块)。...如果你忽略团队为升级 PowerMock 而修改 2700 多个 Java 测试时间,那么大部分工作都是相当简单。...支持多版本加载器会从多版本 JAR 文件中自动加载适当(即,那些与 Java 运行时 JDK 版本相匹配)。

    75520

    老表:Java8尽管很香,你想过升级到Java11吗?会踩那些坑?

    非嵌套宿主是它本身。 public Class getNestHost() // 判断该类是否是某个嵌套 public boolean isNestmateOf(Class c) // 返回某个嵌套数组。第 1 个固定是宿主,之后是该宿主嵌套成员,但不保证顺序,同时也会包含自身 public boolean isNestmateOf(Class<?...历史项目如果只是维护的话,干脆就放着运行不要动好了,等哪天决定重构了再考虑升级到Java11。...因为最大问题不是自己公司开发Code不能迁移到高版本,而是项目中引入第三方Jar,这个东西搞起来十分头疼。 JDK升级分析工具 升级最担心就是被删除模块!.../java11/RootReport.html 查看帮助命令: java -jar binaryAppScanner.jar Root.war --help --all ? 报告结果如下: ? ?

    1.5K10

    面试官问我Java8~14有哪些重要新特性,我哭了~~~

    Java 应用可以通过新增 jlink 工具,创建出只包含所依赖 JDK 模块自定义运行时镜像。这样可以极大减少 Java 运行时环境大小。...工件格式可以是传统 JAR 文件或是 Java 9 新增 JMOD 文件。 Jshell jshell 是 Java 9 新增一个实用工具。...反应式流 ( Reactive Streams ) 在 Java9 中 java.util.concurrent.Flow 中新增了反应式流规范核心接口 Flow 中包含了 Flow.Publisher...应用程序数据共享 在 Java 5 中就已经引入了数据共享机制 (Class Data Sharing,简称 CDS),允许将一组预处理为共享归档文件,以便在运行时能够进行内存映射以减少 Java...Java11 Java11 于 2018 年 9 月 25 日正式发布,这是很重要一个版本!

    65510

    Error: JavaFX runtime components are missing, and are required to run this application with Gradle e

    通过运行 gradle jar (或 gradle build) ,实际上应该生成一个 jar,其中应该包含所有构建它包,即整个 javafx 库。.../libs/MyImage.jar Java-jar build/libs/MyImage.jar it still throws the error: 它仍然会抛出错误: Error: JavaFX...runtime components are missing, and are required to run this application 错误: JavaFX 运行时组件丢失,并且需要运行此应用程序...If you’re using plain old JARs then you’ll get the error 在 java11中,Java 启动器检测到您正在扩展 javafx.application...如果您使用是普通旧罐子,那么您将得到错误 Error: JavaFX runtime components are missing, and are required to run this application

    1.5K10

    再见Java8!万字总结Java 9~15新特性!真香

    Java 应用可以通过新增 jlink 工具,创建出只包含所依赖 JDK 模块自定义运行时镜像。这样可以极大减少 Java 运行时环境大小。...工件格式可以是传统 JAR 文件或是 Java 9 新增 JMOD 文件。...应用程序数据共享(扩展 CDS 功能) 在 Java 5 中就已经引入了数据共享机制 (Class Data Sharing,简称 CDS),允许将一组预处理为共享归档文件,以便在运行时能够进行内存映射以减少...Java11 Java11 于 2018 年 9 月 25 日正式发布,这是很重要一个版本!...隐藏(Hidden Classes) 隐藏是为框架(frameworks)所设计,隐藏不能直接被其他字节码使用,只能在运行时生成并通过反射间接使用它们。

    74340

    ApacheCN Java 译文集 20211012 更新

    遵守被广泛认可命名约定 69. 只针对异常情况下才使用异常 70. 对可恢复情况使用受检异常,对编程错误使用运行时异常 71. 避免不必要使用受检异常 72. 优先使用标准异常 73....抛出与抽象对应异常 74. 每个方法抛出异常都需要创建文档 75. 在细节消息中包含失败一捕获信息 76. 保持失败原子性 77. 不要忽略异常 78. 同步访问共享可变数据 79....文档应包含线程安全属性 83. 明智审慎使用延迟初始化 84. 不要依赖线程调度器 85. 优先选择 Java 序列化替代方案 86. 非常谨慎地实现 Serializable 87....六、了解有关数组所有信息 七、了解 Java11日期和构造器 八、super和this关键字和异常在 Java 中重要性 九、理解集合框架 十、final关键字、包和修饰符重要性 Java9...标准测试 四、使用高级 JUnit 特性简化测试 五、JUnit5 与外部框架集成 六、从需求到测试用例 七、测试管理 Java 测试驱动开发 零、前言 一、为什么我应该关心测试驱动开发?

    2.5K10

    OpenFaaS实战之七:java11模板解析

    -1.0/function-1.0.jar:/home/app/function-1.0/lib/*" # 启动微服务命令 ENV fprocess="java -XX:+UseContainerSupport...,接下来就来研究这个com.openfaas.entrypoint.App; 打开文件template/java11/function/build.gradle,看到依赖关系如下图,红框中库应该就是.../tree/master/java11 打开App.java文件后,一切谜底都被揭开了,这个java11模板源码还真是简单呀,先看入口main方法: public static void main(...定义,这个主要功能就是接收web请求数据,加工成IRequest实例,丢给IHandler实例去处理,处理完成后包装http响应,核心代码片段如下: // 把request内容封装到IRequest...,如下图,一些都清楚了,咱们开发函数时,编写业务功能都在Handler.java中,而Handler是AbstractHandler实现,于是下图红框1中就会找到Handler,红框2可以返回Handler

    61300

    JDK8升级JDK11最全实践干货来了

    Tech 导读 截至目前(2023年),Java8发布至今已有9年,2018年9月25日,Oracle发布了Java11,这是Java8之后首个LTS版本。...订单依赖产品,通过模块化限制,订单只能使用产品中明确对外暴露,这样就避免传统模式订单.jar可能依赖了产品.jar中普通导致代码腐化问题,也降低后续领域服务拆分复杂度。...4)安全 在JVM最深层次上执行强封装,减少Java运行时攻击面,同时无法获得对敏感内部类反射访问。...对外是可访问,包括直接引入和反射使用 exports com.jdt.a.person; // 只能被反射调用,用于指定某个包下所有的 public 都只能在运行时可被别的模块进行反射...2)拆包问题(模块隔离) 模块化约束:jdk9以上,使用模块化时不支持拆分包形式依赖。 拆分包意味着两个模块包含相同包,Java模块系统不允许拆分包。

    1K20

    OpenFaaS实战之七:java11模板解析

    目录下是该模板全部文件: [root@node1 template]# tree java11 java11 ├── build.gradle ├── Dockerfile ├── function...-1.0/function-1.0.jar:/home/app/function-1.0/lib/*" # 启动微服务命令 ENV fprocess="java -XX:+UseContainerSupport...com.openfaas.entrypoint.App; 打开文件template/java11/function/build.gradle,看到依赖关系如下图,红框中库应该就是com.openfaas.entrypoint.App...定义,这个主要功能就是接收web请求数据,加工成IRequest实例,丢给IHandler实例去处理,处理完成后包装http响应,核心代码片段如下: // 把request内容封装到IRequest...,如下图,一些都清楚了,咱们开发函数时,编写业务功能都在Handler.java中,而Handler是AbstractHandler实现,于是下图红框1中就会找到Handler,红框2可以返回Handler

    60010

    Java-直接内存 DirectMemory 详解

    直接内存(Direct Memory)并不是虚拟机运行时数据区一部分,也不是《Java虚拟机规范》中定义内存区域。...首先,回答为什么需要 Buffer 。...Unsafe 是位于 sun.misc 包下一个,主要提供一些用于执行低级别、不安全操作方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升 Java 运行效率、增强 Java 语言底层资源操作能力方面起到了很大作用...ByteBuffer 和其他 Buffer 对比  在 rt.jar java.nio 包下还有很多其他类型 Buffer ,比如 CharBuffer、IntBuffer 等等(每个基本类型...但是唯独只有 ByteBuffer 提供了输入参数为其他基本类型 put 方法,这是为什么呢?  这涉及了 Java 中整型基本类型存储位数都是字节二进制位数整数倍,如下表所示。 ?

    14.8K20

    再见了Java8,Java17:我要取代你

    此前,Java 之父高斯林曾经发文表示可以尝试升级到 JDK17,因为JDK17是一个比 Java8 更好版本,发文如下: 简单翻译下就是: “对于那些仍然坚持使用 JDK8 的人,有一个包含所有最新更新和...那为什么是Java17呢? 首先,Java17是继Java8和Java11之后最新一个长期支持版本,意味着后续Oracle将对Java17进行长期支持(8年)!!...我们看Java8和Java11,从名字上感觉过了很长,时间上中间只过了三年,非LTS版本只有六个月支持,作为新一个LTSJava11,大家似乎并没有那么快适应要去升级!...、二进制字面量、异常处理增强 4024 8 2014 Lambda表达式、包含默认方法接口、流和日期/时间库 4240 9 2017 模块、其他语言和库增强 6005 11 2018 局部变量类型推导...小伙伴们留言说说你为什么需要这本书,松哥会从留言小伙伴中选出六位幸运小伙伴,《Java核心技术·卷I》包邮到家! 点击阅读全文购买

    6.6K20
    领券