JAVA里的方法区可以理解为类信息表吗?

qowoeo7538 2014-12-15 10:58:31
我是新手,请问一下方法在加载进堆的时候,是先读取方法区里的类信息,可以这样理解吗?
比如说我写一个类,在没有new的时候,它的信息是在方法区吗?然后当我new 了之后,读取方法区里的信息,然后加载进堆里。
...全文
256 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq986022405 2018-05-09
  • 打赏
  • 举报
回复
我是新手,请问一下方法在加载进堆的时候,是先读取方法区里的类信息,可以这样理解吗? 比如说我写一个类,在没有new的时候,它的信息是在方法区吗?然后当我new 了之后,读取方法区里的信息,然后加载进堆里。
soton_dolphin 2014-12-16
  • 打赏
  • 举报
回复
你这么理解过于复杂了。当你定义好一个类的时候,其实就是指做了一个 模板。当用到new的时候,就从这个模板里产生出了这个类的一个实例
普凡 2014-12-16
  • 打赏
  • 举报
回复
java中的所有信息首先会转换成字节码class文件(可以理解成一条一条的jvm指令),然后方法和堆没有关系,堆是用来存储对象的,而方法的执行和栈息息相关,每个线程拥有一个独立栈,每一个方法就是其中一个栈帧,可以理解为每个方法的执行到结束,就是该栈帧进栈和出栈的过程。具体细节可以参考《jvm原理》

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧