什么是Java方法区?

JVM具有所有线程共有的方法区域。它包含每个类元素,例如常量池,字段,方法本地数据,方法代码,构造函数代码等,这些元素用于对象/接口的类和初始化。

该方法区域是在JVM启动期间创建的。它通常是堆区域的一部分。它可以是固定大小或不同的。它的内存可能不是连续的。JVM实现可以控制程序员对方法区域的创建,其大小等的控制。如果方法区域的内存不足以满足分配请求,则JVM会抛出OutOfMemoryError。