JVM java虚拟机java编译后的class文件就是在java虚拟机上运行的1.栈区(stacksegment)存放函数的参数值,局部变量的值等,在超过这个变量的作用域时就会被系统自动释放掉存在于JVM内存中的资源优点:存取速度比堆...
JVM java虚拟机
java编译后的class文件就是在java虚拟机上运行的
1.栈区(stacksegment)存放函数的参数值,局部变量的值等,在超过这个变量的作用域时就会被系统自动释放掉存在于JVM内存中的资源
优点:存取速度比堆快
缺点:存在栈中的数据大小与生存期必须是确定的,无灵活性
总结:基础类型存放在栈内存
for(int i=0;i<43;i++){ //i是局部变量,在for循环中可以用
System.out.println(i);
}
System.out.println(i);//超过变量的作用域,已被系统释放掉,此时调用就会报错
int
string
double
float
char
2.堆区(heapsegment)存放由new创建的对象和数组,JVM不定时查看这个对象,如果没有引用指向这个对象就收回
引用类型:使用new来创建对象 java中除基础类型外,其余都是引用类型
引用的变量在栈内存,创建的对象在堆内存,访问创建的对象要先访问引用类型,然后在通过引用类型指向它
Scanner in=new Scanner(System.in);//声明
in.nextInt();//访问
优点:可以动态分配JVM内存
缺点:要在运行时分配JVM内存 速度慢

3.静态区
4.代码区
本文标题为:Java基础01-JVM内存分析
基础教程推荐
- Java实现插入排序算法可视化的示例代码 2023-04-23
- RocketMQ Push 消费模型示例详解 2023-05-24
- 关于Java双大括号{{}}的具体使用 2023-03-15
- 一文带你搞懂Java中方法重写与方法重载的区别 2023-07-14
- Spring Cloud Config分布式配置中心使用介绍详解 2023-05-07
- Java Web开发中过滤器和监听器使用详解 2023-06-30
- MyBatis-Plus自定义通用的方法实现 2023-07-15
- Java List的get方法 2023-10-08
- Java多线程学习笔记之三内存屏障与Java内存模型 2023-09-01
- java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法 2023-09-01
