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

JDK 升级问题小结

JDK8 发布很久了,它提供了许多吸引人的新特性,能够提高编程效率。 如果是新的项目,使用 JDK8 当然是最好的选择。...但是,对于一些老的项目,升级JDK8 则存在一些兼容性问题,是否升级需要酌情考虑。 近期,我在工作中遇到一个任务,将部门所有项目的 JDK 版本升级到 1.8 (老版本大多是 1.6)。...使用了这些 API 的程序如果要升级JDK 1.8 需要寻求替代方案。 虽然,也可以自己导入包含 sun.* 接口 jar 包到 classpath 目录,但这不是一个好的做法。....* ,可以参考官方文档:Why Developers Should Not Write Programs That Call 'sun' Packages 默认安全策略修改 升级后估计有些小伙伴在使用不安全算法时可能会发生错误...查找组件用到了 mvel,mvel 为了提高效率进行了字节码优化,正好碰上 JDK8 死穴,所以需要升级

1.9K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    生产升级JDK 17 必读手册

    根据发布的规划,这次发布的 JDK 17 是一个长期维护的版本(LTS)。...JDK 17 包括新的语言增强、库更新、对新 Apple (Mx CPU)计算机的支持、旧功能的删除和弃用,并努力确保今天编写的 Java 代码在未来的 JDK 版本中继续工作而不会发生变化。...新管道将减少 JDK 对已弃用的 Apple OpenGL API 的依赖。...作为可选,它们已经从 JDK 16 中删除。这个 JEP 从 JDK 源代码中删除了这些组件。JEP 411:弃用安全管理器以进行删除安全管理器可以追溯到 Java 1.0。...JEP 412:外部函数和内存api (第一轮孵化)改进了 JDK 14 和 JDK 15 中引入的孵化 API,使 Java 程序能够与 Java 运行时之外的代码和数据进行互操作。

    40510

    是时候考虑升级 JDK 17 了

    开发者关心的功能升级 下面我们看一下 JDK 从 8 升级到 17 的过程中,有哪些另开发者心动的功能呢?...HTTP Client(JDK11) java.net.http 包中的 HttpClient 最初在 JDK 9 中提供,后来在 JDK 10 升级,在 JDK 11 终于稳定成为标准功能,同时支持...结语 开发环境方面,JDK 升级已经是大趋势,Tomcat 10.1 已经支持 Jarkata EE,Hibernate ORM 6.1 也要求 JDK 11+。...而升级 JDK 还有可能引入新的安全问题。 因此,对开发人员来说,我们建议尽早切换至 JDK 17,尝试新的语言特性,提升自己的技能。...随着技术的发展,越来越多的框架的新版本都会陆续支持新版的 JDK,企业肯定会慢慢的融入升级的大军之中。

    73510

    是时候考虑升级 JDK 17 了

    还在用 JDK 8 吗?Spring 已经推荐使用 JDK 17,是时候考虑升级了。 Spring,作为 Java EE 的事实规范,在2022年11月16日发布了最新的 6.0.0 GA 版本。...开发者关心的功能升级 下面我们看一下 JDK 从 8 升级到 17 的过程中,有哪些另开发者心动的功能呢?...HTTP Client(JDK11) java.net.http 包中的 HttpClient 最初在 JDK 9 中提供,后来在 JDK 10 升级,在 JDK 11 终于稳定成为标准功能,同时支持...而升级 JDK 还有可能引入新的安全问题。 因此,对开发人员来说,我们建议尽早切换至 JDK 17,尝试新的语言特性,提升自己的技能。...随着技术的发展,越来越多的框架的新版本都会陆续支持新版的 JDK,企业肯定会慢慢的融入升级的大军之中。

    1.1K50

    JDK8升级JDK11经验总结

    在这篇文章中,我们将深入探讨从JDK 8升级JDK 11的过程,揭示升级的重要性以及带来的诸多益处。...为何要升级jdk11 升级 JDK 8 到 JDK 11 具有许多好处,这些方面涵盖了新特性、性能优化、安全性增强以及生态系统的健康。...升级前的准备 升级前应该检查项目的依赖关系,在项目中寻找到可能出现依赖版本老旧,依赖冲突,依赖不支持JDK11版本等问题。...升级过程 • 首先在环境上安装对应的JDK版本,通过测试类测试JDK11是否可运行 • 使用代码检查工具检测要升级的项目版本是否存在代码层面的错误(例如 :jdeps等) • 检查项目依赖部分内容,在jdk11...打包问题、Spring启动问题等 本方案为jdk8升级jdk11.0.2 以下是我遇到的问题以及解决方案 项目启动dubbo引用失败 jdl8升级jdk11 Dubbo所依赖的Spring所使用的javassist

    73520

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

    京东技术公众号发布过文章JDK8升级JDK11的最全实践,相信读者阅读后已经对JDK11有了比较深入的了解。...2021年9月14日,Oracle发布了可以长期支持的JDK17版本,那么从JDK11到JDK17,到底带来了哪些特性呢?亚毫秒级的ZGC效果到底怎么样呢?值得我们升级吗?...而且升级过程会遇到哪些问题呢?带着这些问题,本篇文章将带来完整的JDK11升级JDK17最全实践。...推荐先升级JDK11,再到JDK17,一边升级一边进行验证观察 2. 观察日志是否有异常,特别是上面说到的启动时异常 3. 观察监控类软件,比如SGM、UMP等监控是否正常 4....如果还停留在JDK8,推荐先升级JDK11,再到JDK17,具体升级步骤先参考上篇文章“JDK8升级JDK11最全实践干货来了”,再参考本章中的升级步骤。

    1.5K10

    定制化JDK升级引发的离奇事件

    1、背景 由于Oracle对外宣称Oracle JDK停止免费用于商用。公司法务部门评估之后担心后续会惹上光司,于是就开始了JDK升级-将所有服务Oracle修改为OpenJDK。...上周开始微服务JDK升级原本只不过是一个基础组件的升级,由于没有涉及业务代码的变更觉得问题不大。但怎么也想不到开始升级之后便陆陆续续出现服务不断重启的异常想象。这到底是咋了?...本次升级除了更新基础JDK镜像,既没有业务代码的变更也没有修改配置,到底是什么原因导致的呢?...到这个时候,距离升级已经过去2小时了。于是打开业务jvm的heap和gc次数监控看板,发现full gc还是比较规律的,没有明细的异常信息。 此时距离升级已经过去将近3小时了。...4、根因定位  虽然定位到是OOM原因导致的,但是为什么升级JDK就导致OOM呢? 经过jinfo命令查看JVM启动参数终于发现根本原因。

    38120

    我们是否需要升级JDK8?

    JDK8发布至今已经很久了,很多开发人员,公司都还是使用的JDK6或者JDK7,看到很多人的评论,那么我们到底要不要升级JDK8呢?...- - 很多人都是使用的老版本JDK,你关闭了,也太急躁了吧,JDK8是新,但是实在是不兼容啊,很多项目升级JDK8之后会因为JDK8内部的一些实现造成不兼容,然后这些项目又不得不回退到原始版本,于是这些公司的员工甚至架构师就开始骂街了...大,同时维护两个版本是很吃力的,就行app接口有多个版本的接口需要维护,是同样的道理;二来可以让用户直接升级JDK8,虽然如此,大部分的开发人员以及企业的意向还是不愿意升级 很多时候很多企业没有升级的动力和需求...除非开发人员有话语权的公司或者领导哪天被人吹风说JDK爆出新漏洞什么的…估计你就要加班升级了。...所以网络上会分为两派: 一派是坚持JDK6和7的,坚决不升级,一升级项目就必须重构,重新开发项目也需要时间成本 一派是兼职JDK8的,原项目作为老版本,公司财大气粗,再开发新版本的升级项目使用JDK8

    1.1K70

    不用担心JDK17收费了,推出 JDK 8 的升级替代品

    18日,官方宣布推出Java SE Subscription Enterprise Performance Pack (Enterprise Performance Pack),并宣称该企业级性能包为JDK...8用户提供了在JDK 8和JDK 17发布之间的7年间为Java带来的显著的内存管理和性能改进。...使用企业性能包的客户将在运行于接近内存或CPU容量的JDK 8工作负载上立即看到好处。在Oracle自己的产品和云服务上进行的测试显示,高负载应用程序的内存和性能都提高了约40%。...即使JDK 8应用程序没有在接近容量的情况下运行,也可以看到高达5%的性能改进。 虽然企业性能包中包含的许多改进可以通过默认选项获得,但我们建议研究文档以最大化性能并最小化内存使用。

    1.3K10

    JDK8升级JDK11,看这篇就足够了

    OpenJDK已可以作为新的线上标准JDK 在2018.9之前,Oracle JDK是大家普遍运用于线上的JDK,OpenJDK的特性并不完全,并且Oracle JDK号称做了很多优化。...更新好开发环境以及编译环境 各种常用工具,建议升级到如下版本以后: IntelliJ IDEA: 2018.2 Eclipse: Photon 4.9RC2 with Java 11 plugin Maven...如果你依赖的库有处理字节码相关的库,应该注意下版本升级,例如: 对于直接操作字节码的库,如果你升级JDK,那么最好也跟着升级这些库:ASM (7.0), Byte Buddy (1.9.0), cglib...3.2.8), or Javassist (3.23.1-GA).这些版本是OpenJDK11适用的版本 如果你使用的库依赖了上面提到的操作字节码的库,那么也需要注意下版本依赖,看依赖的操作字节码的库是否升级到了上面提到的版本...Spring Cloud Finchley的不兼容问题与解决: https://blog.csdn.net/zhxdick/article/details/102314886 Lombok编译异常: 升级

    4.7K20

    JDK 8升级JDK 17踩坑全过程,建议收藏!

    最近在做 Java8 到 Java17 的迁移工作,前期做了一些准备,但是在升级过程还是有些问题,太emo了,一些信息记录如下,分为几个部分: 编译相关 参数迁移相关 运行相关 前人栽树后人乘凉,有需要升级的可以参考一下...to unnamed module 如果你的项目中使用 lombok,而且是低版本的话,就会出现,lombok 的原理是在编译期做一些手脚,用到了 com.sun.tools.javac 下的文件,升级到最新版可以解决...Supported versions: 1.6, 1.8 Kotlin 在 1.6.0 版本开始支持 Java17 的字节码,低于 1.6.0 的编译会直接报错 废弃依赖分析 可以用jdeps --jdk-internals...--multi-release 17 --class-path . encloud-api.jar 来做项目的依赖分析 图片 这样你就可以知道哪些库需要做升级了。...=ALL-UNNAMED --add-opens java.base/jdk.internal.misc=ALL-UNNAMED 关于 GC 算法的选择 CMS正式退出历史舞台,G1 正式接棒,ZGC

    12.7K53

    JDK版本升级后连不上MySQL数据库的问题

    问题描述 用户在将 JDK 版本从 8 升级到 11 后,发现应用无法连接到 MySQL 数据库,出现连接超时或连接被拒绝的错误。...SSL/TLS配置变更: JDK 11 的 SSL/TLS 配置可能与旧版本不同。 加密算法更新: JDK 11 可能不再支持某些加密算法。...解决方案演示 2.1 更新MySQL JDBC驱动 问题:在JDK版本升级后,应用无法连接到MySQL数据库 原因分析:旧版本的MySQL JDBC驱动可能不兼容新的JDK 11 解决方案:用户从MySQL...解决方案:用户调整了连接参数中的网络协议,确保与JDK 11要求相匹配。 3. 结果 通过以上调整和更新操作,用户成功地解决了JDK版本升级后无法连接到MySQL数据库的问题。...这些措施表明,及时更新JDBC驱动、调整SSL/TLS配置、更新加密算法配置以及调整网络协议等方式,是解决JDK版本升级导致无法连接到MySQL数据库的有效措施,保障了系统平稳过渡和数据库连接的正常运行

    20110

    JDK 从老版本升级到 1.8的问题总结

    JDK8 升级常见问题 JDK8 发布很久了,它提供了许多吸引人的新特性,能够提高编程效率。 如果是新的项目,使用 JDK8 当然是最好的选择。...但是,对于一些老的项目,升级JDK8 则存在一些兼容性问题,是否升级需要酌情考虑。 近期,我在工作中遇到一个任务,将部门所有项目的 JDK 版本升级到 1.8 (老版本大多是 1.6)。...使用了这些 API 的程序如果要升级JDK 1.8 需要寻求替代方案。 虽然,也可以自己导入包含 sun.* 接口 jar 包到 classpath 目录,但这不是一个好的做法。....* ,可以参考官方文档:Why Developers Should Not Write Programs That Call 'sun' Packages 默认安全策略修改 升级后估计有些小伙伴在使用不安全算法时可能会发生错误...死穴,所以需要升级

    3.4K10
    领券