0

是什么妨碍了人们升级到Java 8以上版本? - Reddit

 1 year ago
source link: https://www.jdon.com/60468
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

是什么妨碍了人们升级到Java 8以上版本?
什么阻止了人们将Java 8升级到更高版本?

回答:
1、是穿西装的白痴,然后还问为什么要让开发人员流血?
西装革履的白痴是生产力和进步的最大障碍。

2、我们通过使用不易受攻击的旧版本来避免 log4shell。

3、我的个人项目使用 Java 17。
在工作中,我们在去年使用 1.6 之后才设法迁移到 Java 8。
一些项目仍处于 Java 1.4

4、因为升级Java版本总是会破坏某处的东西并且找到/修复这些东西是一项乏味且吃力不讨好的工作。
在管理层的眼中,狗屎本来一直在起作用,但是你把它弄坏了。修复你破坏的东西根本不会得到奖励。

5、我们前段时间从 8 迁移到 11,但遇到了很多问题:

  • - Spark 2.4 不支持 Java 11,Spark 3 当时没有发布日期。为了对 Java 11 支持进行更新,我们必须维护自己的 Spark 分支fork。
  • - 在运行时解析 Java 版本号的各种库无法处理新版本格式,并且会在启动时崩溃。特别是我记得在使用 HBase 客户端时遇到过这个问题。在这些情况下,我们还必须维护自己的 fork 以支持 Java 11。
  • - 删除了 java.xml.ws、java.xml.bind、java.activation 等(连同 jakarta 开关,它造成了相当麻烦的依赖关系混乱)
  • - 我们看到各种应用程序的堆外内存使用量增加,导致超出 cgroup 限制(导致进程被终止)。我们最终全面突破内存限制只是为了掩盖这个问题

6、我们目前在 jdk 17 上遇到了同样的“生态系统尚未完全升级”的问题。相当令人沮丧

7、也有Windows XP/Vista 支持的问题。Java 8 是在这些系统上工作的最后一个版本,它是我过去的工作场所和我现在的工作场所所必需的。这些是客户端应用程序,一些客户尚未迁移到现代 Windows。

8、大量的旧代码单体。升级我们使用的技术堆栈中的任何内容都需要大量工作。它确实让我们避开了 log4j 安全问题的子弹,因为我们的版本太旧并且不再维护了 :)
“老得不能倒”

9、在 Oracle Weblogic 中运行我们的应用程序的客户端。只有最新版本的 Weblogic (14c) 支持 JDK 11。
是的,您没看错:Oracle 阻止我们升级到 Java 17。

10、对于我公司的一些项目,还在使用“Struts 1.1”。
哈哈,当新候选人或同事问我们是使用 spring 还是 quarkus 时,我总是最喜欢。
我说“Struts,但是 v1”。
有些人甚至点头,但你可以清楚地看到他们不知道它是什么,并担心他们错过了最新的东西。

11、使用spring-loaded进行热重载不支持 JDK 8 以外的任何内容。新的 spring-devtools 速度要慢得多。
JRebel 是另一种选择,但它们变得如此昂贵,甚至不再在其网站上列出价格。
可以尝试使用 DCEVM 的 JetBrains Runtime?https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr17.0.2b396.4
它应该需要传递-XX:+AllowEnhancedClassRedefinition标志

12、IBM WebSphere Application Server 9 传统版。它仅支持 Java 8。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK