基础知识
启航之帆
好想去宇宙中翱翔
展开
-
初识java虚拟机
java虚拟机在执行java程序的过程中会将其管理的内存划分为若干数据区域,分别为方法区,堆,虚拟机栈,本地方法栈,程序计数器。前面两个区域是由所有线程共享的数据区,其他为线程隔离的数据区。下面具体介绍各个数据区域。原创 2017-03-09 10:16:36 · 316 阅读 · 0 评论 -
Java虚拟机保证分配内存时线程安全的两种方式
一:对分配内存空间的动作进行同步处理,实际上虚拟机采用CAS和失败重试的方式保证更新操作的原子性二:把内存分配的动作按照线程划分在不同的空间之中进行,即每个线程在java堆中预先分配一小块内存,哪个线程要分配内存,就在该线程的TLAB上分配,只有TLAB用完并分配新的TLAB时,才需要同步锁定。注:1.TLAB(Thread Local Allocation Buffer),即本地线程原创 2017-03-28 13:16:47 · 1006 阅读 · 1 评论