回顾总结一下JVM(组成结构、GC、类加载)

JVM相关
 
1、组成结构
   JVM由以下几个区域组成(堆与非堆,线程共享与独享,依赖JVM垃圾回收与手动释放)
      堆(heap),动态内存,全局变量,无序
      方法区(perm),类的元数据信息,运行时的常量池
      虚拟机栈(VM stack),线程私有,局部变量表,存放基本数据类型和对象引用;每个方法在执行的时候,会同时创建一个栈帧用于存放局部变量表,操作数栈,动态链接,方法出口等。
      本地方法栈(native method stack),虚拟机使用到的native方法
       直接内存,native memory,手动释放,bytebuffer,JNI

 
 
2、GC
垃圾回收的算法比较:
按照分区对待:增量,分代
按照回收策略分:引用计数,标记-清除<内存碎片>,copy<两倍内存空间>,标记-整理
按照系统线程分:串行(暂停应用进行回收),并行(暂停应用进行回收),并发(程序和垃圾回收同时运行-->内存碎片)
G1(压缩型,消除内存碎片;实时性要一些)
 
3、类加载
classloading的机制
   装载(load)、链接(link)--对二进制格式校验,初始化装载类中的静态变量以及解析类中调用的接口和类(校验、准备、解析)、初始化(init)--静态初始化代码,构造器,静态属性
类加载器:BootStrap,Ext,System,userDefined
Classloader(loadclass,findclass,defineclass)
  热更新,如果用classloader loadclass,需要每次新建一个classloader(同一个classloader不可以加载两个相同的类)
 
有些内容后续待细化和补充...
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值