thinking in java(III)--initialization and cleanup
来源:互联网 发布:非凡软件站安全吗 编辑:程序博客网 时间:2024/06/05 00:48
今天看了第四章
Initialization and Clean up
构造函数是自然而又有效的一个设定
构造函数被调用前,对象的自动初始化动作不受程序员控制,但是调用后对象会处于你所希望的状态
关于构造函数的argument list
能够进行宽化转型,但是窄化转型需要明确的标识,具体参见书中冗长的例子。。。
记忆清除,这是和C++迥异的地方
三句话,大体描述了整个机制
1.垃圾回收不等于析构
2.对象可能不会被回收
3.垃圾回收只回收内存
垃圾回收的流程是这样子
在heap内存即将枯竭时,垃圾回收器自动启动
当确定该对象空间可被释放时,即该对象未被执行部分引用,首先调用该对象finalize(),然后回收该段内存
举个例子说,一个对象绘制了一个圆,满足清除该对象空间的条件时,开始垃圾回收流程
对象被释放了,但是圆依然存在,这可以视为一个BUG
实际上,需要自己编写一个方法来将这个圆抹去,完成除释放空间之外的所有善后工作
因此,finalize的功能略显尴尬,它判断对象是否达到了死亡条件,空间可否被释放
必要的话,你也可以加一些输出语句来观察内存回收情况
可以这么说,垃圾回收器干且只干回收垃圾这一码事,而不负责清理垃圾所造成的污染
而且要到内存有空了才主动出来收拾,
因此程序运行完后大有可能你的对象依然存在
毕竟调用一次垃圾回收动作开销还是很大的,一点点垃圾就让它暂时留着吧
- thinking in java(III)--initialization and cleanup
- Thinking in Java(8)-inheritance and cleanup
- 【学习笔记】Thinking in java (第三版)第四章 初始化和清除(Initialization & Cleanup)
- 处理教材:Initialization & Cleanup of "Thinking in Java"
- Think In Java 笔记1 initialization & Cleanup
- Relearning in JAVA: 5)Initialization & cleanup
- Thinking in Java(7)-Guaranteeing proper cleanup
- 6: Initialization and Cleanup
- 看了thinking in java 的initialize and cleanup 的一点总结
- Thinking in java-1 Initialization 初始化
- 读书笔记-Thinking in C++-第6章 初始化和清除Initialization& Cleanup
- Cleanup总结---Thinking in java 英文版部分小结
- Initialization & Cleanup
- Initialization & Cleanup
- thinking in java(V)--composition and inheritance
- Thinking in java (RTTI And Reflection)
- Thinking in Java(9)-closures and callbacks
- Thinking in Java [Java编程机制] 学习笔记 -- 初始化顺序Order of initialization
- Android开发之错误解决办法
- HDU 纸牌木板
- HDOJ1009
- android软键盘的一些控制
- 新浪公司总裁兼首席执行官 曹国伟
- thinking in java(III)--initialization and cleanup
- [usaco]4.3.1 最长递减子序列 和超级整型数
- 零和无穷
- RIAPlayer播放器不能用的问题解决
- 骑士聚会问题
- 为什么中国的程序员技术偏低
- 点击改行table中的tr则变为红色其他变为白色
- 二叉排序树的建立以及相关操作 C语言
- 【线段树】City Horizon