2012年8月14日

面向对象原则之GOF是招式,九大原则才是精髓

摘要: 转自:www.cnblogs.com/skyhecheng/archive/2007/09/06/883888.html 只有到了一定层次后才会真正的深入体会到面向对象的一些知识点啊!不谈具体程序,谈的是你对软件的理解模式:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。“模式”这个词是不局限于软件开发行业的,它几乎无处不在,它其实就是一种经验的积累,就象大多数人的教育经历都是从小学到初中再到高中再到大学,这也是一种模式,是中国的教育模式;现在越来越火的出国热,也是另一种模式,海外留学模式比设计模式更重要:GRASP (职责分配原则) GRASP(General 阅读全文

posted @ 2012-08-14 16:26 AllenZhao 阅读(355) 评论(0) 推荐(0)

从控制台读入,典型的装饰者模式

摘要: 这是从控制台读入,典型的装饰者模式: String in =(new BufferedReader(new InputStreamReader(System.in))).readLine(); 阅读全文

posted @ 2012-08-14 15:49 AllenZhao 阅读(129) 评论(0) 推荐(0)

J2SE基础夯实系列之JDBC,链接数据库实例代码

摘要: 标准示例importjava.sql.*; publicclass TestMySQLConn { /** * @param args */publicstatic void main(String[] args) {Connectionconn = null;Statementstmt = null;ResultSetrs = null; try{Class.forName("com.mysql.jdbc.Driver");conn= DriverManager.getConnection("jdbc:mysql://localhost/mydata?" 阅读全文

posted @ 2012-08-14 15:46 AllenZhao 阅读(184) 评论(0) 推荐(0)

静态工厂方法

摘要: 开始读《Effective Java》第二版,对于第一小节,上网找了两篇比较好的说明静态工厂方法的文章,初步理解:所谓的静态工厂方法,就是一个静态方法,可以返回类的实例,可以避免每次都new一个对象。java静态工厂方法 创建类的实例最常见的是new 除此外还可以使用静态工厂方法,来封装实例的细节,并且能控制实例的数量,减轻jvm的堆栈中的压力。静态工厂方法与用new语句调用的构造方法相比,有以下区别:1:构造方法的名字必须与类名相同。这一特性的优点是符合Java语言的规范,缺点是类的所有重载的构造方法的名字都相同,不能从名字上区分每个 重载方法,容易引起混淆。静态工厂方法的方法名可以是任意的 阅读全文

posted @ 2012-08-14 15:42 AllenZhao 阅读(832) 评论(0) 推荐(0)

随机数产生方法小知识点

摘要: 如果想要产生位于0和某个上界之间的随机整数,用next()方法的话,代码如下:[java] view plaincopyprint?Randomr=newRandom();publicintrandom(intn){returnMath.abs(r.nextInt())%n}因为,对于nextInt()方法来说,产生的数是随机的,但是有如下三个缺点:a:如果n是一个比较小的 n的乘方,比较短的周期后,它产生的随机书序列将会重复。b:如果n不是2的平方,平均起来,它产生的数字并不是均匀分布的,有的数字出现的频率比较高。c:第三个缺点是,这个程序有时候可能会产生灾难性后果。如下面的程序:[java 阅读全文

posted @ 2012-08-14 15:38 AllenZhao 阅读(163) 评论(0) 推荐(0)

List中的数据如何根据对象的某一个或多个字段排序引出Comparable和comparator的使用

摘要: 引入题目:List中的数据如何根据对象的某一个或多个字段排序?第一节对于引入题目的探讨首先把引入题目表述的清楚一些,在一个List中存储的是一些对象实例,而对象实例包含多个属性字段,我们要根据对象的某个或者多个属性来对List进行排序。假设List中存储的都是Student类的实例,Student类包含name、gender、id属性。首先根据Student实例中的name属性排序,如果两个名字相同,就再根据id属性排序。Student类源码如下:[java]view plaincopypackagechapter1;publicclassStudent{privateStringname;p 阅读全文

posted @ 2012-08-14 15:33 AllenZhao 阅读(2043) 评论(0) 推荐(0)

使用Arrays.sort()方法,以及涉及到的Comparable和Comparator

摘要: [java]view plaincopyprint?Arrays.sort用法packagetest;importjava.util.Arrays;importjava.util.Comparator;publicclassArraySortDemo{/***整数型数组排序*/publicvoidsortIntArray(){int[]arrayToSort=newint[]{48,5,89,80,81,23,45,16,2};System.out.println("整数型数组排序,排序前:");for(inti=0;i0)return1;if(diff<0)retu 阅读全文

posted @ 2012-08-14 15:30 AllenZhao 阅读(1841) 评论(0) 推荐(0)

使用StackTraceElement封装,打印调试代码!

摘要: 这个是在Alcatel-Lucent实习的时候,学到。 原来老是看别人说要掌握Java的几个API包,例如lang和util,起码要熟悉,本来以为自己已经熟悉了,现在才知道自己还差得远啊。需要上网搜集各包的相关知识,扩展下。 譬如说StackTraceElement这个,可以得到方法的调用栈信息,那么在进行开发的时候,为了比较好的测试,查看代码流程,可以在每个方法的开头还有结尾trace下,这样的话,代码如下:[java]view plaincopyprint?publicclassTrace{publicvoidmethodStart(){StackTraceElementthisMeth. 阅读全文

posted @ 2012-08-14 15:27 AllenZhao 阅读(765) 评论(0) 推荐(0)

File的相关方法代码实例

摘要: 1:Java多种读取文件的方式importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.RandomAccessFile;importjava.io.Reader;publicclas 阅读全文

posted @ 2012-08-14 15:18 AllenZhao 阅读(169) 评论(0) 推荐(0)

通过例子看六种异常处理的陋习

摘要: 六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?1 OutputStreamWriter out = ...2 java.sql.Connection conn = ...3 try { // ⑸4 Statement stat = conn.createStatement();5 ResultSet rs = stat.executeQuery(6 "select uid, name from user");7 while (rs.next())8 {9 out.p 阅读全文

posted @ 2012-08-14 15:14 AllenZhao 阅读(255) 评论(0) 推荐(0)

StringBuffer与StringBuilder的区别

摘要: StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,只是StringBuffer 中的方法大都采用了 synchronized 关键字进行修饰,因此是线程安全的,而 StringBuilder 没有这个修饰,可以被认为是线程不安全的。StringBuffer 始于 JDK 1.0StringBuilder 始于 JDK 1.5从 JDK 1.5 开始,带有字符串变量的连接操作(+),JVM 内部采用的是StringBuilder 来实现的,而之前这个操作是采用 StringBuffer 实现的。 阅读全文

posted @ 2012-08-14 15:10 AllenZhao 阅读(157) 评论(0) 推荐(0)

制作Ubuntu U 盘启动盘在ubuntu12.04中

摘要: 制作U盘启动盘,这样就可以通过U盘来装系统了,简单便携。在Ubuntu下,从dash home中找到Startup disk creator,当然之前把U盘插好,然后很简单的两个选择就好了。 阅读全文

posted @ 2012-08-14 15:00 AllenZhao 阅读(222) 评论(0) 推荐(0)

导航