有些给出的答案感觉欠妥: 1."程序员需要通过关键字new 为每个对象申请内存空间",对象空间的分配不一定是new出来的 2."所有的对象都在堆 (Heap)中分配空间",还有非堆空间和标量替换栈上分配 3.Java跨平台的核心不单单是Java虚拟机,还有字节码文件。 4."局部变量一旦超出作用域,立刻从栈内存消失",并不是这样,虚拟机栈是通过数组实现的,入栈和出栈相当于移动索引,逻辑上出栈了实际内存上并没有,只有当变量槽被重新覆盖的时候才相当于消失了。 5.凡是new出来的东西,都在堆中,和1一样。 6.本地方法栈相当于本地方法的虚拟机栈。 7.PC寄存器每个线程有一份,存放了当前线程的下一条字节码指令的地址 后面还有很多地方感觉都欠妥,就不一一列举了,希望楼主在给出答案的时候能思考一下正确性,很多在某些方面不清楚的人可能就会因此产生错误的认知。