JVM Architecture

2 篇文章 0 订阅

When you run a java program, a new JVM instance created, and its life ends togeter with the java program.

If you run three java programs, there are three JVM instances here.


JVM Achitecture



Runtime Data Area

Method Area, Heap, Java Stack, PC Register, Native Method Stack.

Method Area and Heap are shared by threads in the same JVM

Java Stack, PC Register and Native Method Stack are independend among threads.



Method Area

store meta data for class and static variables.

This is thread safe, cause it is shared among threads.

Its size is resizeable. Initial size, min size, max size...

Memory of it can be GC. Uninstall unreferrenced classes.


Heap

store instances of classes -- Objects


Jack Stack

Consist of Stack Frames. A stack frame contains all status about invoking for a java method. Everytime a thread calls a new method, JVM push a new stack frame into Jack Stack, and pop it out when the method returns. 



PC Register

Always points to the next directive that going to be executed.


Here is the picture about how JVM allocate memory for runtime data area for threads:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值