Java虚拟机:对象的创建

init方法即构造方法

给对象分配内存的方式:指针碰撞(使用的内存和未使用的完全分开,通过指针记录分界线,申请新的内存删除旧内存后只要移动指针就可以),空闲列表(有个单独的表格记录哪些是使用的,哪些是未使用的)。

如果垃圾回收器有将碎片内存整理压缩的功能,就会使用指针碰撞方法,否则用空闲列表方式。

线程安全性问题:

比如:在空闲模式下,多个线程的情况下,内存被占用,但是内存使用的数据表还未同步,这就导致了内存异常。

解决方法:

1,线程同步

2,本地线程分配缓冲(TLAB),每个区域都有私有的内存区域,用完之后再同步到数据表中

  

相关文章:

  • 2021-06-05
  • 2021-09-13
  • 2021-07-03
  • 2021-12-21
  • 2021-12-31
  • 2022-12-23
  • 2021-04-16
  • 2021-07-16
猜你喜欢
  • 2021-06-30
  • 2021-05-04
  • 2021-08-30
  • 2022-03-04
  • 2021-10-28
  • 2021-11-30
  • 2021-10-30
相关资源
相似解决方案