jvm

虚拟机分为系统虚拟机(eg:VMWare)和程序虚拟机(eg:jvm)

jvm基本结构:

  1. 加载子系统:加载class信息,并将这些信息存放在方法区内
  2. 方法区:也叫永久区,存放类信息、常量信息、常量池、包括字符串字面量和数字常量等
  3. java堆:几乎所有的实例对象都是存放在java堆中,堆空间是所有线程共享的
  4. java栈:保存局部变量、方法参数、返回值、方法的调用,每个线程都有一个私有栈,线程被创建的时候就会被创建
  5. 直接内存:直接内存的读写优先于java堆,读写频繁的场合可能会考虑使用
  6. 本地方法栈:与java栈类似,最大不同本地方法栈用于本地方法调用
  7. PC寄存器:存放当前执行环境指针、程序计数器、下一步该执行哪个语句等等,执行本地方法时,其值为undefined
  8. 垃圾回收系统:不定时进行垃圾回收,采用的是复制算法
  9. 执行引擎:负责执行虚拟机的字节码,一般先编译成机器码后执

java堆细分:java堆内有细分为新生代和老年代,刚创建的时候都会在新生代的eden区内,到了足够长的时间就会从eden区进入s0区;GC每进行一次垃圾回收,元素的年龄就会+1,到了一定的年龄就会从新生代进入老年代;新生代又分为eden区、s0区和s1区(from区和to区);

复制算法:垃圾回收的时候先从s0中还有引用的元素复制到s1区,然后将s0清空,下一次垃圾回收就会把s1中还存在引用的元素复制到s0区,然后清空s1区。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值