`
caizi0413
  • 浏览: 6828 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
文章列表
1.object定义 protected  void finalize() //定义为子类可见 2.执行时机不可预知 当一个对象变得不可触及时,垃圾回收器某个时期会回收此对象。 当回收对象之前会调用finalize方法,这类似于人类临终之前必须做一件事情:写遗言。 因为GC是不确定性的(这跟JVM相关),所以finalize方法的执行具有不可预知性。 3.finalize忽略异常 即finalize代码中若出现异常,异常会被忽略 4.finalize使用 什么时候使用?一般来说,finalize被作为第二种安全网来使用,如FileInputStream类, 当对 ...
public static void main(String[] args) { StringBuilder sbl = new StringBuilder(); StringBuffer sbf = new StringBuffer(); String str = ""; long t1 = new Date().getTime(); /** * StringBuilder跟StringBuffer一样,但后者是线程安全的,即所有方法加上关键字synchronized,所以一般情况下考虑使用StringBuilder * 字符串的+号操作事 ...
Object类的clone方法如下定义 protected  Object clone() // 创建并返回此对象的一个副本 这意味着:这只能在内部调用,外部不能像这样new XXOBJECT().clone()直接调用。 clone方法是本地方法,是native的,要想实现克隆功能,子类需要做到如下几步: 1 声明实现Cloneable接口(Object没有实现,所以会抛出异常,同时也说明子类需要克隆则也需要重写clone方法)。 2 调用super.clone得到一个对象(注意:对于基本数据类型和不可变类型(String)的克隆是相等且独立的,即操作互不影响) 3 把浅copy的引用 ...
甚是悲哀,工作都已经两年半了,对hashcode和equals还是似懂非懂... 这两天决定找些资料来研究研究,如下即是个人理解,欠妥之处请批评指正。 1.在java里面,默认情况下所有的类都会继承Object类。所以,我们先开始了解Object类里面的 hashcode与equals方法。 public native int hashCode();//调用java里面的本地方产生哈希码 public boolean equals(Object obj) {//这里比较对象地址 return (this == obj); } public String toString() {//默 ...
1.面向接口编程,而非实现类 2.优先考虑使用复用,然后是继承 3.恰当时机使用静态方法代替构造方法(一般使用于工具类)       好处:可以使代码起到顾名思义作用             可以提高效率,不需要创建对象 4.偏爱不可变性(如String  BigDecimal) 不可变性:创建之初已经决定,生命期间不能更改。 5.将class及其成员进行最小化存取(即public protected private使用) 6.interface 只应当被用来定义型别 7.消除过期的对象引用,以防内存泄露       如,ArrayList 里面的代码       elemen ...
I have read a book about how to become a better developer. Here are some advices as bellow . 1. reading a book once a month 2. learn a new technelogy once a month 3. reading blogs and writing your blog 4. joining in opensource project 5. practicing and thinking Don't ever let somebody tell yo ...
今天看了适配器设计模式,似懂非懂。 诸多概念和代码示例就不copy过来了。 于此,仅仅想言简意赅描述一下, 同时,也证明自己看过而已。 什么叫适配器? 简单地说,就是在不破坏现有功能的前提下,通过组合或继承封装现有功能而派生出新的类,使满足新的需求。 适配器模式分为:类适配器模式和对象适配器模式。前者通过继承实现,后者通过组合实现。 事实上,适配器使用到两个编程所需要注意的原则: 一,避免重新造轮子; 二,尽量使用聚合而非继承。 为什么JDK内置的适配器都是空实现呢? 本身adapter没有什么作用,只是帮助程序员专注所实现的功能,使代码简洁优雅罢了。
以下代码整理别人的,加上自己的认识,做些注释,当是笔记。 (1)第一种方式:通过final static 关键字直接让类加载时就初始化,简称恶汉式 public class SingletonClass {   private static final SingletonClass instance = new SingletonClass();   public static SingletonClass getInstance() {   return instance;   }   private SingletonClass() {   } } 因为如上代码,类一加载就初始化了,如果 ...
Global site tag (gtag.js) - Google Analytics