jvm在哪里加载编译好的java代码?

Posted

技术标签:

【中文标题】jvm在哪里加载编译好的java代码?【英文标题】:Where does the jvm load the compiled java code? 【发布时间】:2016-09-22 11:08:01 【问题描述】:

一个业务逻辑编译完成后,在我们的硬盘中生成了.class文件。我的疑问是,当我们执行编译后的代码时,它必须被加载到某个地方。那是什么地方?!

【问题讨论】:

你到底是什么意思? JVM将类文件加载到内存中,然后将字节码指令翻译成本地机器指令并执行。 内存是指内存吧? 【参考方案1】:

.class 文件包含硬件和操作系统的说明。 .class 文件在程序执行之前被加载到 JVM 内存 (RAM) 中并在那里进行处理。

Java 虚拟机执行的编译代码使用独立于硬件和操作系统的二进制格式表示,通常(但不一定)存储在文件中,称为类文件格式。类文件格式精确地定义了类或接口的表示,包括在特定平台的对象文件格式中可能被视为理所当然的字节顺序等细节。

取自:Chapter 2. The Structure of the Java Virtual Machine

【讨论】:

以上是关于jvm在哪里加载编译好的java代码?的主要内容,如果未能解决你的问题,请参考以下文章

JVM类加载机制一

[Interview]Java 面试宝典系列之 Java 虚拟机(JVM)

在cmd命令行窗口怎样把.java文件编译成.class文件?java文件和class文件内部代码长什么样?.class文件如果想要被JVM加载,要求是什么?

JVM入门——JVM内存结构

JVM学习笔记------Java代码编译和执行的整个过程

JVM类加载机制