canglongbeta
本帖最后由 canglongbeta 于 2020-9-5 20:39 编辑

为什么Forge只支持java8而Fabric却支持更高版本的Java?
有没有办法让Forge通过Java 14运行?
不同版本Java运行mc有什么区别?是高版本Java流畅一点还是什么?
不同版本Java能兼容吗?Java JRE和JDK有啥区别?玩mc又要安装哪个?(本人原来装的是Java 8,结果发现还有Java 14,Java11等等,Java还分为JRE和JDK啥的,然后不懂,于是就来问答版了)
👴加粒了,gkd,回答我

squid233
(以下内容可能会有错误)
forge用到了部分在java8以上移除的功能
新版本可以
基本没有 新版本可能会更流畅
基本向下兼容 jre即java runtime environment(java运行时环境) jdk即java development kit(java开发工具包) 一般玩mc用jre即可 开发者才需要用jdk

canglongbeta
squid233 发表于 2020-9-5 21:04
(以下内容可能会有错误)
forge用到了部分在java8以上移除的功能
新版本可以

新版本可以指的是?

squid233
canglongbeta 发表于 2020-9-5 21:06
新版本可以指的是?

新版forge可以用java14

canglongbeta
squid233 发表于 2020-9-5 21:07
新版forge可以用java14

是指新版本mc的forge还是各个mc版本的最新forge都可以

squid233
canglongbeta 发表于 2020-9-5 21:08
是指新版本mc的forge还是各个mc版本的最新forge都可以

新版本mc的forge


旧版本连java14都还没出

canglongbeta
squid233 发表于 2020-9-5 21:10
新版本mc的forge


旧版本连java14都还没出

这……为啥旧版本的就不支持?具体到哪个版本Forge才能支持Java 14?而且1.12.2的Forge 2854是今年更新的,不行吗?还有,不同版本Java能同时存在嘛?

canglongbeta
squid233 发表于 2020-9-5 21:10
新版本mc的forge


旧版本连java14都还没出

回答一下

squid233
canglongbeta 发表于 2020-9-5 21:14
这……为啥旧版本的就不支持?具体到哪个版本Forge才能支持Java 14?而且1.12.2的Forge 2854是今年更新的 ...

基本上3月之后的版本就支持了(
不同版本java能同时存在

canglongbeta
squid233 发表于 2020-9-5 21:18
基本上3月之后的版本就支持了(
不同版本java能同时存在

之前有人说使用OpenJDK 9后mc就会很流畅,这又是怎么回事吖

canglongbeta
squid233 发表于 2020-9-5 21:18
基本上3月之后的版本就支持了(
不同版本java能同时存在

这个openj9 vm是啥?还有java在这里下载嘛?https://www.oracle.com/java/technologies/javase-downloads.html

squid233
canglongbeta 发表于 2020-9-5 21:23
这个openj9 vm是啥?还有java在这里下载嘛?https://www.oracle.com/java/technologies/javase-downloads ...

openj9官方介绍:https://www.eclipse.org/openj9/
是的

canglongbeta

这个Open 9能不能与Java 8以及Java 14兼容?能不能用于1.7.10的Forge?还有,它对应什么版本的Java?

squid233
canglongbeta 发表于 2020-9-5 21:28
这个Open 9能不能与Java 8以及Java 14兼容?能不能用于1.7.10的Forge?还有,它对应什么版本的Java? ...

openj9要在下载openjdk时选择 https://adoptopenjdk.net/release ... p;jvmVariant=openj9

MandateOfRock
B站上面有UP主测试Java14的FPS稳定性比Java8好(但是差不了多少,主要还要靠优化mod
部分mod可能不兼容java14,建议用Java8求稳
不同版本的Java完全可以兼容,像HMCL,PCL2都可以自己选哪个Java启动
JRE就只有基本运行环境,JDK是运行环境+开发工具,普通玩家玩MC下载JRE就行了
(貌似新版的forge不兼容openJVM9了,只能用HotSpot类型的JVM启动
还有,openj9与1.7.10有兼容性问题,不建议使用,这里有全部版本的openjdk|JRE下载https://d2.injdk.cn/jre.html

洞穴夜莺
本帖最后由 洞穴夜莺 于 2020-9-5 22:17 编辑

Java是一系列标准,所有符合此标准的程序都可以称为JRE, JDK, JVM(因此不止一家,常见的有OpenJDK和Oracle JDK)
符合Java语言标准的程序称为Java程序
高版本Java确实更加流畅
Java 14是最新版Java
Java 11是最新长期支持版Java
Java版本从低版本到高版本大部分时候兼容
JRE是Java运行时环境,只有运行Java程序的工具链
JDK是Java开发包,拥有运行、调试和编写Java程序的工具链
JVM是Java虚拟机,是JRE的一部分
Hotspot和OpenJ9是JVM的两个不同实现,一般来说,对于Minecraft,Hotspot性能更优(其实还有很多其他实现,例如GraalVM性能比前面俩都好)
高版本Minecraft支持Forge Java14

xd:
canglongbeta 发表于 2020-9-5 21:19
之前有人说使用OpenJDK 9后mc就会很流畅,这又是怎么回事吖

那是open j9 不是openjdk9 这不是一个东西。

canglongbeta
洞穴夜莺 发表于 2020-9-5 22:08
Java是一系列标准,所有符合此标准的程序都可以称为JRE, JDK, JVM(因此不止一家,常见的有OpenJDK和Orac ...

什么叫长期支持版Java?

洞穴夜莺
canglongbeta 发表于 2020-9-6 06:00
什么叫长期支持版Java?

长期支持版是指这个版本的Java会长期更新
这就是说如果Java 13发布已半年,就不会再修作为非长期支持版的Java 12的bug了,而长期支持版的Java 11如果发现有bug则会发布小数点版本修复

canglongbeta
洞穴夜莺 发表于 2020-9-6 08:07
长期支持版是指这个版本的Java会长期更新
这就是说如果Java 13发布已半年,就不会再修作为非长期支持版的 ...

JVM怎么安装呢?下载zip还是msi

洞穴夜莺
本帖最后由 洞穴夜莺 于 2020-9-6 08:53 编辑
canglongbeta 发表于 2020-9-6 08:48
JVM怎么安装呢?下载zip还是msi

JVM没法单独安装
它必须作为JRE、JDK或者别的什么东西的组成部分,无法独立存在
就像资源管理器没法独立于Windows存在

洞穴夜莺
canglongbeta 发表于 2020-9-5 21:28
这个Open 9能不能与Java 8以及Java 14兼容?能不能用于1.7.10的Forge?还有,它对应什么版本的Java? ...

OpenJ9是指一种JVM实现
而Java 8等是指一种Java语言标准,二者没啥关系,所以Java 8/Java 9/Java 10/Java 11/Java 12/Java 13/Java 14可以和Hotspot/OpenJ9/GraalVM任意组合

轩辕Shi
第一个问题你要问forge开发人员。
在高版本可以使用java14.
从1.15.2开始,会比较流畅,相较之前的版本来说,因为这个版本优化了算法。
不同版本的java一些语法不动,所以有可能会不兼容。
jre指的是java运行环境,你想玩游戏,下载这个就行了。
jdk是给软件开发者使用的,你暂时不需要用到jdk。
只想玩游戏就用jre,想自己写java程序,必须下载jdk。

轩辕Shi
canglongbeta 发表于 2020-9-5 21:28
这个Open 9能不能与Java 8以及Java 14兼容?能不能用于1.7.10的Forge?还有,它对应什么版本的Java? ...

open9只兼容1.12.2