MDA/MDD/TDD/DDD/DDDDDDD
posts - 536, comments - 111, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

http://waffle.codeplex.com/
Windows Authentication Functional Framework

posted @ 2010-08-01 14:18 leekiang 阅读(374) | 评论 (0)编辑 收藏

    public void testBigDecimalEquals() {
        assertEquals(new BigDecimal("3.50"),new BigDecimal("3.5"));//不相等
    }

 System.out.println(0.030*100);//输出3.0
 System.out.println(0.031*100);//输出3.1
 System.out.println(0.032*100);//输出3.2
 System.out.println(0.033*100);//输出3.3000000000000003
 System.out.println(0.034*100);//输出3.4000000000000004
 System.out.println(0.035*100);//输出3.5000000000000004
 System.out.println(0.036*100);//输出3.5999999999999996
 System.out.println(0.037*100);//输出3.6999999999999997
 System.out.println(0.038*100);//输出3.8
 System.out.println(0.039*100);//输出3.9
 
 BigDecimal b2 = new BigDecimal(0.236);
 System.out.println(b2);//输出0.2359999999999999875655021241982467472553253173828125
 
 描述:
 当我们使用一些"特殊的数字"进行运算时,或者调用BigDecimal中new BigDecimal(double val)进行构造的时候,将得到意想不到的结果。
 原因:
 Java中,浮点类型是依据IEEE754标准的。IEEE754定义了32位和64位双精度两种浮点二进制小数标准。采用二进制表示double,float等浮点数是不准确的。
同时BigDecimal的API声明,建议使用new BigDecimal(String val)进行构造,使用new BigDecimal(double val)进行构造的时候,将得到意想不到的结果(The results of this constructor can be somewhat unpredictable)。

解决办法:
1,通过String结合BigDecimal来转换。
String val = "0.236";
//使用new BigDecimal(String val)进行构造
BigDecimal a = new BigDecimal(""+val);
BigDecimal b = new BigDecimal(""+100);
//小数的位数与构造参数的位数一致
System.out.println(a.multiply(b));//输出23.600

2,使用DecimalFormat来确定小数点后位数
double val = 0.236*100;
//保留小数点后两位,若保留三位为"#.000"
DecimalFormat df = new DecimalFormat("#.00");
String str = df.format(val);
System.out.println(Double.valueOf(str));//输出23.6

感谢
http://www.blogjava.net/kalman03/archive/2010/10/25/336121.html

posted @ 2010-07-27 18:22 leekiang 阅读(1293) | 评论 (0)编辑 收藏

SSHTools is a suite of Java SSH applications providing a Java SSH API, SSH Terminal, SSH secured VNC client, SFTP client and SSH Daemon.

posted @ 2010-07-20 02:33 leekiang 阅读(296) | 评论 (0)编辑 收藏

Mikogo 易于使用的跨平台桌面共享软件
Groove 协作办公软件
免费项目管理软件GanttPV可替微软Project
ZoneMinder 开源视频监控系统
Puppet 强大的中心化配置管理系统
Spark是一个开源,跨平台Jabber/XMPP客户端。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合.为啥用Openfire?我们选型时对比了WildFire和Oracle的RTC,感觉还是WidlFire更简便。 基于开源jabber(XMPP)架设内部即时通讯服务的解决方案

posted @ 2010-07-17 15:08 leekiang 阅读(448) | 评论 (0)编辑 收藏

http://www.javaeye.com/topic/470144
http://www.javaeye.com/topic/121756
http://www.javaeye.com/topic/57909
http://www.javaeye.com/topic/400225
http://www.blogjava.net/weijy/archive/2008/09/27/231449.html
http://blog.sina.com.cn/s/blog_537a7ce301008o4y.html
http://lengyue-dick.javaeye.com/blog/247347
http://qdjinxin.javaeye.com/blog/674082

posted @ 2010-06-29 19:19 leekiang 阅读(263) | 评论 (0)编辑 收藏

Post/Redirect/Get (PRG) is a common design pattern for web developers to help avoid certain duplicate form  submissions and allow user agents to behave more intuitively with bookmarks and the refresh button.
PRG模式也称为post-redirect pattern或Redirect-After-Post pattern

http://forum.springsource.org/showthread.php?t=73939
http://jira.springframework.org/browse/MOD-458
http://jira.springframework.org/browse/SPR-6464
http://blog.vichasconsulting.com/archives/12
http://forum.springsource.org/showthread.php?t=38466
http://www.docin.com/p-56268947.html

posted @ 2010-06-07 13:34 leekiang 阅读(247) | 评论 (0)编辑 收藏

基本步骤:
1,在测试计划上右键添加线程组,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒
2,在线程组里添加-->取样器(sampler)->http请求,注意路径不包括服务器地址
3,添加监听器,可以用“用表格查看结果”或第2个“图形结果”等,"查看结果树"可以让你查看每个sampler的请求数据和响应数据

tips:
1,使用HTTP Cookie Manager或URL重写实现同一线程内的多个请求共享Session
2,把Login的请求放到只执行一次的控制器中,那么即使循环多次,Login也只请求一次
3,为了节省系统资源,使用非窗口模式运行JMeter(jmeter -n -t test.jmx)
4,如果模拟并发用户过多,比如200线程,那么可以分散到多台机器上运行Jmeter(比如4台电脑,每台50线程)
5,可以用badboy工具录制.jmx脚本

参考:
http://www.51testing.com/?128005/action_viewspace_itemid_69407.html
http://www.ibm.com/developerworks/cn/opensource/os-pressiontest/
http://blog.chenlb.com/2009/03/jmeter-quick-start.html
http://rdc.taobao.com/blog/qa/?p=2287
http://qa.taobao.com/?p=6216
http://www.blogjava.net/BlueDavy/archive/2008/07/25/217514.html

posted @ 2010-05-27 18:37 leekiang 阅读(633) | 评论 (0)编辑 收藏

1,为什么要写 if (log.isDebugEnabled())
在使用log4j,common-log这样的log框架时,发现很多代码中这样写
if   (log.isDebugEnabled())   {
          log.debug( "xxxx ");
}

我很奇怪,为什么要与log.isDebugEnabled()?既然log.debug()在没有指定输出级别为DEBUG时不会有输出,为什么还要在 前面加一个isDebugEnabled()的判断?
答:
为了效率,如果上述那个代码那么简单是没有必要的
但是如果这样
if   (log.isDebugEnabled())   {
          log.debug(buildFullString());
}
如果这个buildFullString效率不太高,那么如果直接写log.debug(buildFullString());的话
虽然它不会打印语句,但是buildFullString还是被执行了,这样就白费了功夫
所以加上isDebugEnabled就可以避免执行buildFullString了
这个方法一般用在认为buildFullString这个函数效率不太高的情况下

http://topic.csdn.net/u/20070119/16/e9cf879c-697b-482a-9d55-21bfb7a16216.html

posted @ 2010-05-27 14:14 leekiang 阅读(378) | 评论 (0)编辑 收藏

1,http://www.javaeye.com/topic/143987
在新版本的java里面,同步比gc慢
所以以前很多framework里面都有pool的设定,现在都取消了
现在只有一些数据库连接等IO资源做pool以外,基本的数据class已经都不作pool了
pool 一般用在创建很大消费的对象时才用的。 比如 connection, tapestry的page。 像new HashMap这样的 是没有必要的。

posted @ 2010-05-26 18:51 leekiang 阅读(532) | 评论 (1)编辑 收藏

Grails 复杂查询及分页排序

如何配置输出hibernate SQL statement
有几种方法:
1. Modify conf\Config.groovy
    Change hibernate="off" to on
    但是这种方式输出的Hibernate信息比较多。
2. Modify DataSource.groovy
    Add logSql = true
    But didn't work now for Grails 1.0 RC4
3. Modify GRAILS_HOME\scripts\log4j.properties, add
    log4j.logger.org.hibernate.SQL=DEBUG
    这是目前最佳的方法
见http://hi.baidu.com/jacksonchenjp/blog/item/0fef184f9e2bac32aec3ab08.html

http://www.javaeye.com/topic/52774
http://www.javaeye.com/topic/149489
http://www.javaeye.com/topic/250349
http://garyli.javaeye.com/blog/237100
http://seanwon.javaeye.com/blog/315677
http://bloodwolf-china.javaeye.com/blog/264035
http://bloodwolf-china.javaeye.com/blog/644420
http://stackoverflow.com/questions/2124157/acl-on-field-level-in-grails

Basic Tomcat clustering for Grails applications

posted @ 2010-05-26 18:49 leekiang 阅读(291) | 评论 (0)编辑 收藏

仅列出标题
共54页: First 上一页 10 11 12 13 14 15 16 17 18 下一页 Last