JVM
java虚拟机
1、栈区:存放函数的参数值,局部变量的值等,在超过这个变量的作用域时就会被系统自动释放存在于JVM内存中的资源。
优点:存取速度比堆快
缺点:存在栈中的数据大小与生存期必须是确定的,无灵活性
int 、String、 double 、float 、char
for (int i=0; i<6; i++){
System.out.println(i); //i为局部变量
}
System.out.println(i); //i已被释放,无法输出
2、堆区:存放由new创建的对象和数组,JVM不定时查看这个对象,如果没有引用指向这个对象就回收
Scanner in = new Scanner(System.in);
优点:可以动态分配JVM内存
缺点:要在运行时分配JVM内存,速度慢
3、静态区
4、代码区