Jvm虚拟机,按照线程可以分为线程私有和线程共享。线程私有的有:程序计数器,java虚拟机栈,本地方法栈。线程共享的有:java堆,方法区,直接内存。java堆存放对象实例,所有的对象实例及其属性都在这里进行内存分配。jvm在内存新生代中开辟一小块私有区域TLAB,这也是每个线程的缓冲区,在TLAB上分配属于线程私有,没有锁的开销,效率比较高。java虚拟机栈,java方法被执行时,都会创建一个栈帧,每个线程都有自己独立的栈空间。线程栈只存储基本数据类型和对象的引用地址。
2021-07-20
最新推荐文章于 2024-07-15 22:20:25 发布