你通过java的编译和解释过程不就能了解了么 编译成class 术语说是 byte-code 其实就是一种被jvm所能够接受的编码标准 通过jvm java能调用一些底层的库 比如windows 以及 liunx ,unix等而java 程序在编写的时候则不用考虑这些细节 包括内存实现 以及指针等问题 而c,c++ 是要考虑的 包括如何调用底层的库以及和平台有关的服务等 可以说是java把c,c++中的一部分分离出来编写成一个jvm 只有这样才能去掉指针以及实现内存回收机制等。