![]() | 1 afirefish OP 或者使用 OpenJDK ? |
2 niuroumian 2020-03-05 11:18:00 +08:00 via iPhone ![]() zulujdk |
![]() | 3 afirefish OP @niuroumian 请教一下,和使用 OracleJDK 有任何区别吗?我看官网的描述是提供高度一致性。 |
4 aaaafei 2020-03-05 11:32:39 +08:00 jdk9 都还没升。感觉 8 之后的 stream 就能很好的满足我了。不清楚后面有什么新的特性。 |
![]() | 5 luckyrayyy 2020-03-05 11:35:06 +08:00 我们有无关紧要的小项目用的是 11...上量的还都是 8 |
![]() | 6 hoichallenger 2020-03-05 11:35:47 +08:00 via Android 目前在用 adopt 的 11,还没出现过什么问题 |
![]() | 7 wupher 2020-03-05 11:42:41 +08:00 自用的是 11,单位生产用的还是 8。 貌似没有大问题。小的地方,有些额外的依赖类,需要手工添加在 pom 中。别的没大区别。 |
![]() | 8 xi_lin 2020-03-05 12:14:07 +08:00 OpenJDK 性能差些 |
9 hantsy 2020-03-05 12:22:48 +08:00 一直用 AdoptOpenJDK |
![]() | 10 pzhdfy 2020-03-05 12:28:19 +08:00 JDK8 开发,加上 JDK11 兼容的代码(主要是 direct Bytebuffer 的 cleaner ),使用 jdk11 运行,G1 并行 full gc 感觉不错 |
![]() | 13 Zoro76 2020-03-05 12:40:54 +08:00 还在用 jdk8 |
![]() | 14 Weixiao0725 2020-03-05 12:42:44 +08:00 ![]() 已经迁移到 Go 了。。 |
![]() | 15 laojin 2020-03-05 14:04:20 +08:00 OpenJDK 8 |
16 stlee 2020-03-05 14:27:47 +08:00 还在用 8 |
18 rogerus 2020-03-05 14:58:07 +08:00 主要的生产系统还是 8。 |
![]() | 19 wysnylc 2020-03-05 15:05:42 +08:00 ![]() 8888888888888888 |
![]() | 20 Oktfolio 2020-03-05 15:13:30 +08:00 自用 Corretto 11 |
![]() | 21 yjxjn 2020-03-05 15:23:05 +08:00 生产环境,1.8,部分老旧系统还在 1.6. 自己自学 Java 还在用 8,够了。 |
22 zzf2019 2020-03-05 15:28:25 +08:00 openjdk 有些 jre 包没有,会让一些类报错,这是我项目经历过的血的教训 |
![]() | 23 GlobalNPC 2020-03-05 15:29:08 +08:00 从 7 往 8 迁移中。。。WTF |
![]() | 24 rb6221 2020-03-05 15:30:26 +08:00 jdk 稳定的很,如果不是为了新技术兼容和团队喜欢追升级,没人去升吧 |
![]() | 25 xiaowei0823 2020-03-05 16:00:19 +08:00 openjdk version "1.8.0_242" OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode) |
26 ming7435 2020-03-05 16:32:38 +08:00 1.8 能用 1 万年 |
![]() | 27 passerbytiny 2020-03-05 16:42:36 +08:00 不需要调查,看下 spring boot 用得哪个就行了,目前的稳定版还是 8 : https://github.com/spring-projects/spring-boot/blob/2.2.x/spring-boot-project/spring-boot-parent/pom.xml master 的构建工具换 Gradle 了,这个我还不知道哪里看 java 版本。当然这也说明要准备从 Maven 切换 Gradle 了。 |
28 chenyu0532 2020-03-05 16:43:16 +08:00 偶数的不才是 LTS 么。。奇数的你们也用?? |
![]() | 29 nxforce 2020-03-05 16:51:08 +08:00 @chenyu0532 java11 也是 LTS 啊 |
30 beyondex 2020-03-05 16:56:18 +08:00 查了一下,JDK 8 是 2012 年发布的?反正 Java 是服务端语言,升级也不困难,为何还有这么多停留在 8 的? |
![]() | 31 geekvcn 2020-03-05 17:02:41 +08:00 @beyondex 首先 JAVA 不是服务端语言,什么端都能跑,你这点就有严重问题,其次,就算 JAVA 是服务端语言,就是因为是服务端,稳定第一,升级才需要做收益计算,如果升级不能带来收益,反而可能会导致不确定问题,鬼才升级,都是新项目用新版本,服务器上的老项目没人愿意动 |
![]() | 32 stevenkang 2020-03-05 17:58:43 +08:00 via Android 我司生产还在 1.6,准备今年升 1.8 |
33 huntcool001 2020-03-05 18:03:10 +08:00 JDK 11 G1 默认开启后性能会提升一些吧. 其他感觉没啥必要. |
34 vitoliu 2020-03-05 18:47:01 +08:00 JDK8 的调优做到了么?如果没做到,升了 11 线上 GC 出问题了你去踩坑噢? |
![]() | 35 yanyueio 2020-03-05 19:02:16 +08:00 via Android @zzf2019 和这位大佬一样,用 open jdk8,但很多 jre 类库没有,需要 maven 自己引入。生产开发都是 8,虽然我了解 9,11。不明白用 11 开发,用 8 部署的,新的 feature 旧的运行时环境怎么兼容的?如果没有用到新 feature 那倒不如直接选 8 呢? |
36 dbpe 2020-03-05 20:01:52 +08:00 j8 没调优...想升 j11 |
38 BLF2 2020-03-05 21:45:31 +08:00 用 11 开发,编译的时候可以使用 jdk8 标准编译,然后就可以在 jdk8 上运行了,我们旧系统环境是 jdk7,但开发都是用 jdk8,然后编译的时候选 jdk7,然后在 jdk7 上运行 |
![]() | 39 jelipo 2020-03-05 23:02:29 +08:00 Java8 使用 OracleJDK,Java11 使用 AdoptOpenJDK,试了一些情景,OpenJDK 反而慢一点 |
40 avalon0624 2020-03-05 23:21:40 +08:00 还在用 8, 一直是 OpenJDK |
![]() | 41 xuanbg 2020-03-06 00:04:41 +08:00 @beyondex 怎么就不困难了。。。全部项目都要升级新版本 JDK,还要处理不知道多少兼容性问题。费时费力没什么眼面前看得到的收益,没人愿意干。 怕的是哪个第三方库没有对应版本的话,那就真的是酸爽了。 |
42 orm 2020-03-06 00:49:08 +08:00 $ java -version openjdk version "11.0.6" 2020-01-14 LTS OpenJDK Runtime Environment Zulu11.37+17-CA (build 11.0.6+10-LTS) OpenJDK 64-Bit Server VM Zulu11.37+17-CA (build 11.0.6+10-LTS, mixed mode) |
43 lc7029 2020-03-06 02:24:19 +08:00 ![]() 生产仍然在用 1.4 路过。。。 |
![]() | 44 daveze 2020-03-06 08:20:35 +08:00 via iPhone 已升 11,生产用 openjdk,开发用 jdk。 |
![]() | 45 MakHoCheung 2020-03-06 09:18:53 +08:00 以后找下家公司薪资第二,是否用 java11 放第一 |
![]() | jdk8 战未来 |
47 leafre 2020-03-06 10:21:35 +08:00 JDK8 |
![]() | 48 nxforce 2020-03-06 10:46:55 +08:00 自用 jdk11,生产环境 8,不过有时候会对新旧版本语言特性产生混乱,所以今年需要把环境统一成 11 了。况且目前 java8->java11 的迁移,对于大部分中小规模的项目暂时还是无痛的,早日转总比等到 jdk8 结束支持再转好吧! |
![]() | 49 ZZSZZSZZS 2020-03-06 11:50:28 +08:00 via iPhone 自用 OpenJDK,用的 vs 里带的那个版本 |
50 Sendya 2020-03-06 12:44:56 +08:00 我司一个高量的对外 websocket 服务上了 jdk11 其他都还是 8 |
![]() | 54 janxin 2020-03-06 16:32:52 +08:00 6,不用谢 |
55 jingege 2020-03-06 16:58:41 +08:00 公司一般感觉都不太会升级吧。。。。因为也没有什么特别突出的特性让人有欲望升级的 现在已经在用 go 了 |
56 jimmyismagic 2020-03-06 19:11:28 +08:00 一直在用 8,之后的没学过,也不会用,哈哈 |
![]() | 57 zouqiang 2020-03-06 20:11:20 +08:00 openjdk 13 |
![]() | 58 DonaidTrump 2020-03-06 20:12:07 +08:00 Jetbrains,最新的 IDE 都是 openJDK11 |
59 jhsea3do 2020-03-07 01:11:03 +08:00 去年的项目要兼容 HPUX,AIX, 刚准备说 HPUX 最多支持到 JDK8, 结果翻了一下 HP 网页,居然发现对方来了一个飞跃性的突破... |
![]() | 61 pzhdfy 2020-03-07 14:03:56 +08:00 @BBCCBB 不是新方法 而是 clean 的方法变了 没有兼容的代码直接拿到 jdk11 上运行会有 bug private static Cleaner lookupCleanerJava9(MethodHandles.Lookup lookup) throws ReflectiveOperationException { Class<?> cleaner = Class.forName("java.lang.ref.Cleaner"); Class<?> cleanable = Class.forName("java.lang.ref.Cleaner$Cleanable"); MethodHandle create = lookup.findStatic(cleaner, "create", MethodType.methodType(cleaner)); Object theCleaner; try { theCleaner = create.invoke(); } catch (Throwable t) { throw new RuntimeException("Unable to create cleaner", t); } MethodHandle register = lookup.findVirtual( cleaner, "register", MethodType.methodType(cleanable, Object.class, Runnable.class) ).bindTo(theCleaner); MethodHandle clean = lookup.findVirtual(cleanable, "clean", MethodType.methodType(void.class)); return new CleanerImpl(register, clean); } private static Cleaner lookupCleanerJava8(MethodHandles.Lookup lookup) throws ReflectiveOperationException { Class<?> cleaner = Class.forName("sun.misc.Cleaner"); MethodHandle register = lookup.findStatic( cleaner, "create", MethodType.methodType(cleaner, Object.class, Runnable.class) ); MethodHandle clean = lookup.findVirtual(cleaner, "clean", MethodType.methodType(void.class)); return new CleanerImpl(register, clean); } |
![]() | 62 pzhdfy 2020-03-07 14:07:37 +08:00 另外个人观点 如果现状稳定 没有需求不建议老项目升级 风险较大 我们遇到的问题是我们进程的堆有 200G,是个计算和内存密集型程序,容易发生 full gc, 原来可能暂停几十秒,使用 jdk11 后并行 full gc 一般控制在 3s 内 |
![]() | 63 cheng6563 2020-03-07 22:27:49 +08:00 via Android 一直用的 centos 自带的 openjdk |
![]() | 64 deef 2020-03-08 11:06:55 +08:00 一直在用 JDK8, 感觉近几年要是没什么重要的问题应该都不会升了 |
![]() | 65 zzzmh 2020-03-09 11:10:14 +08:00 公司和自己都用 Openjdk8 感觉可以用到退休 |
![]() | 66 sunwei0325 2020-03-29 18:48:10 +08:00 新版任你发, 我用 java8 |