java运行时数据区域

参考:class文件常量池和运行时常量池比对 | If Coding

 

 

 

 

 

 

  • 堆:最大的一块区域,存放对象实例
    • 静态常量池:*.class文件中的常量池,class文件中的常量池不仅包含字符串(数字)字面量,还包括类和方法的信息
    • 字符串常量池:字符串池里的内容是在类加载完成,经过验证、准备阶段之后存放在字符串常量池中。创建字符串之前检查常量池中是否存在,如果存在则获取其引用,如果不存在则创建并存入,返回新对象引用
  • 方法区:元空间(本地内存中实现)主要存放类型信息
    • 运行时常量池:JVM虚拟机完成类装载操作后,将class文件的常量池加载进内存中,并保存在方法
  • 虚拟机栈:JVM执行java代码所使用的栈(栈帧)
  • 本地方法栈:JVM调用本地方法所使用的栈
  • 程序计数器:当前线程所执行的字节码的行号指示器。
    • 如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是本地(Native)方法,这个计数器值则应为空(Undefined)

 

相关文章

jinfo 命令可以用来查看 Java 进程运行的 JVM 参数,命令如下...
原文链接:https://www.cnblogs.com/niejunlei/p/5987611.ht...
java 语言, 开发者不能直接控制程序运行内存, 对象的创建都是...
jvm
1.jvm的简单抽象模型:  2.类加载机制     双亲委派模...
堆外内存JVM启动时分配的内存,称为堆内存,与之相对的,在代...
1.springboot和tomcat2.springcloud的请求如何通过网关鉴权?...