`
dreamstone
  • 浏览: 289001 次
  • 来自: ...
文章分类
社区版块
存档分类
文章列表
在我们编程的过程中经常会遇到这样的问题。for (int i=0;i<n;i++){    String str = //}String str = null
这一段很多比较简单,简单罗列一下,部分重要的做了解释三十一、如果要求精确的答案,尽量避免使用float 和double,这个可以参照我的一片文章货币尤其不合适。可以使用BigDecimal代替三十二、如果其它类型更适合,尽量避免使 ...
二十七、使用零长度数组代替Null作为返回值原因:返回Null会造成使用者每次使用的时候都要作一次判断,但有人会说返回一个零长度数组会产生new的开销,不如Null性能好。这个不是一定的,因为我们可以这样来作private final static Cheese[]  NULL_CHESE_ARRAY = new Cheese[0];每次需要的时候返回这个数组就好了。二十八、为所有的导出Api元素编写文档注释二十九、使一个局部变量的作用域最小化,最好的办法使在第一次使用的时候声明1,几乎每一个局部变量的声明都应该包含一个初始化表达式,如果你还没有足够的信息来初始化那就推迟声明。2,for循环优先 ...
二十三、在函数的开始检查参数的有效性如果函数对参数有要求,例如不接受Null ,不接受负数等等,应该尽可能在函数的最开始给出校验,如果发现错误抛出异常二十四、在需要的时候使用保护性拷贝1,假设类的客户会尽一切手段来破坏这个类的约束条件,在这样的前提下,你必须保护性的设计程序。2,实例import java.util.Date;public final class Period {    private final Date start;
Jdk1.5中支持了泛型,在泛型的使用过程中经常会遇到这样一类问题 类Parent public   class  Parent  {  // your code } 类Child
一、传统通过反射取得函数的参数和返回值 import  java.lang.reflect.Method; import  java.lang.reflect.ParameterizedType; import  java.lang.reflect.Type; import  java.util.ArrayList; import  java.util.Map; import  java.util.List; import  java.util.Set;  im ...
一、传统通过反射取得函数的参数和返回值 import  java.lang.reflect.Method; import  java.lang.reflect.ParameterizedType; import  java.lang.reflect.Type; import  java.util.ArrayList; import  java.util.Map; import   ...
配制一个applicationContext.xml如下 <? xml version = " 1.0 "  encoding = " UTF-8 " ?> <! DOCTYPE beans PUBLIC  " -//SPRING//DTD BEAN//EN "   " http:// ...
Eclipse中最常用的热键: 1,Ctrl+D     删除选中的几行2,Alt+上下箭头    移动选中的代码块3,Alt+左右箭头   回退 前进4,Alt+Shift+上下箭头   复制选中的代码块5,sysout+Ctrl space     生成System.out.println();6,main + Ctrl space     生成最简单的main函数7,Ctrl+Shift+X   切换成大写8,Ctrl+Shift+Y   切换成小写9,Ctrl+Z    取消undo10,Ctrl+Y    redo11,Ctrl+S    保存12,Tab     块缩进13,Sh ...
webwork提供了强大的验证功能,下边一一介绍一些常用的功能的用法。一,首先webwork的validator是基于拦截器的,所以首先要配制一下拦截器,默认的拦截器,已经使用了validator,如果你想定义自己的拦截器组合,记得在你的拦截器的stack中把这句话加入<interceptor-ref name="validation">    <param name="excludeMethods">        input,back,cancel,browse    </param></interceptor ...
有些内容已经是老生长叹,所以只是列举一下,不再详细说明 十四:复合优于继承(Think in java中有不少说明)十五:要们专门为继承而设计,并给出文档说明,要么禁止继承十六:接口优于抽象类(参考一下GOF的设计模式)十七:接口只是被定义类型,不要试图使用常量接口十八:优先考虑静态成员类说明:嵌套类有四种 静态成员类 , 非静态成员类,   匿名类,  局部类  除了第一种之外,其它三种都被称为内部类1,静态成员类是一种最简单的嵌套类,最好把它看成一个普通类,只是碰巧被声明在另一个类内部而已,它可以访问外围类的所有成员,包括那些生民为私有的成员。静态成员类是外围类的一个静态成员,也遵守同样的可 ...
八:改写equals方法时总要改写hashCode原因:来自java.lang.Object关于hashCode的规范1,在一个应用执行期间,如果一个对象的equals方法比较所用到的信息没有修改的话,那么对该对象调用hashCode多次,比如如一的返回同一个数2,如果两个对象的equals方法返回true,那么分别调用hashCode方法返回的值应该相等3,在两个兑现的equals方法返回false时,尽可能的让hashCode方法返回的值不相等,提高散列表的性能分析:如果改写了equals没有改写hashCode在使用map等集合类的时候会出现问题。九:尽可能的改写toString方法,并在 ...
六,避免使用终结(finalizer)函数原因:终结函数通常是不可预测的,一般情况下不要使用,使用的结果会带来很多问题,不稳定,性能差,移植问题等等。分析原因:1,从一个对象不可到达到它的终结函数被执行,这段时间是任意的,不确定的,所以时间关键的系统不应该使用终结函数。2,及时的执行终结函数是垃圾回收算法决定的,这种算法在不同的JVM实现中会大相径庭,使用终结函数的结果就是导致移植性问题3,如果执行终结函数的线程一直低于当前的线程的优先级,很可能造成占用大量内存,极端情况是出现OutOfMemoryError4,JSL不保证终结函数一定被执行,所以不要依赖终结函数来更新关键性的永久状态,例如数据 ...
IText是开源的,对与打印PDF做的还不错,下边一个例子关于IText的,列出了大部份常用的功能。import java.io.FileOutputStream;import com.lowagie.text.Cell;import com.lowagie.text.Document;import com.lowagie.text.Font;import com.lowagie.text.PageSize;import com.lowagie.text.Paragraph;import com.lowagie.text.Table;import com.lowagie.text.pdf.Bas ...
第一条:内容:静态工厂替代构造函数例子:String.valueOf()   getInstance()等静态工厂方法优点:1,可以随意起名字,更好的描述返回对象2,每次调用的时候不一定要创建一个新对象3,可以返回一个原返回类型的子类型对象静态工厂方法的缺点:1,如果类没有公有或者受保护的构造函数就不能被子类化2,不符合规范,破坏规范。在API文档中不会被那么明确的标识出来。第二条:使用私有构造函数强化单态单态的模式大家都知道了,但是使用单态的时候记住要使用私有的构造函数。原因很简单,如果不如此很难保证单态。只要new一下另一个对象就生成了第三条:有些类是不能实例化的,如果你要做到这点,记得使用 ...
Global site tag (gtag.js) - Google Analytics