概述
java堆和栈的区别【新手可忽略不影响继续学习】
Java中内存分成两种:一种是栈stack,一种是堆heap。
函数中的一些基本类型的变量(int, float)和对象的引用变量(reference)都在函数的栈中,如int a = 5,有个地方先存5,之后再让a指向那个地方。w=new Window(),是w指向Window的首地址。马克-to-win,存取速度快,稍逊于寄存器, 比堆快,
函数执行完后,Java会自动释放掉为函数里变量开辟的栈内存空间,该内存空间可以立即被另作他用。
堆heap内存用来存放由new创建的对象和数组。堆内存,负责运行时(runtime, 执行生成的class文件时)数据,由JVM的自动管理。缺点是,存取速度较慢。
栈中的引用变量指向堆中的对象或数组。
更多请见:http://www.mark-to-win.com/tutorial/java_2_StackHeapDifference.html
最后
以上就是老实玉米为你收集整理的java栈stack和堆heap的工作原理,用途及区别?举例说明的全部内容,希望文章能够帮你解决java栈stack和堆heap的工作原理,用途及区别?举例说明所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复