方法区是各个线程共享的内存区域,
- 它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据 (重点)。
-
垃圾收集行为在这个区域比较少出现,
-
但并非数据进了方法区就永久的存在了,
-
这个区域的内存回收目标主要是针对常量池的回收和对类型的卸载,
-
当方法区无法满足内存分配需要时,将抛出OutOfMemoryError异常。
-
-
运行时常量池:
-
是方法区的一部分,它用于存放编译期生成的各种字面量和符号引用。
-
方法区是各个线程共享的内存区域,
垃圾收集行为在这个区域比较少出现,
但并非数据进了方法区就永久的存在了,
这个区域的内存回收目标主要是针对常量池的回收和对类型的卸载,
当方法区无法满足内存分配需要时,将抛出OutOfMemoryError异常。
运行时常量池:
是方法区的一部分,它用于存放编译期生成的各种字面量和符号引用。
转载于:https://my.oschina.net/u/3847203/blog/3014527