- _nosay
JVM内存概念
2017-12-08 13:40:08
JVM java虚拟机
栈区(stacksegment)存放函数的参数值,局部变量值等,在超过这个变量的作用域时就会被系统自动释放掉存在于JVM内存中的资源
优点:存取速度比堆块 缺点:存在栈中的数据大小与生存期必须是确定的,无灵性 例如 for(int i=0;i<3;i++) { System.out.println(i); } System.out.println(i); 如果我们在for外调用i,那么就会报错.当超出for循环的作用域时,变量(i)说会被系统释放掉
堆区(heapsegment)存放由new创建的对象和数组,jvm不定时查看这个对象,如果没有引用指向这个对象就回收
Scanner in = new Scanner(System.in); 优点 :可以动态分配JVM内存 缺点:要在运行时分配JVM内存,速度慢 如上文中的Scanner就是存放在堆区的
- 静态区
- 代码区