这么流行的语言,我居然是在2025年才第一次接触(虽然还是不打算深入学习)
以前国内的各种培训班都是各种「几个月速成Java」的广告,让我对这门语言没什么好感,虽然从来没有用过
Java代码是需要编译的。
编译过程[AI]:当你写完一个 .java 源代码文件后,需要用 javac 编译器进行编译。编译的结果不是直接生成机器码(像 C/C++ 那样生成 .exe 或者 .o),而是生成 字节码文件(.class)。字节码是一种“中间语言”,它不是针对某个操作系统或硬件平台的,而是一种抽象的、通用的指令集。
执行过程[AI]:字节码本身不能直接在操作系统或 CPU 上运行,需要通过 Java 虚拟机(JVM)来解释或编译执行。运行机制大概如下:
JDK里面包含JVM(虚拟机)和开发工具。
JDK是开放标准,除了 Oracle 会发布一个版本以外,也会有其他的实现版本。
建议使用 SDKMAN 来管理不同的实现、不同的版本。
# 确认JDK安装成功和版本信息 java -version
Java的执行流程:Java Code → JAR → java -jar app.jar
JAR(实际上=ZIP?)是一种二进制文件(Java/Kotlin 字节码,二进制、资源文件等)。
JAR 里是 JVM 字节码,虽然是二进制,但还不是最终的机器码。
安卓也使用Java,但是没有JVM,可以直接运行Java的字节码?