
Java
iteye_14294
这个作者很懒,什么都没留下…
展开
-
Java5关于方法泛型的一个用法
[code="java"] protected void setCurrentAttribute(List entities, String name) { for (T entity : entities) { ExtAttrVo[] attributes = ((BaseExtAttrObject)entity).getExtAttrList(); for (ExtAtt...2007-12-20 11:07:29 · 89 阅读 · 0 评论 -
JVM调优汇总
[b]参考网址[/b][url]http://pengjiaheng.spaces.live.com/blog/cns!2DAA368B386E6AEA!770.entry[/url] 这个讲的比较全面, 比较入门[url]http://blog.youkuaiyun.com/Peart_Boy/archive/2006/10/01/1313413.aspx[/url] 讲的基本概念不错, 虽然比较老...原创 2010-02-21 19:18:03 · 181 阅读 · 0 评论 -
《effective java》 读书笔记
[align=center][img]http://img3.douban.com/lpic/s3479802.jpg[/img][/align]读第一版已经是好几年前的事儿了, 现在想起来也没什么印象, 也没什么收获, 估计那会儿刚接触java, 还是个菜鸟, 很多东东都不甚了解. 虽然一直在用java, 不过大部分都是用一些很常见的东西, 其实java还有很多细节和技巧值得我们去发掘和实践...原创 2011-07-02 14:52:04 · 355 阅读 · 1 评论 -
Predicate用法举例
Predicate 是jakarta commons工具包中一个非常有用的接口, 它主要在对容器类遍历的时候做一些"手脚", 比如根据一定的规则, 逻辑, 对容器对象进行过滤.在实际开发中我们就碰到一个类似的场景:一个商品可以根据发往所在地来设置邮费项, 比如一个手机电池从上海发往北京和发往新疆的邮费是不一样的, 于是我们可以设置一些邮费模板项, 但是这些邮费模板项必须是唯一, 比如我设置...2009-10-09 10:52:44 · 1797 阅读 · 0 评论 -
关于方法返回值的两种处理模式
目前在处理返回值方面, 有两种代码风格:一种是这样:[code="java"]result = method1();if (result is error){ //根据返回结果判断是否退出 ...//加错误码 return result;}result = method2();if (result is error){ //根据返...原创 2010-05-13 09:06:13 · 523 阅读 · 0 评论 -
用java实现"awk -d"功能(保留多行重复)
一般用过linux脚本的都知道"awk -d"的用法: 只显示有重复数据行,每种重复行只显示其中一行.而我的需求是希望显示所有的重复行, 而不是只是一行. 因为目前对shell脚本不是很熟练, 下面是java代码的实现,感觉比想象的复杂, 备忘一下: [code="java"]public class ReadCardCode { public static void m...原创 2010-06-07 21:48:37 · 334 阅读 · 0 评论 -
《Java Performance》书评
[img]http://img3.douban.com/lpic/s6983867.jpg[/img]原文: [url]http://java.dzone.com/reviews/java-performance[/url]这个是老外写的关于《Java Performance》的书评,以前对这个东西也有所接触和了解, 最近略有实战, 希望有空能翻翻这本书。 本书涵盖了...原创 2012-01-15 18:32:40 · 187 阅读 · 0 评论 -
利用jOOR简化Java 反射使用
原文:[url]http://lukaseder.wordpress.com/2011/12/29/a-neater-way-to-use-reflection-in-java/[/url]Java的反射机制是Java一个非常强大的工具, 但是和大多数脚本语言相比, 使用起来却是有种"懒婆娘的裹脚布——又臭又长"的感觉. 比如在PHP语言中, 我们可能这样写:[code=...2012-01-15 20:39:04 · 211 阅读 · 0 评论 -
《Java开发超级工具集》读书笔记
[align=center][img]http://img1.douban.com/lpic/s4135994.jpg[/img][/align]"工欲善其事必先利其器", 在平时的开发中我们会接触各种工具, 如果没有接触过, 可以看看这本书, 如果某种工具已经很熟练了, 可以看看有什么可以借鉴, 如果平常工作中基本不会用到, 可以直接跳过. 因为大而且全, 所以整本书比较厚, 但是如果要深...原创 2011-09-28 08:59:04 · 129 阅读 · 0 评论 -
《细说Java》读书笔记
[align=center][img]http://img3.douban.com/lpic/s6183273.jpg[/img][/align]国人写的, 感觉是一个Java编程注意事项的汇编(涉及到JDK5以后的特性比较少), 适合Java入门不久, 对一些细节了解不深入的人看, 当然老鸟也可以翻翻用来查缺补漏, 巩固所学所用. 如果高阶的可以看看===============我是...原创 2011-10-05 15:01:40 · 187 阅读 · 0 评论 -
Java编程最差实践
原文地址:[url]http://www.odi.ch/prog/design/newbies.php[/url]每天在写Java程序, 其实里面有一些细节大家可能没怎么注意, 这不, 有人总结了一个我们编程中常见的问题. 虽然一般没有什么大问题, 但是最好别这样做. 另外这里提到的很多问题其实可以通过Findbugs( [url]http://findbugs.sourceforge.net...2012-02-04 17:54:45 · 374 阅读 · 0 评论 -
正确使用日志的10个技巧
做一个苦逼的Java攻城师, 我们除了关心系统的架构这种high level的问题, 还需要了解一些语言的陷阱, 异常的处理, 以及日志的输出, 这些"鸡毛蒜皮"的细节. 这篇文章是JCP成员, Tomasz Nurkiewicz( [url]http://nurkiewicz.blogspot.com/[/url] )总结的10条如何正确使用日志的技巧(参见[url=http://nurkiew...2012-02-11 21:13:05 · 4336 阅读 · 0 评论 -
如何计算一个合适的线程池大小参数
原文在[url=http://www.javacodegeeks.com/2012/03/threading-stories-about-robust-thread.html]这里[/url]下面是一个计算的框架代码:[code="java"]/** * A class that calculates the optimal thread pool boundaries. It t...原创 2012-04-02 20:57:42 · 1246 阅读 · 0 评论 -
一个读写锁的例子
用的比较少, 做一个参考. 原文在[url=http://examples.javacodegeeks.com/core-java/util/concurrent/reentrant-readwritelock-example-of-value-calculator]这里[/url][code="java"]public class Calculator { private int ...原创 2012-04-02 21:20:53 · 299 阅读 · 0 评论 -
一个同步队列例子
这个用的也比较少, 做一个参考, 原文见[url=http://examples.javacodegeeks.com/core-java/util/concurrent/synchronous-queue-example-to-execute-commands]这里[/url][code="java"]private BlockingQueue workQueue = new Linked...原创 2012-04-02 21:35:02 · 184 阅读 · 0 评论 -
使用枚举实现一个状态机
非常巧妙的一个使用枚举的例子.原文见[url=http://www.javacodegeeks.com/2011/07/java-secret-using-enum-to-build-state.html]这里[/url][code="java"]interface Context { ByteBuffer buffer(); State state(); voi...原创 2012-04-02 23:14:54 · 672 阅读 · 0 评论 -
使用ThreadLocal保证DateFormat线程安全
大家都知道DateFormat是线程非安全的, 一般在多线程环境下, 必须为每一次日期时间的转换创建一个DateFormat, [url=http://www.javacodegeeks.com/2010/07/java-best-practices-dateformat-in.html]这里[/url]有一个更高效的做法:[code="java"]package com.javacodege...原创 2012-04-03 06:45:26 · 267 阅读 · 0 评论 -
关于java的检查异常和非检查异常
[url=http://www.javacodegeeks.com/2012/03/why-should-you-use-unchecked-exceptions.html]这里[/url]有一个关于java的检查异常和非检查异常的观点, 我比较赞同, 就是对于业务系统来说, 基本上用非检查异常来代替检查异常.而在一些被广泛使用的类库中, 可以采用检查异常. 对于业务系统在调用类库的时候, 一般会...原创 2012-04-04 21:31:34 · 298 阅读 · 0 评论 -
获取字符串中的字节长度
[size=small]简单的实用String.getBytes()也可以取得字符长度, 但是当实用不同的字符集的时候就会出现问题, 因此下面的代码是最好的统计字符长度的方法.比如要检查"名称不能多于60个字符或者30个汉字".[code="java"] /* * * 计算字符串的字节长度(字母数字计1,汉字及标点计2) * */ public static int b...原创 2008-12-09 09:53:35 · 683 阅读 · 1 评论 -
最近用到的一个java方法泛型
[code="java"] /** * 根据指定的类型(targetClazz)实例化一个bean,并将source bean的属性赋值给实例化的bean * * @param source * @param targetClazz * @return */ public static T beanUtils(Object source, Class...原创 2008-11-28 11:15:30 · 138 阅读 · 0 评论 -
最近碰到的一个诡异性能测试的问题
最近采用spring aop对一个对数据库表每小时百万次访问的操作作了一个缓存处理, 完了之后, 交给测试组进行性能测试, 结果发现, 结果很不稳定, 而且性能也不理想, 应用跑一段时间之后, tps呈现下降趋势, 百思不得其解:[img]http://macrochen.iteye.com/upload/picture/pic/40462/278a8228-e26e-384b-a601-3a...原创 2009-07-13 22:10:35 · 144 阅读 · 0 评论 -
JasperReports学习笔记
reference:http://www.javaworld.com/javaworld/jw-09-2002/jw-0920-opensourceprofile.htmlJasperReports是一个非常流行的开源报表工具所有的报表工具都离不了三个步骤:第一个就是定义报表模板, 第二个就是给模板填充数据, 第三个就是将最终数据的报表输出。JasperReports的模板文件是一...2008-02-22 10:26:20 · 200 阅读 · 0 评论 -
java 初始化顺序
父类--静态变量 父类--静态初始化块 子类--静态变量 子类--静态初始化块 父类--变量 父类--初始化块 父类--构造器 子类--变量 子类--初始化块 子类--构造器 同一层次静态变量和静态块之间的执行顺序是他们所在位置的顺序...原创 2008-12-13 15:51:58 · 95 阅读 · 0 评论 -
可变参数与方法泛型应用举例
[size=medium]泛型现在开发中用的比较多, 但是可变参数用的比较少, 我突然发现很多功能只有在应用才能发现他的好处, 以前也知道jdk1.5已经开始支持可变参数了, 也知道是怎么回事, 但是从来没有用过, 今天在写单元测试的时候, 有时候需要构造一个List, 于是每次要new一个ArrayList, 然后一次次的add, 做一次无所谓, 做的多了, 人就烦了, 能不能有更好的方式来减轻...原创 2008-12-14 15:09:31 · 169 阅读 · 0 评论 -
Class和ClassLoader的getResourceAsStream()方法
from:http://blog.youkuaiyun.com/explorers/archive/2007/08/02/1722740.aspx这两个方法还是略有区别的, 以前一直不加以区分,直到今天发现要写这样的代码的时候运行错误, 才把这个问题澄清了一下。基本上,两个都可以用于从 classpath 里面进行资源读取, classpath包含classpath中的路径和clas...原创 2008-12-15 12:13:19 · 126 阅读 · 0 评论 -
java位操作应用一则
这里我写了一个基类, 来对选项进行位操作.采用位来作为判断是否包含某个选项, 而所有的选项常量都采用"1原创 2009-01-08 23:07:19 · 114 阅读 · 0 评论 -
一个分页类
[code="java"]/** * 封装分页信息 * */public class Pagination implements Serializable{ private static final long serialVersionUID = -4263336128482001626L; private int total; // 总记录数 private i...原创 2009-01-09 15:55:18 · 113 阅读 · 0 评论 -
Apache common-pool, common-dbcp源码解读与对象池原理剖析
最近在做一个内部测试工具类的优化工作中接触到了连接池, 对象池技术, 将原有的未使用连接池的数据库访问操作改成连接池方式.性能有了非常大的提升, 事实证明, 经过两次改造, 原来一个比较大的测试类需要500多秒, 第一次优化后只需要300多秒, 第二次改用连接池之后同一个测试类只需要80多秒.下面是改造过程中的一些总结.对象池就是以"空间换时间"的一种常用缓存机制, 这里的"时间"特指创建时间...2009-01-22 21:06:06 · 246 阅读 · 0 评论 -
Java学习笔记(适合面试前复习)
[size=medium][b]Java基础[/b]基本类型不是new出来的则是放在栈里面,对象的引用也是放在栈里面的,只要是用new()来新建对象的,都会在堆中创建String类被设计成为不可改变(immutable)的类。如果你要改变其值,可以,但JVM在运行时根据新值悄悄创建了一个新对象,然后将这个对象的地址返回给原来类的引用。这个创建过程虽说是完全自动进行的,但它毕竟占用了更多...2008-07-17 18:05:38 · 144 阅读 · 0 评论 -
web中的几种路径
[size=medium]web中的几种路径:[color=red][b]servletContext.getRealPath("/")[/b][/color] , 这个是得到应用的绝对路径, 比如:F:\apache-tomcat-5.5.17\webapps\baiyao\[color=red][b]request.getServletPath()[/b][/color] 这个是得到引...2008-07-28 22:39:46 · 204 阅读 · 0 评论 -
spring与jmx
JMX应该说是关于网络应用管理的的框架,如果你开发了一个比较复杂的系统,无疑你要提供这个系统的自身管理 系统,JMX更多应用是体现在Server上,如果你要使用java开发一个自己Server或复杂的应用系统,那么推荐你基于JMX架构来开发, JBoss 3.0 weblogic等就是基于JMX开发的符合J2EE规范的服务器软件。 了解JMX可以使你深入了解J2EE服务器, 为什么我们平时...2008-09-24 10:11:40 · 359 阅读 · 0 评论 -
ibatis参数传递小技巧
使用ibatis操作数据库的时候, 如果这个操作需要一些参数, 一般我们会使用map将这些参数封装起来, 然后调用SqlMapClient或者SqlMapClientTemplate的update, insert, queryForXxx方法. 每次构造这个map, 重复性的东东比较多, 于是改进了一下. 在基类DAO中构建了一个内部类:[code="java"] /** ...2009-10-30 14:21:18 · 306 阅读 · 0 评论 -
Ibatis TypeHandler使用总结
ibatis中有一个TypeHandler(准确的说应该是TypeHandlerCallback), 这个接口一般用的比较少, google一下, 大部分就是用来将数据库中的值与java的枚举值或者clob与字符串之间的转换. 最近本人也用到了这个东东. 不过我们使用的是将保存在数据库中以一定分隔符连接的字符串转换成List类型. 开始不知道有TypeHandler这个东东, 于是在JavaBea...2009-11-25 19:33:05 · 261 阅读 · 0 评论 -
java正则表达式用法举例
java正则表达式真难用啊, 这里整理一个java正则表达式用法举例, 比较全, lookingAt()方法比较变态, 备忘[code="java"]public class PatternTest { public static void main(String[] args) { /* * 常用的调用 */ ...原创 2009-12-08 11:27:00 · 140 阅读 · 0 评论 -
log4j的输出转换模式
转换模式(conversion pattern)为"%r [%t] %-5p %c - %m%n"的PatternLayout将生成类似于以下内容的输出:176 [main] INFO org.foo.Bar - Located nearest gas station.在上面的输出中:* 第一个字段表示自程序开始到发出日志记录请求时所消耗的毫秒数* 第二个字段表示发出日...原创 2009-12-12 10:02:41 · 209 阅读 · 0 评论 -
多线程, 并发编程知识总结
[b]引子[/b]一点体会:对并发和多线程的学习理解, 最好多作几个例子跟踪调试实战一把, 可能会理解的更深刻些. 比如像我这样 :) [b]Java内存模型[/b]共享数据保存在主存储器中, 计算机将数据中主存储器读到寄存器中, 然后进行操作, 一般情况下, 对寄存器的操作速度要比主存储器要快.[b]Lock(锁机制)[/b]...[b]synchroni...原创 2009-05-13 15:05:24 · 120 阅读 · 0 评论 -
[zt]如何才算掌握Java,顺便调查一下大家都掌握到什么程度
时常看到一些人说掌握了Java,但是让他们用Java做一个实际的项目可能又困难重重,在这里,笔者根据自己的一点理解斗胆提出自己的一些对掌握Java这个说法的标准,当然对于新手,也可以提供一个需要学习哪些内容的参考。另外这个标准仅限于J2SE部分,J2EE部分的内容有时间再另说。1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修...2007-10-12 22:54:41 · 120 阅读 · 0 评论 -
netbeans与eclipse结合使用
netbeans中的uml功能不错, 于是希望能将eclipse开发的java项目在netbeans中来创建uml的类图, 其步骤如下:1.选择从已有代码在netbeans中新建一个java项目2.新建一个uml项目, 项目类型为"Reverse Engineered Java-PlatForm Model", 根据已有的java项目创建一个uml项目然后就可以根据java代码生成um...原创 2008-10-20 21:17:10 · 352 阅读 · 0 评论 -
使用Externalization更高效的实现java对象序列化
Externalization没用过, 它通过牺牲默认序列化的灵活性来获得高性能. 在某些场景下可以采用这种方式, [url=http://www.javacodegeeks.com/2010/07/java-best-practices-high-performance.html]这里[/url]是一个例子:[code="java"]package com.javacodegeeks.tes...原创 2012-04-04 22:38:27 · 295 阅读 · 0 评论