lishankang

博客园 首页 新随笔 联系 订阅 管理

2013年12月31日 #

摘要: 1 如果不知道怎么重载hashcode, eclipse自动代码生成工具会帮助你生成,大概的思路是设定一个int prim, 然后根据各个成员的值或者hashcode值进行某种运算即可,具体什么运算,可以直接设计。2 如果使用的HashSet等Hash性质的,使用的是hashcode, 不是equals, 因为这些值都是根据hashcode的值作为key;3 如果是List的indexOf(), 则使用的是equals, 而不是重载的hashcode值, 除非重载的equals中调用重载的hashcode,一般不用hashcode, 就可以比较出结果。 阅读全文
posted @ 2013-12-31 17:02 havedrop 阅读(163) 评论(0) 推荐(0) 编辑

2013年12月21日 #

摘要: 线程的创建和销毁都会消耗很大的资源,如果有很多短时间的任务,如果为每个任务创建新线程,创建和销毁线程上花费的时间和消耗的系统资源要比花在处理实际的用户请求的时间和资源更多,除了线程的创建和销毁外,活跃的线程也消耗系统资源,比如线程间的切换(线程超过一定数量后,系统的效率会急剧下降),每个线程私有栈所耗内存,所以,系统中线程的数量也要有控制, 因此引入了线程池的概念。建立线程池新建立一个线程池,一般使用util.concurrent包下面的Executors.java类/**create 线程池的最基本的类*corePoolSize: 线程池中保持存活的线程数,包括idle的; *Maxim.. 阅读全文
posted @ 2013-12-21 20:11 havedrop 阅读(232) 评论(0) 推荐(0) 编辑

2013年4月3日 #

摘要: 在solaris的机器上使用 tar -zxvf *.tar.gz 命令解压.tar.gz时会出现"tar: z: unknown function modifier"错误。 而使用 tar -x *.tar.gz 会出现“tar: /dev/rmt/0: No such file or directory”错误。 这是因为该linux下的tar不支持z参数造成的。在这种情况下,可以把解压过程分为两步: gzip -d yourfile.tar.gz。生成一个.tar文件。 tar -xvf yourfile.tar。解压文件。tar的参数, x----代表解压 c---- 阅读全文
posted @ 2013-04-03 16:08 havedrop 阅读(950) 评论(0) 推荐(0) 编辑

2013年3月27日 #

摘要: 对于一个新建的test工程来说,将第三方jar的source放在根目录下,然后点击“Add Folder”,选中jmailsource, 点击OK即可。或者不要把source文件放在project中,点击“Link Source”也行。所以,我们可以直接将source code放在项目中,修改后,再编译成自己的项目。 阅读全文
posted @ 2013-03-27 18:18 havedrop 阅读(859) 评论(0) 推荐(0) 编辑

2013年3月22日 #

摘要: 1、 不要写select *这种语句。 因为有三个缺陷: (1)会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间;(2) 扩展问题,比如程序中写了这个SQL语句,如果又加了一列的话,还要多取出一列数据; (3)造成额外的书签查找或者将查找变成扫描;http://kb.cnblogs.com/page/160066/http://www.cnblogs.com/CareySon/archive/2012/06/14/ChoiceOfDataTypeWhenDesignTable.htmlhttp://oracle.chinaitla 阅读全文
posted @ 2013-03-22 15:09 havedrop 阅读(163) 评论(0) 推荐(0) 编辑

2013年3月21日 #

摘要: JCombox是JSwing中比较常用的组件,它显示的是一个项列表,扩展的是ListModil模型,利用ListCellBenderer来绘制下拉的每个Item。 同时Jcombox也可以作为一个容器, 将JLable, JCheckbox等做为Item显示在下拉项中,构成一个复合组件。下面以下拉选项中是JCheckBox选项(如下图所示)来分析如何构建JCombox的组合组件。首先,JCombox是以ListCellBenderer接口来绘制下拉Item的,所以,Item由以前的String改成JComponent, 必须重新实现该接口,制作自己的Renderer。 ListCellRend 阅读全文
posted @ 2013-03-21 11:27 havedrop 阅读(1542) 评论(0) 推荐(0) 编辑

2013年3月19日 #

摘要: 内部类即是在一个类中定义的一个类。外边的类成为外部类,里面的类成为内部类。外部类前面的修饰符必须是public,内部类的修饰符可以private, public, protected,编译会产生两个类,外部类名.class, 外部类名$内部类名.class一 java内部类的分类和特点java内部类分成四种: 成员内部类, 静态内部类,局部内部类,匿名内部类。成员内部类与外部类的关系,作为外部类的一个成员存在。访问原则,内部类可以访问外部类的任何成员,但是外部类不能访问内部类的成员,可以通过新建内部类的对象来访问内部类的成员,包款private成员,所以,一个内部类的对象对生成它的外部类对象是 阅读全文
posted @ 2013-03-19 11:23 havedrop 阅读(2835) 评论(0) 推荐(0) 编辑

2013年3月15日 #

摘要: 三JformattedTextField限制定长输入,指定某些特殊输入我们经常会遇到比如输入IP地址,输入手机号码等定长输入的场景。这儿我们就用到了和DateFormater, NumberFormater并列的MaskFormatter, 注意: 这三种格式是并列的,所以每次只能使用一种。详见代码:MaskFormatter formatter = new MaskFormatter("###########");formatter.setPlaceholderCharacter('0');JFormattedTextField ssnField = ne 阅读全文
posted @ 2013-03-15 11:21 havedrop 阅读(769) 评论(0) 推荐(0) 编辑

2013年3月14日 #

摘要: JtextField作为Jswing的输入框,里面可以输入任何值,如果有时我们要限制用户的输入,比如保留几位小数点时,就必须加Listener, 在listener中利用getText()获取一个String,再将String转换为某种数据对象进行判断,利用setText()进行值的设定,这样就比较麻烦。Java还为我们提供了一个直接进行input的内容检测的的输入框------JformattedTextField,的内在机制是可以将字符串自动转化为相应的数据对象,你既可以通过getText得到字符串,也可以通过getValue方法得到转化后的数据对象(该对象是一个Object对象,还需要强 阅读全文
posted @ 2013-03-14 17:07 havedrop 阅读(1821) 评论(0) 推荐(0) 编辑

2013年2月27日 #

摘要: 做为一个java的初学者,一直想写出高质量的代码,现收集一些良好的java代码习惯,欢迎各位同行交流!1 循环■ 在重要的循环里,消除循环终止判断时的方法调用。例如:将for(int i=0; i<collection.size();i++){ ... }替换为…for(int i=0; n=collection.size();i<n;i++){...}■ 通常,把与循环index不相关的移到循环的外面for(int i=0; terminal=x.length;i<terminal;i++){x[i] = x[i]/scaleA *scaleB;}应该该成:Double s 阅读全文
posted @ 2013-02-27 11:20 havedrop 阅读(259) 评论(0) 推荐(0) 编辑