我是靠谱客的博主 老实玉米,最近开发中收集的这篇文章主要介绍java栈stack和堆heap的工作原理,用途及区别?举例说明,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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的工作原理,用途及区别?举例说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部