如何运行一个Java程序?
- 在磁盘上创建一个.java文件;
- 写好代码以后,在编译器内输入“javac 文件名.java”进行编译,生成字节码(二进制)文件;
- 然后在编译器内输入“java 文件名”,新的字节码文件就会在Java虚拟机中运行。
这样,一个Java程序就可以运行了。
JVM、JRE、JDK三者的区别是什么?
答:JDK是Java开发工具;JRE是Java开发环境;JVM是Java虚拟机。三者的关系是:
JVM 内存区域划分
- 程序计数器 (PC Register): 只是一个很小的空间, 保存下一条执行的指令的地址.
- 虚拟机栈(JVM Stack): 重点是存储局部变量表(当然也有其他信息).
- 本地方法栈(Native Method Stack): 本地方法栈与虚拟机栈的作用类似,只不过保存的内容是Native方法的局部变量. 在有些版本的 JVM 实现中(例如HotSpot), 本地方法栈和虚拟机栈是一起的.
- 堆(Heap): JVM所管理的最大内存区域. 使用 new 创建的对象都是在堆上保存.
- 方法区(Method Area): 用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据. 方法编译出的的字节码就是保存在这个区域.