JVM
文章平均质量分 91
龙战于野渭南
天道酬勤
展开
-
HotSpot虚拟机对象探索与OutOfMemoryError异常
对象的创建主要是对象内存的分配与对象的引用对象内存的分配主要是两个方面,一个是虚拟机上我们给它分配内存,从堆内存分点空间给它分点空间,然后第二个是在java的无参构造或者有参构造把一些属性给它对象的引用也是两个方法,第一个是句柄访问对象,这个方法是堆内存给它分一部分空间成为句柄空间,然后一个指向类型数据的指针指向方法区的类型数据,一个指向实例数据的指针指向堆内存的实例池的实例数据第二个是直接访问对象,这个方法是类型数据指针就在实例数据里面,然后类型数据指针指向方法区的类型数据。原创 2023-06-16 08:50:20 · 514 阅读 · 0 评论 -
Java内存区域
这篇博客我们主要讲述的是运行时数据区的这5个,其中画了斜杠的代表所有线程共享的,没有画斜杠的代表线程隔离得到数据区。原创 2023-06-08 22:08:30 · 444 阅读 · 0 评论 -
Java内存模型
我们说volatile可以保证操作的可见性,它可以少掉将变量放入工作内存再放到主内存而是直接放到主内存但是为什么无法保证原子性呢?我们还是举刚才的例子假设现在的i的值为0第一个线程执行i++,它先读取i的原始值,然后第一个线程被阻塞了。然后执行第二个线程,这时候第二个线程将所有操作执行完,i的值已经变成了1。第一个线程再去执行后面的操作的时候因为之前已经读取过i的值了,就不会继续去读取,进行**+1操作**,结果第1个线程最后执行完后的结果还是1。原创 2023-06-06 21:27:16 · 443 阅读 · 0 评论