栈和堆的区别(栈和堆分别存放什么)

栈和堆的区别(栈和堆分别存放什么)1、共同点:堆和栈都是Java中用来在RAM中存放数据的地方。2、区别:(1)栈(Stack):Java中一个线程一个栈区,每一个栈中的元素都是私有的,不被其他栈所访问。栈有后进先出的特点,栈中的数据大小与

1、共同点:堆和栈都是Java中用来在RAM中存放数据的地方。

2、区别:

(1)栈(Stack):Java中一个线程一个栈区,每一个栈中的元素都是私有的,不被其他栈所访问。栈有后进先出的特点,栈中的数据大小与生存期都是确定的,缺乏灵活性,但是,存取速度比堆要快,仅次于CPU中的寄存器,另外栈中的数据是共享的。在Java中,所有的基本数据类型和引用变量(对象引用)都在栈中存储,栈中数据的生存空间一般在当前的scopes内,也就是“{}”的部分,比如:函数的参数值,局部变量等,是自动清除的。

基本数据类型:Java中的基本数据类型包括8种,分别是byte、short、int、long、float、double、boolean、char;

通过以下例子说明: int m=2;

int n=2;

当定义的是基本数据类型时,这些字面值的数据,大小和生命周期皆可知;编译器首先处理 int m=2; 先是在栈中创建一个变量为m的引用,然后查找有没有值为2的地址,没有则开辟一个新的存放字面值为2的地址,然后将m指向2的地址。接着处理 int n=2; 在创建完n的引用变量之后,由于存在2这个数值,则将n指向2的地址。这样会出现(m==n)为true的情况,也就是m和n指向同一个地址。

类对象的引用类型:与字面值的引用不同,当同时指向一个地址的类对象的引用,如果该对象的内部状态发生改变,则另一个对象引用变量也发生变化。与之相反,当定义完m之后,修改m的值,即m=3,那么n不会发生改变,依然等于2。

(2)堆(Heap):Java中只有一个堆,被所有线程共享。堆中的数据没有先后顺序(逻辑上连续就好),堆中的数据不需要事先告诉编译器它的生存期,可以动态的分配内存的大小(动态的申请内存空间),也就是这样导致了存取速度慢。不再使用的数据由Java中的垃圾回收机制自动回收。在Java中由new创建出来的对象都是在堆中的,当垃圾回收机制检测到某对象未被引用时,则自动销毁该对象。

包装类数据:Java中的包装数据类型包括Byte、Short、Integer、Long、Float、Double、Boolean、Character。这些数据类型都是存放在堆中的,Java中通过new( ) 操作显示的告诉编译器,当运行时根据需要动态创建,缺点就是速度慢。

String类型:是一种特殊的包装类,也是通过new( )操作动态的创建数据,比如:String s1=new String("abcd");

(3)方法区:又叫静态区,跟堆一样,被所有的线程共享;方法区包含所有的class和static变量;方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。

【版权声明】叽叽歪歪吧提醒您:请在浏览本网站关于《栈和堆的区别(栈和堆分别存放什么)》信息时,请您务必阅读并理解本声明。本站部分内容以及图片来源于商家投稿和网络转载,如网站发布的有关的信息侵犯到您的权益,请及时与我们取得联系,邮箱:20451 17252#qq。com,我们会尊重您的决定并当天作出删除处理。

(0)
上一篇 2022年3月4日 16:53:03
下一篇 2022年3月4日 17:13:03

相关推荐

  • 个人简历工作经历(个人简历教育经历怎么填)

    个人简历工作经历(个人简历教育经历怎么填)想进银行第一步,就离不开网申。网申的含义,顾名思义就是网上申请的意思,也就是在各大银行网站上投递简历。力锐教育发现不少同学对于网申简历中的教育经历、培训经历、项目经历有很多疑问,那今天力锐教育就和大

    2022年3月5日 生活小百科
    21
  • 私家侦探啊费用大概多少钱(110定位找人多少钱)

    私家侦探啊费用大概多少钱(110定位找人多少钱)改革开放以来中国在2021年1月1日颁布民法典后私家侦探行业的业务不断上升,正规侦探都是以民法典为准绳在开展工作,私家侦探行业门槛低入行容易,要达到客户维权力度需要正规靠谱的侦探帮忙。如何选择

    2022年3月10日
    8
  • 苍蝇养殖技术(宠物苍蝇怎么养)

    苍蝇养殖技术(宠物苍蝇怎么养)一提起苍蝇,我想大多数人都会不由自觉地皱起眉头,这是和蟑螂,老鼠,蚊子合称四害的物种之一。由于苍蝇能够传播五十多种疾病,并且无处不在,特别是在农村养殖场,或有粪便和污水的地方,大多数都会有苍蝇泛滥的情况。现如今

    2022年2月26日 生活小百科
    24
  • 没钱怎么办3步来解决 步多多的钱怎么领取

    没钱怎么办3步来解决(步多多的钱怎么领取)步多多是一个可以轻松走路赚钱的app,而且还可以通过领红包、做任务来换取步数,身边不少人都在玩。而步多多一万步能赚多少钱呢?大家可以看看文中介绍。步多多一天一万步能赚多少钱通过官方所给的数据可以看到

    2022年4月23日
    3
  • 经典书籍排行版(人生必读100本书清单)

    经典书籍排行版(人生必读100本书清单)在亚马逊的网站(英文网站)上,有一个人生必读的100本书。据说这个书单没有大数据的成分,完全是根据图书编辑们的阅读经验,经过几个月的掰扯搞出来的一个书单。他们的图书总监说了,希望选的书有代表性,能引领

    2022年2月17日 生活小百科
    20
  • 微信同步聊天记录不被发现 怎么个对方手机微信同步

    微信同步聊天记录不被发现(怎么个对方手机微信同步)拿到新手机后,如何将聊天记录转移到新手机?换机好比换号,会涉及到很多重要数据的迁移,比如App就记录了很多手机用户的聊天记录、照片和视频等,特别是习惯以作为工作社交工具的话,通常也会涉及到很

    2022年4月22日 生活小百科
    3
  • 机械专业就业五年后 近五年就业前景

    机械专业就业五年后(近五年就业前景)说到机械类专业就业前景的话,可以说是相当不错的。不管是从就业率、就业方向、招聘的企事业单位来说,都比较有优势。机械类专业毕业生相对来说是比较抢手的,如果学这个专业,完全不用担心就业这一块。作为家长,在孩子

    2022年4月17日 生活小百科
    3
  • 指甲油弄到地板上怎么去除 指甲油弄到木头上怎么弄掉

    指甲油弄到地板上怎么去除(指甲油弄到木头上怎么弄掉)美甲对于MM们来说应该都不陌生,涂上自己喜欢的颜色,让自己显得更加自信。有时候涂上以后觉得不漂亮想换其他颜色,这就需要把原来的指甲油洗掉才能重新涂抹。怎样才能又快又省力的去掉指甲油呢?下面

    2022年3月20日
    9
  • 骨头汤白色是什么物质(怎么把排骨汤熬成白色)

    骨头汤白色是什么物质(怎么把排骨汤熬成白色)不知道有没有人跟我一样,特别喜欢用排骨的脆骨部分来做汤,再加两块大骨,煮出来的汤非常香浓。我们一家人都是比较喜欢喝汤的,天天喝都不会腻,尤其加点玉米煮出来的汤格外好喝。一顿我可以喝三碗,乳白色的汤

    2022年2月15日 生活小百科
    21
  • 笔记本电脑数字键盘怎么解锁 笔记本电脑数字键盘怎么转换

    笔记本电脑数字键盘怎么解锁(笔记本电脑数字键盘怎么转换)联想G480笔记本键盘上没有数字切换快捷键,有时候是按UIOJKLM这几个键,出现的是4561230,这时要输入字母就要按Fn十字母键比较麻烦,下面说下解决方法。一、如果有外置USB键

    2022年5月4日 生活小百科
    2

发表回复

登录后才能评论