re: 新写了一个Java并发程序设计教程 温少的日志 2010-07-30 15:15
@beneo
一般ThreadLocal导致内存泄漏都有人以非静态的方式不断创建ThreadLocal,所以悲剧了。
re: 新写了一个Java并发程序设计教程 温少的日志 2010-07-30 15:14
@beneo
你的建议是对的,随后会补上。积累到一段时间之后再发布新版的版本。
re: 也说一种普遍错误使用的LOG方式 温少的日志 2009-01-06 15:37
@3220
使用%F解决了输出格式问题,但是LOG Leval的配置还是按照类别来区分,问题还是依然存在的。
re: 也说一种普遍错误使用的LOG方式 温少的日志 2009-01-06 11:28
@隔叶黄莺
log4j.properties文件中,layout.ConversionPattern一般都是%c或者%c{1}来显示类名,你还能怎么配?
re: 也说一种普遍错误使用的LOG方式 温少的日志 2009-01-05 14:47
@隔叶黄莺
例如:
Class Service {
protected final LogFactory.getLog(this.getClass());
}
Class ServiceA extends Service {
public void foo("foo");
}
Class ServiceB extends ServiceA{
public void bar("bar");
}
这种情况,如果ServiceB的实例调用了foo的日志,LOG输出的类是ServiceB,而不是ServiceA,但是我们需要分析问题时,需要的是ServiceA,配置文件也是应该配在ServiceA上的。
@张雅静
你去访问www.youshang.com注册,填写手机号码,会有客服回访,可以详细了解一切。
关于安全,有类似于网上银行移动证书的“友盾”,安全还有有保证的。
re: 也说一种普遍错误使用的LOG方式 温少的日志 2009-01-05 14:35
@3220
性能这两种方式是非常接近的,而且static声明的方式性能会更好,实例化的方式更方便,struts、spring都采用了更方便的做法,但是更方便的做法,就会在类被继承的时候导致LOG输出混乱。像struts、spring框架的类通常不会被继承,但总是存在一些情况需要继承的,一旦出现继承框架的类,例如你编写一个类继承自ClassPathXmlApplicationContext,那么LOG输出就会产生混乱的。
综合比较:
方式A 基类实例化Log LOG = LogFactory.getLog(this.getClass())
方式B 每个类单独声明 static Log LOG = LogFactory.getLog(XXX.class)
性能 两种方式接近
方便 方式A更方便,不需要再子类中再声明。
不良后果 在类被继承时,使用方式A会导致日志输出混乱
re: 也说一种普遍错误使用的LOG方式 温少的日志 2009-01-05 12:23
@隔叶黄莺
你的说法不对,例如LOG4J能够把记录日志的类和代码行数输出,如果使用
protected final Log LOG = LogFactory.getLog(this.getClass())的方式,就会导致不能够简单的方式定位问题了。
使用全大写的方式挺好的,最初在JXTA中看到这种用法,反复比较之后,觉得使用大写LOG比小写logger更清晰。
re: 也说一种普遍错误使用的LOG方式 温少的日志 2009-01-05 11:47
@seewood
不是因为性能的问题,是因为继承时会导致LOG错乱,例如你继承了Spring的ClassPathXmlApplicationContext时,日志输出的的类名不对了。
re: 一个FileIterator的实现 温少的日志 2008-08-30 16:12
回kingslee
1、State有三个field,parent、index和files,不声明一个对象,使用ArrayList不好,声明一个对象语义更明确。
2、这是深度优先的,广度优先的实现方式会有所不同。
re: 使用JSON替代XML 温少的日志 2008-03-09 13:00
@久城
如果你使用json-lib,可以让对象实现JSONString接口,另外json-lib有一些配置参数,但是json-lib做的不好。
re: 使用JSON替代XML 温少的日志 2008-03-09 12:59
@Strive
既然你做的RPC,就应该使用方法的签名自动转换JSON数据到目标类型。[]格式的JSONArray转到目标的ArrayList是很容易的事情啊
re: 小议ID生成算法 温少的日志 2007-11-28 10:17
@simon.xu
你说的方法在过去的系统中用过,每次递增一批,这算是方案2的改进。使用方案3,在种子上作一些处理之后,能够更好实现全局唯一,可以确保不同服务器不同的数据库分配出来的ID唯一。
从我博客主站上看:
http://www.cnblogs.com/jobs/archive/2007/11/16/961116.html
评论更多,描述了更详尽的情况。
下载看了一下,似乎做的内容还是相当少。
建议你参考一下金蝶软件EAS BOS的KSQL,是一个应用在产品中的成熟的SQL翻译。单是测试用例就有数千个,支持Oracle、Microsoft SQL Server、Sybase、DB2、DB2 AS400。手工编写的文法分析,没有使用antlr,速度大约是antlr生成Parser的三至四倍左右吧。
KSQL的功能也比较完备,支持临时表、游标、流程控制语句WHILE、IF等。
这样的底层核心模块关键是稳定、高效、功能完备。高效还容易,稳定是最难的,需要大量的测试,包括实际应用中的测试,DB2的限制是最多的,你没有实际测试,可能想不到DB2的限制有如此之多。
我觉得你现在这三点都不具备。
re: 小议ID生成算法 温少的日志 2007-11-16 10:27
@Robin's Java World
@太阳里的雪
你们都没认真想想,SEED只需要获取一次,然后就一直使用。而SEED的获取只需要在程序启动时!
@liigo,我改了一下示例代码,不过意思还一样的。
回答你的问题,通常都是执行一次就会退出循环了
re: 应用maven的感想 温少的日志 2007-09-25 07:09
@刘甘泉
maven的入门教程目前还是做得不够,入门需要花费一点时间,但是只需要一个人在项目中导入之后,以后都好办了。
re: 应用maven的感想 温少的日志 2007-09-25 07:06
@xyz20003
缺省的central repository是很慢的。有一个镜像超级快,你可以试试看:
http://mirrors.redv.com/maven2/在pom.xml中加入:
<repositories>
<repository>
<id>central</id>
<name>Internal Repository</name>
<url>
http://mirrors.redv.com/maven2</url> </repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Internal Repository</name>
<url>
http://mirrors.redv.com/maven2</url> </pluginRepository>
</pluginRepositories>
re: 写了一个PPT,用于公司内部培训 温少的日志 2007-05-09 07:18
增加了一些内容。其中图示还欠缺,由于图示工作量很大,一时难以补全,慢慢来吧。
目前版本2007-5-9,更新日期和版本日期相同,已下载的朋友,请重新下载。
re: 精巧好用的DelayQueue 温少的日志 2007-04-29 22:52
原来文章中有DelayItem的,昨天加入一些内容时,不小心把DelayItem部分的代码删除了。现已经补上,请看正文。
re: 关于Java线程的实现 温少的日志 2007-04-22 11:45
在Linux下使用Firefox、Eclipse等软件,当某个操作阻塞的时候,整个程序甚至整个Gnome桌面会停止响应。
这一现象和用户线程出现阻塞的现象吻合。
使用Ubuntu工作一段时间了,说实在,没有在Windows XP下流畅。
同一台机器上,Eclipse跑在Windows XP下的性能比Ubuntu LInux下快多了,在Linux下,经常出现某个操作阻塞时,整个Eclipse失去响应,而在Windows下,很少出现这种情况。
re: 关于Java线程的实现 温少的日志 2007-04-22 03:57
其实偶不是很清楚Linux下pthread的最终实现,看过资料,说pthread是用户线程库。
在solaris下,pthread的用户线程和内核线程影射,是多对多的。
Windows下Fiber也可以实现多对多。
linux下的实现,我了解还不多,2.6在线程支持方面有重大变化,但偶还没花时间去学习。
re: 从JAVA里面的不一致性,浅谈设计问题 温少的日志 2006-11-21 08:46
Scott Meyers是大师啊,笑死人了。
似乎只有他自己认为是C++领域权威吧,而他实际只是一个技术讲师而已。
re: JDK 在linux下支持epoll了 温少的日志 2006-11-20 22:31
@weidagang2046
你自己去看《Unix网络编程》第三版第一卷
re: 你所在或应聘的IT公司的评价如何? 温少的日志 2005-04-11 02:15
这份名单,得高分的公司,可能有作弊的嫌疑 :)
re: 最近在学Java,想全面点 温少的日志 2005-04-10 00:54
初学者,很容易被一些瑕疵蒙蔽了自己的眼睛,而没看到Java语言的优势。