JVM 基础(1)

JVM概念
2004年发布JDK1.5:泛型,注解,装箱,枚举,可变长的参数,foreach循环




PC寄存器:
每一个线程拥有一个PC寄存器;
在线程创建时创建
纸箱下一条指令的地址

执行本地方法时,PC的值为undifined(未定义的)

方法区:
保存装载的类的原信息  对类进行描述

通常和永久区关联在一起,保存一些相对不变的信息,类的信息一般在运行的过程中不会变

java堆:
和程序开发密切相关
应用系统对象都保存在java堆中
所有线程共享java堆
堆GC来说,堆也是分代的

GC的主要工作区间


新生代:eden  s0  s1(s0,s1大小一样完全对称)

老年代:tenured

java栈:
线程私有
栈由一系列桢组成
桢保存一个方法的局部变量、操作数栈,常量池指针
每一次方法调用创建一个帧,并压栈

java栈-操作数栈  java没有寄存器  所有参数传递使用操作数栈
可见性方法(修改一个变量 要求这个变量对其他的线程立即可见 ):
使用volatile关键字(线程不安全)
synchronized同步

final常量



阅读更多
个人分类: 虚拟机JVM
上一篇rabbit mq理论学习
下一篇GC垃圾回收
想对作者说点什么? 我来说一句

JVM基础.doc

2017年09月18日 3.4MB 下载

没有更多推荐了,返回首页

关闭
关闭