jvm入门到详解-1
JVM需要对Java Library 提供以下支持:
–反射 java.lang.reflect
–ClassLoader
–初始化class和interface
–安全相关 java.security
–多线程
–弱引用
JVM启动流程
JVM基本结构
栈、堆、方法区交互
public class AppMain //运行时, jvm 把appmain的信息都放入方法区
{ public static void main(String[] args) //main 方法本身放入方法区。
{ Sample test1 = new Sample( " 测试1 " ); //test1是引用,所以放到栈区里, Sample是自定义对象应该放到堆里面
Sample test2 = new Sample( " 测试2 " );
test1.printName();
test2.printName();
}
public class Sample //运行时, jvm 把appmain的信息都放入方法区
{ private name; //new Sample实例后, name 引用放入栈区里, name 对象放入堆里
public Sample(String name) { this .name = name; } //print方法本身放入 方法区里。
public void printName() {
System.out.println(name);
} }
内存模型