jvm运行机制,入门
2017-01-11 22:34
274 查看
1.通过java指令启动
2.根据当前路径和系统版本找jvm的配置文件
3.根据配置文件找到jvm.dll文件,为jvm主要实现
4.初始化jvm虚拟机
5.找到main方法运行
方法区:保存装载的类信息:1.类型的常量池(jdk1.7后放入堆中)2.字段方法信息 3.方法字节码。
java栈:线程私有,先进后出,栈里面放的是帧,帧里面放的是一个方法局部变量,常量池的指针,每调用
一次方法创建一个帧,并压栈。
java堆:全局共享。
栈中存放一个局部变量表,表中每一行相当于一个槽位,最多占32个字节,所有Long型要占用两个槽位, 对象引用占用一个槽位。
java没有寄存器,所有参数传递使用寄存器栈。
java栈上分配特点:
1.小对象(几十bytes),由于栈是线程私有,共享对象只能分配到堆上
2.可以自动回收,减轻GC压力
3.大对象无法分配到栈上。
指令重排
a=1,b=2在编译过程中顺序不一定。
保证线程间可见性
1.volatile关键字
2.synchronized关键字
3.final(常量)
相关文章推荐
- java入门(1)--java程序运行机制和过程
- 开源电子商务 OFBIZ10.04组件开发入门 OFBIZ的运行机制
- Java基础:JVM运行机制
- JVM学习笔记1—JVM运行机制
- JVM结构概览与运行机制
- struts入门学习(struts中ActionForm,Action,javabean的运行机制 )
- 深入JVM虚拟机(二) JVM运行机制
- JVM 基础 VM运行机制
- 2.JVM运行机制 -- JVM序列
- JVM 运行时数据区及GC机制
- 从jvm运行机制来分析String对象
- spring 入门 之运行机制
- Java程序的运行机制和JVM
- Java程序的运行机制和JVM
- java入门(1)--java程序运行机制和过程
- 深入解析java虚拟机-jvm运行机制
- 深入解析java虚拟机-jvm运行机制
- 【Linux运维入门】JMX方式远程监控Linux下JVM运行情况
- 《疯狂Java讲义(第3版)》.(李刚)——Java运行机制及JVM