首页 > 试题广场 >

java运行时内存分为“线程共享”和“线程私有”两部分,以下

[不定项选择题]
java运行时内存分为“线程共享”和“线程私有”两部分,以下哪些属于“线程共享”部分
  • 程序计算器
  • 方法区
  • java虚拟机栈
  • java堆
私有:java虚拟机栈,程序计数器,本地方法栈 共享:java堆,方法区
编辑于 2021-08-06 20:12:30 回复(36)
共享的资源有:
a. 堆  由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此new出来的都是共享的(16位平台上分全局堆和局部堆,局部堆是独享的)
b. 全局变量 它是与具体某一函数无关的,所以也与特定线程无关;因此也是共享的
c. 静态变量 虽然对于局部变量来说,它在代码中是“放”在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的
d. 文件等公用资源  这个是共享的,使用这些公共资源的线程必须同步。Win32 提供了几种同步资源的方式,包括信号、临界区、事件和互斥体。
独享的资源有
a. 栈 栈是独享的
b. 寄存器  这个可能会误解,因为电脑的寄存器是物理的,每个线程去取值难道不一样吗?其实线程里存放的是副本,包括程序计数器PC
发表于 2019-12-25 21:56:24 回复(8)

私有

  • 程序计数器
  • 本地方法栈
  • JVM 栈

共享

  • 方法区
发表于 2020-08-15 21:36:15 回复(1)
私有线程区域:
程序计数器、虚拟机栈、本地方法栈
线程共享区域:
堆、方法区
编辑于 2019-09-23 09:58:03 回复(0)
发表于 2021-07-16 19:30:55 回复(0)
发表于 2022-01-12 12:21:46 回复(0)
私有:java虚拟机栈,程序计数器,本地方法栈
共享:java堆,方法区
发表于 2022-04-06 14:43:06 回复(0)
发表于 2022-03-18 15:44:44 回复(0)
栈是私有的,堆和方法区是共享的
发表于 2020-04-06 18:28:18 回复(0)
成功的避开了所有正确答案T_T
发表于 2020-02-22 16:13:16 回复(0)
私有:java虚拟机栈,程序计数器,本地方法栈 共享:java堆,方法区
发表于 2023-04-27 22:56:02 回复(0)
jvm几大区域的理解
发表于 2021-09-02 18:19:46 回复(0)
运行时数据区线程共享的有堆heap  方法区method area 运行时常量池 runtime constant pool 直接内存
direct memory
私有线程的有虚拟机栈 vm stack 本地方法栈 nativeMethod stack  程序计数器 program counter register
发表于 2020-06-20 13:38:48 回复(0)
  • 方法区(Method Area):存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。所有线程共享该区域的数据。

  • Java堆(Heap):是Java对象实例的主要内存区域,所有线程创建的对象都存放在堆内存中,因此也是线程共享的。

  • 程序计算器(Program Counter Register):这不是Java运行时内存的一部分,可能你指的是PC寄存器,每个线程都有自己的程序计数器,记录当前执行的字节码指令地址,所以它是线程私有的。

  • Java虚拟机栈(Java Virtual Machine Stacks或VM Stack):每个线程在创建时都会分配一个虚拟机栈,用于存储局部变量表、操作数栈、动态链接、方法出口等信息,所以它是线程私有的。

编辑于 2024-03-01 16:04:21 回复(0)
为什么堆是共享的有人帮忙解答一下吗?我在一个类的方法里new一个对象,这个对象是开辟的堆内存吧,但是这个对象也应该不是被线程共享的吧?
发表于 2023-10-13 16:43:24 回复(0)
线程私有:java虚拟机栈,程序计数器,本地方法栈
共享私有:java堆,方法区
发表于 2023-09-04 10:05:57 回复(0)
程序计数器是线程私有的 属于电脑寄存器的私有备份
发表于 2023-06-14 00:43:40 回复(0)
私有:虚拟机 程序计数器 本地方法栈, 共享:java堆 方法区
发表于 2023-05-10 07:43:55 回复(0)
私有:java虚拟机栈,程序计数器,本地方法栈 共享:java堆,方法区
发表于 2023-05-08 19:36:40 回复(0)
线程私有:java虚拟机栈,程序计数器,本地方法栈
线程共享:java堆,方法区
发表于 2023-02-22 17:19:28 回复(0)