java 堆和栈的区别

栈内存:

  • 程序在栈内存中运行

  • 栈中存的是基本数据类型和堆中对象的引用

  • 栈是运行时的单元

  • 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据

  • 一个线程一个独立的线程栈

堆内存:

  • 程序运行所需的大部分数据保存在栈内存中

  • 堆中存的是对象

  • 堆是存储的单元,堆只是一块共享的内存

  • 堆解决的是数据存储的问题,即数据怎么放,放在哪儿

  • 所有线程共享堆内存

Java中的参数传递( 传值呢?还是传引用? ):

  • 程序运行永远都是在栈中进行的,因而参数传递时,只存在传递基本类型和对象引用的问题,不会直接传递对象本身

参考资料:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、概述 在Java中,内存分为两种,一种是栈内存,另一种就是堆内存。 2、堆内存 1.什么是堆内存? 堆内存是是...
    EphemeralAurora阅读 10,277评论 0 4
  • 1、概述 在Java中,内存分为两种,一种是栈内存,另一种就是堆内存。 2、堆内存 2.1 什么是堆内存? 堆内存...
    北上杭不相信秃头阅读 1,355评论 0 0
  • 1、概述 在Java中,内存分为两种,一种是栈内存,另一种就是堆内存。 2、堆内存 1.什么是堆内存? 堆内存是是...
    幸运年轮阅读 1,333评论 0 0
  • 1、概述 在Java中,内存分为两种,一种是栈内存,另一种就是堆内存。 2、堆内存 堆内存是是Java内存中的一种...
    Winterfell_Z阅读 4,643评论 0 0
  • 这篇文章是我之前翻阅了不少的书籍以及从网络上收集的一些资料的整理,因此不免有一些不准确的地方,同时不同JDK版本的...
    高广超阅读 15,953评论 3 83

友情链接更多精彩内容