Java方法区如何进行详细解析?

2026-05-25 20:410阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2036个文字,预计阅读时间需要9分钟。

Java方法区如何进行详细解析?

目录 + 方法区(方法区中保存了什么) + 类型信息 + 类型的常量池 + 运行时常量池 + 字段信息 + 方法和构造方法信息 + 类型的变异变量(即静态变量) + 类加载器 + 类的使用 + 方法定义 + JVM如何使用

目录
  • 方法区
  • 图例(方法区中都保存什么)
  • 类型信息
  • 类型的常量池 (即运行时常量池)
  • 字段信息
  • 方法信息
  • 类变量(即static变量)
  • 对类加载器的引用
  • 对Class类的引用
  • 方法表
  • JVM如何使用方法区里面的数据

方法区

保存在着被加载过的每一个类的信息;这些信息由类加载器在加载类的时候,从类的源文件中抽取出来;static变量信息也保存在方法区中;

可以看做是将类(Class)的元数据,保存在方法区里;

方法区是线程共享的;当有多个线程都用到一个类的时候,而这个类还未被加载,则应该只有一个线程去加载类,让其他线程等待;

方法区的大小不必是固定的,jvm可以根据应用的需要动态调整。jvm也可以允许用户和程序指定方法区的初始大小,最小和最大限制;

方法区同样存在垃圾收集,因为通过用户定义的类加载器可以动态扩展Java程序,这样可能会导致一些类,不再被使用,变为垃圾。这时候需要进行垃圾清理。

阅读全文

本文共计2036个文字,预计阅读时间需要9分钟。

Java方法区如何进行详细解析?

目录 + 方法区(方法区中保存了什么) + 类型信息 + 类型的常量池 + 运行时常量池 + 字段信息 + 方法和构造方法信息 + 类型的变异变量(即静态变量) + 类加载器 + 类的使用 + 方法定义 + JVM如何使用

目录
  • 方法区
  • 图例(方法区中都保存什么)
  • 类型信息
  • 类型的常量池 (即运行时常量池)
  • 字段信息
  • 方法信息
  • 类变量(即static变量)
  • 对类加载器的引用
  • 对Class类的引用
  • 方法表
  • JVM如何使用方法区里面的数据

方法区

保存在着被加载过的每一个类的信息;这些信息由类加载器在加载类的时候,从类的源文件中抽取出来;static变量信息也保存在方法区中;

可以看做是将类(Class)的元数据,保存在方法区里;

方法区是线程共享的;当有多个线程都用到一个类的时候,而这个类还未被加载,则应该只有一个线程去加载类,让其他线程等待;

方法区的大小不必是固定的,jvm可以根据应用的需要动态调整。jvm也可以允许用户和程序指定方法区的初始大小,最小和最大限制;

方法区同样存在垃圾收集,因为通过用户定义的类加载器可以动态扩展Java程序,这样可能会导致一些类,不再被使用,变为垃圾。这时候需要进行垃圾清理。

阅读全文