1.java与c++程序在编译和运行上有什么区别?
java程序经过编译后生成的是中间的字节码文件,这些字节码文件放在jvm中运行。
c++程序编译后,是把源码直接编译成计算机可以识别的机器码,例如dll、exe文件。
2、什么是jvm及其工作原理?
JVM(java virtual machine)是一种软件模拟出来的计算机,用来执行java程序,是java跨平台特性的基础。具有一些想象中的硬件,如处理器、寄存器等,还有相应的指令系统。
3.java程序为什么无需delete语句进行内存回收?
因为java具有自己独有的垃圾回收机制。GC(garbage collection)。
java的堆内存数据的释放是由垃圾回收器自动进行的,无需程序员显示的调用delete方法。该机制有效的避免了因忘记释放内存而造成内存溢出的错误,相比c++等需要显示的释放内存的语言来说,是一种巨大的改进。