码迷,mamicode.com
首页 > 其他好文 > 详细

虚拟机栈和方法区的区别

时间:2017-09-22 12:03:40      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:res   连接   bool   har   编译器   共享   ret   字节码   对象   

虚拟机栈

虚拟机栈是线程私有的。

虚拟机栈描述的是Java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态连接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机中入栈到出栈的过程。

局部变量表存放了编译期可知的各种基本数据类型(boolean、byte、char、short、int、float、long、double)、对象引用(reference类型、它不同于对象本身,可能是一个指向对象起始地址的引用指针,也可能是指向一个代表对象的句柄或其他与此对象相关的位置) 和returnAddress类型(指向了一条字节码指令的地址)。

方法区

方法区是各个线程共享的内存区域。

它用于存储已被虚拟机加载的的类信息、常量、静态变量、即时编译器编译后的代码等数据。

 

虚拟机栈和方法区的区别

标签:res   连接   bool   har   编译器   共享   ret   字节码   对象   

原文地址:http://www.cnblogs.com/heben/p/7573677.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!