gpt4 book ai didi

java - 线程局部区域 (TLA) 和线程堆栈大小 (Xss) 之间有什么区别?

转载 作者:搜寻专家 更新时间:2023-11-01 02:29:33 26 4
gpt4 key购买 nike

正如我读到的:

http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/tune_app_thruput.html#wp998772

TLA 是:线程局部区域 (TLA) 是用于对象分配的空闲内存块。 TLA 从堆中保留并按需提供给 Java 线程,因此 Java 线程可以分配对象,而不必为每个对象分配与其他 Java 线程同步。

我假设线程堆栈区域用于此目的(并且还保留卡住的调用)。

到底有什么区别?

最佳答案

正如定义所说,Thread Local Area 是堆的一部分,每个线程都可以在其中分配对象。所有线程访问同一个堆:线程 1 可以访问线程 2 创建的对象,反之亦然; TLA 只为对象分配分配堆:每个线程只能在该区域分配对象,但可以访问堆中的任何对象。

线程栈是栈的一部分;每个线程都有自己的堆栈,线程堆栈大小 提到了堆栈的大小。一个线程不能访问其他线程的堆栈。

关于java - 线程局部区域 (TLA) 和线程堆栈大小 (Xss) 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com