Java开发注意事项

一.在函数中不要出现常量,可采用定义静态成员常量的方式.

private static final int NUM = 5;

for(int i=0;i<NUM,i++){

........

}


二.设计模式的使用:

使用的是其思想,不拘泥于具体的代码实现形式.

1.工厂模式:

public static Object newInstance(){

return new Object();

}


2.单例模式:

1)饿汉式单例模式:

private static final ArrayList arraylist = new ArrayList();

2)懒汉式单例模式:

class SingleInstance{

           private static SingleInstance obj;

            private SingleInstance(){};

            public static SingleInstance getInstance(){

                      if(obj == null){

                                  obj = new SingleInstance();

                      }

               return obj;

               }

}

3)DCL(Double-Checked-Lock)单例模式:

class DclInstance{

            private DclInstance(){};

            private static DclInstance obj;

            public static DclInstance getInstance(){

                        if( obj == null){

                                       synchronized(DclInstance.Class){

                                                      if(obj == null){

                                                                     obj = new DclInstance();

                                                          }

                                        }

                         }

              }

}


3.代理模式:

JDBC中连接池使用示例:

        public Connection getInstance() throws SQLException{

                Connection conn = List.remove(0);//没取出一个元素,则将其从连接池中移除

                 return new MyConnection(conn);//利用代理模式,重写Connection类

        }

public class MyConnection implements Connection{

         private Connection conn;

         public MyConnection(Connection conn) {

                 super();

                 this.conn = conn;

         }

          @Override

          public void close() throws SQLException {

                   linkList.add(conn);

                   System.out.println("释放到连接池" + linkList.size());

             }

           @Override

            ..................

}

getInstance()方法中将Connection的对象conn注入到自定义的Connection子类MyConnection中,最后返回MyConnection对象.为了使连接池中的Connection保持数量固定与有效性,重写Connection类,主要目的是覆盖close()方法,其它方法暂未用到,因而沿用父类.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,930评论 18 399
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 10,166评论 1 114
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,388评论 19 139
  • 一. Java基础部分.................................................
    wy_sure阅读 9,246评论 0 11
  • UITextview的自适应高度其实上是比较简单的。1.先要限制UITextview的位置和宽度,一般是用约束。2...
    sz流氓江阅读 4,406评论 0 0