方法区

作用:

  出村已被虚拟机加载的类信息、敞亮、静态变量、及时编译器编译后的代码等数据。

特点:

  1.各个线程共享的内存区域。

  2.Java虚拟机规范对方法区的限制非常宽松,除了和Java堆一样不需要连续的内存和可以选择固定大小或者可扩展之外,还可以选择不实现垃圾收集。(“永久代”)

异常:

  OutOfMemoryError,当方法去无法满足内存分配需求时,将抛出超出内存异常。

运行时常量池:

  

作用:

  用于存放编译期生成的各种字面量和符号引号,这些内容将在类加载后进入方法区的运行时常量池中存放。

特点:

    1.相对于Class文件,Java虚拟机规范对于运行时常量池并没有做任何的细节要求。

    2.具备动态性。运行期间也可能将新的常量放入池中,比如String类中的intern()。

异常:

  OutOfMenmeryError,既然它是方法区的一部分,自然受到方法区的内存限制。

图片博客链接:

  https://blog.csdn.net/youngyouth/article/details/79933612

原文地址:https://www.cnblogs.com/figsprite/p/10462411.html