不可不知的JVM 中堆 Heap、栈 Stack、方法区 Method area 、本地方法区 Native method area

每个jvm实例都有方法区和一个堆(hasone method area and one heap)。这两个区域被jvm中的线程共享。当JVM加载了一个class文件后,则class中的参数、类型等信息会存储在方法区中。程序运行时所有创建的对象存储在堆中。

         当每一个新线程启动时会有自己的程序计数器pcregister (program counter)和栈,如果线程调用方法,则程序计数器表明下一条执行的指令。线程栈存储线程的方法调用状态(包括局部变量、和被调用的参数、返回值、中间结果)。上面所说本地方法(见下图)调用相独立,本地方法调用存储在独立的本地方法栈中,或其他独立的内存区域。


         每个线程都有一个程序计数器,也就是会说每创建一个线程时就会创建一个程序计数器,JVM中所说的程序技术器区域就是所有线程程序计数器取得总称。

         栈区域是由栈桢组成,每个栈桢就是每个调用的方法的栈。当方法调用结束时JVM会POPS栈,即抛弃此方法的栈桢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值