根据<<深入理解Java虚拟机>>整理
JVM结构:运行时数据区和本地方法区
运行时数据区包括下面:
程序计数器:当前线程执行字节码的行号指示器,根据计数器执行对应的代码
Java 虚拟机栈:也是线程私有 每个方法都会创建一个栈帧,每一个方法调用完成就是在虚拟机栈从一个入栈到出栈的过程
本地方法栈:服务于本地方法
* 堆*:存对象,就是垃圾收集器管理管理的地方
方法区:和堆一样 是各个线程共享的内存区域,存储被虚拟机加载的类信息 常量和静态变量
对象的创建:
先检测类是否被加载 解析 初始化过 如果没有 则执行类的加载