代码改变世界

随笔档案-2012年10月

Spring框架下类的初始化顺序

2012-10-28 22:05 by chloe_zhou, 9618 阅读, 收藏,
摘要: 序言 之前的已经分析过在不使用框架的情况下,类中各个部分的初始化或执行顺序,后来我在开发中使用了Spring,发现初始化顺序与之前的稍有不同,特别是其初始化以xml配置文档作为驱动,xml中先定义生么类就试图优先实例化这个类,搞得我有点纠结。现在来细细测试研究一下。 这次采用的测试代码与之前的类似:有三个主线类B、C和D,其中D继承C,C继承B,这三个类中均包含static块、普通初始化块和无参的构造方法;有两个辅助类E和F,B中包含E类和F类的成员变量,F类成员变量是static类型,E类的成员变量是普通类型;程序运行入口在A.java中。为了符合Spring的开发思路,增加了两个接口I.. 阅读全文

Java中的文件读写

2012-10-28 00:18 by chloe_zhou, 3789 阅读, 收藏,
摘要: 序言 之前做项目的时候经常使用文件读写相关的功能,但当时忙于赶进度,只是慌忙地copy实现功能,并没有仔细分析其运作原理,今天来仔细学习一下。正文1.文件读写相关的类(1) java.io.InputStream: 抽象类,输入字节流,可以将本输入流中的字节读取出来。 主要方法: void read(byte[] b):从输入流中读取一定数量的字节,将其存储在缓冲区数组b中。(2) java.io.OutputStream: 抽象类,输出字节流,可以接收待输出的字节并将这些字节发送到某个接收器。 主要方法: void write(byte[] b):接收byte数组中的字节,将byte数组.. 阅读全文

Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序

2012-10-26 22:43 by chloe_zhou, 4727 阅读, 收藏,
摘要: 初始化父类static成员变量,运行父类static初始化块-->初始化子类static成员变量,运行子类static初始化块-->初始化父类实例成员变量(如果有赋值语句),执行父类普通初始化块-->父类构造方法-->初始化子类实例成员变量(如果有赋值语句)及普通初始化块-->子类构造方法 阅读全文