再读thinking in java -- 第五章 初始化与清理

本文探讨了Java中构造器的使用方式及其限制,包括如何通过this调用不同构造器及static方法的特点。同时深入解析了Java垃圾回收机制,如对象的生命周期、内存管理以及finalize方法的作用。

当类中有多个构造器,在其中一个构造器内可用this()调用其他的构造器,但是只能调用一个,且要放到构造器内部开始处。

除构造器外,编译器禁止其他方法调用构造器(new除外)

static方法就是没有this的方法。static方法内部不能调用非静态方法(反过来可以)。

垃圾回收器只能释放经由new分配的内存。对于非new出来的对象获得的“特殊”内存区域它不知道如何释放。为解决这种情况,java允许类中定义名为finalize的方法。

finalize()的原理可被认为:一旦GC准备好释放对象占用的存储空间,将首先调用finalize方法,并在下一次垃圾回收发生时,才将回收对象占用的内存。

java垃圾回收:1、对象可能不被垃圾回收;    2、垃圾回收不等于析构;    3、垃圾回收只与内存有关。使用GC的唯一原因是回收程序不再使用内存。无论对象如何创建,GC都会负责释放对象占据的内存。

具体可以参考该博客: http://blog.youkuaiyun.com/u010746364/article/details/51555200

该博客中对于第二个结论的程序,若在  a.b = new B(); 后加上 B b= a.b;    则释放a,b的内存也不会释放。这就意味着只要对象有引用存在,对象内存就不会被GC回收。具体的解释需等我看完jvm的内容才能给出。

在编程中应该避免使用finalize,原因:    http://blog.youkuaiyun.com/wuhenzhangxing/article/details/45559999

java不允许创建局部对象,必须使用new创建对象。

无论是垃圾回收或者终结,都不一定会发生。若jvm并未面临内存耗尽的情形,它便不会去执行垃圾回收以恢复内存。

System.gc()用于强制进行终结动作。p89的程序不太明白

GC对于提高对象创建速度有明显的作用。

无法阻止自动初始化的进行,它将在构造器被调整之前发生。

类内部变量定义先后顺序决定了初始化顺序,会在方法(包括构造器)被调用之前得到初始化。

无论创建多少对象,静态数据只占一份存储区域。static不能用于局部变量,构造器实际上是静态方法。静态初始化只在class对象首次加载时进行一次。  

对象创建过程(以dog类为例):

1、首次创建dog对象,java解释器找出类路径,找到dog.class文件;

2、载入dog.class文件,进行静态初始化;  

3、new dog()创建对象时,在堆上为对象分配足够的存储空间;

4、当该空间清零,意味将基本数据类型设置为默认值,引用设为null;

5、执行字段定义出的初始化动作;

6、执行构造器。

若类未加载,调用类的静态成员,将会对类的其他静态成员也进行调用(p97程序)

程序中的块相当于变量

数组越界是运行时错误,即异常。

toString方法默认打印类名加上对象地址。

可变参数可以不显示编写数组语法    public void function(Object ... args)中输入参数可以是几个对象,不用在一个数组中。对于可变参数,可以不传值进入方法。可变参数不依赖自动包装,传的是基本类型,其类型基本类型。

枚举类型关键字:enum    创建enum编译器自动添加一些特性:eg. toString方法;ordinal方法,特定常量的声明顺序;static value方法,按声明顺序产生由常量构成的数组。    enum相当于类

内容概要:本文档介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行仿真分析的技术方案,重点在于模拟超MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]宽带脉冲信号通过天线结构的传播过程,并计算微带结构的回波损耗参数(S11),以评估天线的匹配性能和辐射特性。该方法通过建立三维电磁场模型,精确求解麦克斯韦方程组,适用于高频电磁仿真,能够有效分析天线在宽频带内的响应特性。文档还提及该资源属于一个涵盖多个科研方向的综合性MATLAB仿真资源包,涉及通信、信号处理、电力系统、机器学习等多个领域。; 适合人群:具备电磁场微波技术基础知识,熟悉MATLAB编程及数值仿真的高校研究生、科研人员及通信工程领域技术人员。; 使用场景及目标:① 掌握3D FDTD方法在天线仿真中的具体实现流程;② 分析微带天线的回波损耗特性,优化天线设计参数以提升宽带匹配性能;③ 学习复杂电磁问题的数值建模仿真技巧,拓展在射频无线通信领域的研究能力。; 阅读建议:建议读者结合电磁理论基础,仔细理解FDTD算法的离散化过程和边界条件设置,运行并调试提供的MATLAB代码,通过调整天线几何尺寸和材料参数观察回波损耗曲线的变化,从而深入掌握仿真原理工程应用方法。
内容概要:本文系统介绍了无人机测绘在多个领域的广泛应用,重点阐述了其在基础地理信息测绘、工程建设、自然资源生态环境监测、农业农村管理、应急救灾以及城市管理等方面的实践价值。无人机凭借灵活作业、低成本、高精度和快速响应的优势,结合航测相机、LiDAR、多光谱、热成像等多种传感器,能够高效获取DOM、DSM、DEM、DLG等关键地理数据,并生成三维模型,显著提升测绘效率精度,尤其适用于复杂地形和紧急场景。文章还强调了无人机在不同时期工程项目中的动态监测能力及在生态环保、土地确权、灾害应急等方面的数据支撑作用。; 适合人群:从事测绘、地理信息系统(GIS)、城乡规划、自然资源管理、农业信息化、应急管理等相关工作的技术人员管理人员;具备一定地理信息基础知识的专业人员;无人机应用从业者或爱好者。; 使用场景及目标:①了解无人机测绘的技术优势及其在各行业中的具体应用场景;②为实际项目中选择合适的无人机测绘方案提供参考依据;③支持政府部门、企事业单位在土地管理、工程建设、灾害应对等领域实现数字化、智能化决策。; 阅读建议:此资源以应用为导向,涵盖了技术原理实践案例,建议结合具体业务需求深入研读,并可进一步索取“无人机测绘设备选型作业流程清单”以指导实际操作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值