jvm简单认知

JVM内存分布

线程私有
	程序计数器  记录当前线程所执行字节码的指示器           
	本地方法栈  为Native方法服务
	jvm虚拟机栈  方法执行创建一个栈帧,栈帧的入栈和出栈
			    栈帧:
			          局部变量表  存放基本数据类型,对象引用地址,字节码指令地址
			          操作栈
			          动态链接
			          方法出口
	            虚拟机栈大小  栈帧*栈的深度
线程共有
   方法区  存储已被虚拟机加载的类信息、常量、静态变量
   Java堆  唯一目的就是存放对象实例-Xms -Xmx  新生代:老年代 = 1:2 –XX:NewRatio
           新生代 -Xmn  Eden:From Survivor:To Survivor = 8:1:1 (默认)–XX:SurvivorRatio
           		Eden空间   
           		From Survivor空间
           		To Survivor空间
           老年代     
           永久代 -XX:PermSize

GC回收

对象存活
        引用计数算法  新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收  缺点无法解决循环调用
        可达性分析   能找到GCroot引用则对象存活,否则死去
                     GCroot
                           虚拟机栈中引用的对象

						   方法区中类静态属性实体引用的对象

						   方法区中常量引用的对象

						   本地方法栈中JNI引用的对象
GC收集算法
        标记-清除  标记出所有需要回收的对象,标记完成后统一回收    缺点空间碎片太多		                    
        复制算法 
                  划分为大小相等的两块内存,每次只使用其中的一块当内存满了,复制到令一块里去
                  新生代就采用这种算法,小对象先在Eden,然后移动到From Survivor,
                            再利用复制算法将From Survivor清理到To Survivor,
                            如果To Survivor满了则移动到老年代里;大对象直接入老年代
        标记-整理 
        		 标记存活对象,整理让所有存活的对象都向一端移动
        		 老年代用此算法
        分代收集算法  各个年代的特点采用最适当的收集算法  新生代复制算法  老年代标记整理算法
垃圾收集器
       Serial收集器  串行
       			新生代、老年代使用串行回收;新生代复制算法、老年代标记-压缩;垃圾收集的过程中会Stop The World(服务暂停)
       			-XX:+UseSerialGC  串行收集器
       ParNew收集器  新生代并行,老年代串行 
                ParNew收集器其实就是Serial收集器的多线程版本。新生代复制算法、老年代标记-整理
				参数控制:-XX:+UseParNewGC  ParNew收集器
				-XX:ParallelGCThreads 限制线程数量
	   Parallel收集器 类似ParNew收集器,Parallel收集器更关注系统的吞吐量。可以通过参数来打开自适应调节策略			
	   Parallel Old收集器	Parallel Scavenge收集器的老年代版本,使用多线程和“标记-整理”算法					          
      
       CMS收集器   CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器
                CMS收集器是基于“标记-清除”算法实现的
       G1收集器     
       			空间整合,G1收集器采用标记整理算法
       			可预测停顿,这是G1的另一大优势

注:后续接着完善补充

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值