java虚拟机 内存概念
来源:互联网 发布:微信发淘宝店铺链接 编辑:程序博客网 时间:2024/06/05 00:22
一.运行时数据区:方法区,堆,java栈,PC寄存器,本地方法栈;
******************************************************************************************************
2.虚拟机装载class文件,从class文件解析类型信息,类型信息放到
方法区。当程序运行时,虚拟机会把所有该程序在运行时,创建的对象
都放到堆中。
3.新线程创建时,它都会得到它自己的PC寄存器以及一个java栈;
4.returnaddress 内部基本类型,我们不能调用,用来实现java程序中的finally
子句。
java栈:常用于存放对象引用和基本数据类型,而不用于存储对象;
1.一个线程一个java栈,每当线程调用一个java方法时,虚拟机都会在该线程的java
栈中压入一个新帧,而这个帧自然是当前帧。在执行这个方法时,它使用这个帧
来存储参数,局部变量,中间运算结果等等。(一旦方法运行结束,就会出栈,这些数据就都会被 回收)
堆: java 程序在运行时创建的所有类实例或数组都放在同一个堆中;java虚拟机实例只存在于一个堆空间中,因此所有线程都 共享一个堆;
方法区:1.类型信息,类数据都放在方法区;
2.该类型中的类(静态)变量同样也是存储在方法区;因为静态变量属于类,
总是作为类型信息的一部分存在于方法区;
3.线程都共享方法区;
4.方法区存在于堆中,可自由分配;(java虚拟机规范把方法区描述为堆的一个逻辑部分)
5.常量池存在于方法区;
6.编译时常量 (那些用final声明以及用编译时已知的值 初始化的类变量)的类型都 会复制它的所有常量到常量池;
编译时常量 :final static 变量名;
类型信息:
******************************************************************************************************
2.虚拟机装载class文件,从class文件解析类型信息,类型信息放到
方法区。当程序运行时,虚拟机会把所有该程序在运行时,创建的对象
都放到堆中。
3.新线程创建时,它都会得到它自己的PC寄存器以及一个java栈;
4.returnaddress 内部基本类型,我们不能调用,用来实现java程序中的finally
子句。
0 0
- java虚拟机 内存概念
- java虚拟机的一些概念
- Java虚拟机概念及体系结构
- Java虚拟机概念模型学习
- java虚拟机内存
- JAVA虚拟机内存设置
- java虚拟机使用内存
- Java虚拟机内存调整
- Java虚拟机内存监控
- 设置java虚拟机内存
- Java虚拟机内存模型
- Java虚拟机内存结构
- java虚拟机内存调整
- Java虚拟机内存设置
- Java虚拟机内存管理
- JAVA虚拟机内存分配原则
- Java虚拟机内存设置
- java虚拟机内存优化
- C++ -- 数组定义字符串与指针定义字符串鲜为人知的秘密
- Java三大特性之封装
- 字符串连接strcat()实现及常见问题
- JMS学习
- 1000. Fibonacci
- java虚拟机 内存概念
- vs2017 新建项目 未指定的错误(异常来自HRESULT: 0x80004005(e_fail))redirection.config无法访问
- 第四届蓝桥杯C++B组——第39级台阶(dfs)
- w3c标准
- 面试经历
- 等差区间(写的很脑残)——中国(北方)大学生程序设计训练赛(第一周)F
- codeforces B. The Meeting Place Cannot Be Changed【二分】
- 队列(Queue)入门用法
- java——对象和类