码迷,mamicode.com
首页 > 编程语言 > 详细

Java 高质量代码笔记

时间:2015-03-15 07:17:26      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

 【】尽力编写单元测试.

  Android 一般使用 JUnit,也有很多其它不同的测试框架.

 看看单元测试的重要性:http://www.csdn.net/article/2012-04-10/2804366

技术分享

【】强烈建议使用UTF-8编码

【】性能考虑,数组是首选

【】线程安全的单例模式

public final class DoubleCheckedSingleton   
{   
    private static DoubleCheckedSingletonsingObj = null;   
   
    private DoubleCheckedSingleton(){   
    }   
   
    public static DoubleCheckedSingleton getSingleInstance(){   
        if(null == singObj ) { 
              Synchronized(DoubleCheckedSingleton.class){ 
                     if(null == singObj) 
                           singObj = new DoubleCheckedSingleton(); 
              } 
         } 
       return singObj; 
    }   
}

  另一种方式:http://www.it165.net/pro/html/201403/11212.html

package com.troy.young.thread;
/**
* 线程安全的单例类
*
* @author Administrator
*
*/
public class SingleTon {
/**
* 定义他的构造方法,让外部没有办法是用new去构造该对象
*/
private SingleTon() {
}
/**
* 定义内部类对单例进行实例化。
* 首先内部类是static的,保证了该类在内存中只有一份,同时他的成员变量是final static的,则又再次保证他的单一性。
* 同时由于JLS会保证类的线程安全。
* @author Administrator
*
*/
private static class SingleTonHolder {
public final static SingleTon instance = new SingleTon();
}
/**
* 提供获取实例的方法
* @return
*/
public static SingleTon getInstance() {
// 直接获取内部类的变量
return SingleTonHolder.instance;
}
}

【】多线程使用 Vector 或 HashTable

【】使用枚举实现 工厂方法模式 更简洁

  UML图展示 FordCar 和 BuickCar:

  技术分享

  DEMO:

 public class Test {
 
 enum CarFactory {
  FordCar {
   public Car create() {
    return new FordCar();
   }
  },
  BuickCar {
   public Car create() {
    return new BuickCar();
   }
  };
  public Car create1() {
   switch (this) {
   case FordCar:
    return new FordCar();
   case ... ...
   default:
    throw new AssertionError("无效参数");
   }
  }
  public abstract Car create();
 }
 
 public void test() {
  CarFactory.BuickCar.create();
  CarFactory.BuickCar.create1();
 }
 
}

 

 

Java 高质量代码笔记

标签:

原文地址:http://my.oschina.net/hailongqiu/blog/387151

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!