Oracle JDK与OpenJDK对Java开发者来说有什么区别?
大家好!我是一名初学Java的开发者,有些困惑。当我在自己的电脑(Windows 10)上安装Java时,看到两个选项:Oracle JDK和OpenJDK。我通常从Oracle官网下载,但最近工作中要求使用OpenJDK。
我尝试在两个JDK上编写了一个简单的Java 11程序——运行起来似乎一样:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}但我注意到,编译时Oracle JDK会发出一些警告,而OpenJDK不会。我还听说Oracle JDK现在对商业使用收费。这是真的吗?还是只针对旧版本?
请告诉我:
- 它们之间真正的区别是什么?
- 学习和生产环境应该选择哪个JDK?
- 在OpenJDK上编写的代码能在Oracle JDK上运行吗,反之亦然?
- 有没有什么隐藏的