方法区中存放的是类的类型信息,类型信息包括:
静态变量
方法信息等(方法信息中包含类的所有方法的字节码)
例如:你在创建对象的时候(Person person=new Person())
java虚拟机做了如下操作:
1.搜索方法去,查找Person类的类型信息。由于此时不存在该信息,java虚拟机会先加载Person类,将Person类的类型信息放在方法区。
2.在堆区中为一个新的Person类实例分配内存,这个Person类实例持有指向方法区Person类的类型信息的引用。
这些运行时的操作区肯定都是在内存中被划分的,而java虚拟机管辖着这些区域。 |