您现在的位置是:首页 > 文章详情

看图了解JVM

日期:2018-11-12点击:445

e93e22daf509e34c8d24d5e5b1e227543fe83cb5

JVM使用的区域由两大部分组成:

单个线程独立的区域

多个线程公共的区域


公共区域又包含两部分:

相对静态的区域(永久代),包含常量、方法、属性、代码等

相对动态的区域(堆),包含创建的对象


线程独立区域可以理解为线程在执行代码时的上下文,会从公共区域读取数据,也会保存数据到其中的堆


通常的执行过程:

当线程需要一个类时,使用加载器将字节码加载到方法区,然后会依照被加载的代码执行。执行类的方法前,会在栈中新建一个栈帧,作为上下文来执行方法。执行过程中可能从常量池、堆中读取需要的数据,执行完毕后数据可能同步到前一个方法的栈帧,也可能同步到堆。


更抽象的概括JVM所使用的区域:

执行的依据(位于永久代的类、方法、常量信息),数据本身(位于堆的对象),执行过程中的上下文(每个线程执行时的临时部分)


原文链接:https://yq.aliyun.com/articles/668844
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章