java的堆栈通俗理解
2024-09-25 21:58:57
java内存模型有堆内存和栈内存, 初学者可能看官方解释很模糊
堆:new 出来的对象或者数组都存放在堆中; List <String> list =new ArrayList<String>();此时这个List 对象就放在堆中。
栈:在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配
public void add(String hhhh){
sysout(hhhh);
}
看到这个add 方法 了, hhhh 就是一个引用变量 , 假如 这里要A调用这个方法 add("你好"); JVM 如何调用的了, 先找到这个方法 。 创建一个String , 引用类型叫hhhh ,并对hhhh赋值: String hhhh="你好";
这个方法调用完了, hhhh 就在栈 中被释放了, 而堆不一样, new 的 对象 会根据垃圾回收不定时删除, 这个就是区别;
最新文章
- GridView控件RowDataBound事件中获取列字段途径
- 搞netty
- 浅谈分治算法在OI中的应用
- Native SQL
- 微信JS SDK Demo 官方案例
- hdu 2051
- QT窗口拖拽功能简单应用(处理dragEnterEvent和dropEvent事件,不同的事件有不同的信息,比如mimeData)
- 第七十五节,CSS表格与列表
- hibernate ——关联关系
- “最美天气”版本II
- Swift基础之两指拉动图片变大变小
- Android源码浅析(五)——关于定制系统,如何给你的Android应用系统签名
- python模块_hashlib详解
- 报错解决——Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
- LinkedList的自定义实现
- 数据库相关 Mysql基本操作
- WOSA/XFS PTR Form解析库—xfsptrdata.h
- HDU 4632 区间DP 取模
- 高并发第十单:J.U.C AQS(AbstractQueuedSynchronizer) 组件:CountDownLatch. CyclicBarrier .Semaphore
- C# 打包
热门文章
- eax,ebx,ecx,edx,esi,edi,ebp,esp寄存器的作用
- iOS之SceneKit.h文件简介
- idea从github中pull或者push成功之后ssm项目全部controller报红色下划线的解决方案
- F - GCD - Extreme (II) UVA - 11426
- 数据库连接JDBC
- 02-python 学习第二天
- ajax无刷新上传
- 如何使用Spark大规模并行构建索引
- C++返回引用的需求
- .Global.asax.cs中的方法的含义