标签:jvm log 加锁 targe 对象 about column 选项 class
分配过程:
对象不在堆上分配的情况有两种:TLAB和栈上分配。
之所以在TLAB(Thread Local Allocation Buffer)上分配是因为TLAB是线程私有的,没有锁开销,在Eden上分配需要加锁。
Sun Hotspot JVM为了提升对象内存分配的效率,对于所创建的线程都会分配一块独立的空间TLAB(Thread Local Allocation Buffer),其大小由JVM根据运行的情况计算而得,在TLAB上分配对象时不需要加锁,因此JVM在给线程的对象分配内存时会尽量的在TLAB上分配,在这种情况下JVM中分配对象内存的性能和C基本是一样高效的,但如果对象过大的话则仍然是直接使用堆空间分配。
关于JVM的一个不错的博客:
标签:jvm log 加锁 targe 对象 about column 选项 class
原文地址:http://www.cnblogs.com/drizzlewithwind/p/6666244.html