A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MartinYu 中级黑马   /  2016-7-6 22:44  /  473 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java一共有五个区:堆区,方法区,栈区,本地方法栈,程序计数器。
不管你怎么看的视频,这个是不会改变的。不过我印象中 毕老师讲的在方法区。

方法区:是存放虚拟机加载类的相关信息,如类、静态变量和常量;

堆:     所有数组和对象的实例分配都在Java堆上分配内存(比如new的对象);

栈区:在栈帧中包括局部变量表、操作数栈、指向当前方法所属的类的运行时常量池(运行时常量池的概念在方法区部分会谈到)的引用、方法返回地址和一些额外的附加信息。【按毕老师的解释来吧,就是存放局部变量】

本地方发栈:Java栈的作用和原理非常相似。区别只不过是Java栈是为执行Java方法服务的,而本地方法栈则是为执行本地方法(Native Method)服务的。在JVM规范中,并没有对本地方发展的具体实现方法以及数据结构作强制规定,虚拟机可以自由实现它。在HotSopt虚拟机中直接就把本地方法栈和Java栈合二为一。

程序计数器:用来指示执行哪条指令的(我就这么记的)【什么pu寄存器之类的,java应该不是指的那个,而是java自己的程序计数器。原理都是执行哪条语句】

1 个回复

正序浏览
谢谢分享啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马