为了账号安全,请及时绑定邮箱和手机立即绑定

请教大神,在JVM 中一个线程的 Java 栈和寄存器中分别放的是什么?

请教大神,在JVM 中一个线程的 Java 栈和寄存器中分别放的是什么?

扬帆大鱼 2019-11-11 14:10:58
JVM 中一个线程的 Java 栈和寄存器中分别放的是什么?
查看完整描述

4 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

栈肯定是有的,一个方法调用另一个方法,就会产生栈那样的结构,
我看过的理论好像是
堆的话,好像是全局一个,所有 用new生成的对象,都保存在堆里。
但是 按照这种理论,我也有点不懂的地方。 以垃圾回收的理论来看的话,最好的方法是 一个栈对应一个堆,然后方法栈执行完毕,清空这一个堆,垃圾回收旧算完了。这样的方式 感觉比单纯一个全局的堆 要好。

全局一个堆的话, 要维护 每个线程对应的 内存对象,垃圾回收 还得针对每一个线程,感觉有点复杂。
全局的堆 肯定是有一个的,维护那些 静态变量的 内存,公有的一些对象。
其实我也不怎么懂 jvm里面 具体的内存分配策略。 可是是错的



查看完整回答
反对 回复 2019-11-16
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

  1. -Xms 为jvm启动时分配的内存,比如-Xms200m,表示分配200M

  2. -Xmx 为jvm运行过程中分配的最大内存,比如-Xms500m,表示jvm进程最多只能够占用500M内存

  3. -Xss 为jvm启动的每个线程分配的内存大小,默认JDK1.4中是256K,JDK1.5+中是1M


查看完整回答
反对 回复 2019-11-16
  • 4 回答
  • 0 关注
  • 986 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信