Java虚拟机运行时数据区的内部结构布局

createh55个月前 (02-01)技术教程45

运行时数据区的内部结构主要分为方法区(Method Area)、堆(Heap)、程序计数器(Program Counter Register)、本地方法栈(Native Method Stack)、虚拟机栈(Java Virtual Machine Stack)


Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应的,这些与线程对应的数据区域会随着线程开始和结束而创建和销毁。

灰色的为单独线程私有的,红色的为多个线程共享的。即:

  • 每个线程:独立包括程序计数器、栈、本地栈。
  • 线程间共享:堆、堆外内存(方法区、永久代或元空间、代码缓存)


相关文章

Java:在Java中使用私有接口方法(java私有的)

  接口是定义一组方法及其签名的契约, 它可以由任何类及其在该类中实现的方法进行扩展。从Java9 开始,你可以在接口中使用私有方法。  由于私有方法只能在定义它的接口内访问,因此你可以利用这些方法编...

Python之面向对象:私有属性是掩耳盗铃还是恰到好处

引言声明,今天的文章中没有一行Python代码,更多的是对编程语言设计理念的思考。上一篇文章中介绍了关于Python面向对象封装特性的私有属性的相关内容,提到了Python中关于私有属性的实现是通过“...

内部类Java(内部类定义)

概念将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。什么时候使用内部类一个事物内部还有一个独立的事物,内部的事物脱离外部的事物无法独立使用比如汽车只有一个发动机,电脑只有一...

java 核心技术-12版 卷Ⅰ- 6.1.4 静态和私有方法

原文6.1.4 静态和私有方法在 Java 8 中,允许在接口中增加静态方法。理论上讲,没有任何理由认为这是不合法的。只是这似乎有违于将接口作为抽象规范的初衷。目前为止,通常的做法都是将静态方法放在伴...

java的53个关键字(含2个保留字)第一篇

1.java的关键字(keyword)有多少个? 51+2个保留字=53个关键字(java的关键字都是小写的!!)2.java的保留字(reserve word)有多少个?问题:分别是什么? 1).c...

带你深入学习java内部类_匿名类,细到不能再细

内部类内部类初识内部类顾名思义就在类的内部中的类!我们知道,类中可以有两种重要的成员,成员变量(字段/属性)和方法(行为),实际上java还允许类有一种成员——内部类!java支持在一个类中定义另一个...