java虚拟机之内存区域

作者: 励志做一名老中医 | 来源:发表于2017-08-30 16:42 被阅读9次

文章内容参考<<深入理解java虚拟机>>,内容是自己总结的观点,如果有疑问,请参展<<深入理解java虚拟机>>

1.java虚拟机内存区域

1.运行时内存数据区域

运行时数据区域图.

1.程序技术器Program Counter Register:(线程私有)

    特点:空间小,当前线程所执行的字节码的行号指示器.

    解释:虚拟机线程在执行时,需要根据线程计数器的值来选择如何执行下一条指令,例如:分支,循环,异常等

    拓展1:每一个处理器内核都只会执行一条线程,每一个线程都会创建一个程序计数器

    深入:当虚拟机执行的是java方法,程序计数器记录的是正在执行的字节码指令的地址,如果是native方法,则执行的是null.

    拓展2:native方法是java虚拟机调用非java语言的接口,native是关键字 ,被native修饰的方法不用写方法体,因为在外部已经调用其他语言的代码.

              native关键字不能与abstract关键字共用,因为native是有方法体的.

2. 虚拟机栈java Virtual Machine Stacks:(线程私有)

    特点:先进先出.

    解释:用于存放对象引用,以及基本数据类型.

3.本地方法栈Native Method Stack:(线程私有)

    特点:虚拟机并没有对他进行规范,所以可以自由实现.

    解释:用户存储Native方法

未完待续...

相关文章

网友评论

    本文标题:java虚拟机之内存区域

    本文链接:https://www.haomeiwen.com/subject/nktxjxtx.html