自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

Eclipse compiler的一个bug

<!--StartFragment--> <!--EndFragment-->以下程序用javac编译运行后没有问题,正确输出 0 1,而在eclipse中报错后直接挂了public class Construct {    public static void main(String[] args) {        Construct$1 c1 =...

2014-06-13 18:51:51 157

原创 Hotspot JVM会重用小对象?

看看以下程序  public class YoungGC { public static void main(String[] args) { long i = 0; long start = System.currentTimeMillis(); while (true) { int lengt...

2014-05-16 18:27:38 152

一次压力测试的故事

最近作了个系统,面向普通网民,设计的吞吐率是单机>1万/s,可水平扩展。我之前作的系统多是面向商业用户,很少有这么高的吞吐率要求,所以这次设计过程中对并发,资源竞争啥的也格外注意,这些暂且不表。等到开发完成,开始压力测试的时候,遇到了些故事,颇花了一些时间,此过程中也学到了不少知识。 系统开发完成时,运行在jetty上。当时QA作了一次压测,用5台肉鸡压一个server,得出结论是...

2014-05-08 01:15:46 194

struts2中接收非基本类型的对象时必须有setter

今天重构以前代码过程中发现一个struts2设置参数的问题,前后足足追了半天,顺便看了OGNL的源码,在这里记录下原因和解决方案: 在struts2的action中接收参数时,通常我是不喜欢写getter,只写setter。这样可以更加清楚的表示这是一个输入参数,比如 public class XXAction{ private int size; publ...

2012-10-27 20:07:53 119

如何用java验证XML schema

以前验证XML一直使用dtd的,今天尝试着用xsd作验证,可是网上的例子一直跑不起来。折腾了半天才发现是例子里面对于XML文件的命名空间没有设置清楚,这里解决下方案记录: [note.xml] <?xml version="1.0"?><note xmlns="http://adcoup.baidu.com/schema/note"> <to&...

2012-09-24 22:22:24 258

MySql的存储引擎错误造成Transactional不起作用

今天试图在HibernateInterceptor中调用标注了@Transactional的写操作,向Mysql中写一行Log,结果外层事务回滚时内层事务居然没有回滚。 为了这点破事查了半天,最后还是在网上看到另外一个问题有个哥们提醒是不是存储引擎选错了。恍然大悟,回去一看,果然! 我是用Hedi建表,结果它缺省的类型是MyISAM的... 坑爹啊!...

2012-07-27 21:42:08 119

Hibernate实现贯穿三层的乐观锁

无论Hibernate还是Toplink,都支持乐观锁机制。在Toplink中实现贯穿3层的乐观锁很容易,但Hibernate缺省不支持三层环境下的乐观锁,为了实现这个功能,我费了一番功夫。 所谓乐观锁,是指在实体上增加一个字段 version (Hibernate目前只支持int,Toplink可以是long),提交实体时,采用这样的update语句 update T set a...

2011-10-18 14:58:15 95

Tomcat的Request不是线程安全的

这几天遇到一个和Request及Cookie相关的问题,再次验证了多线程是魔鬼的道理。这是从一个第三方jar中反编译出来的代码,程序间歇性的抛NullPointerException,看stack trace是第8行抛的。  public String getCookieVal(String key) { Cookie[] cookies = this.req.get...

2011-10-12 15:48:37 290

hibernate中"fetch all properties" 不起作用

按照hibernate reference所说  写道If you are using property-level lazy fetching (with bytecode instrumentation), it is possible to forceHibernate to fetch the lazy properties in the first query immedia...

2011-08-09 17:27:47 191

在web.xml的filter中拦截welcome-page

在用spring security作权限控制的过程中,遇到以下需求:如果用户已经登录了,那么输入主页url时不要到登录页(index.html),而是直接跳到登录后的主页(main.html)。由于"/"和"index.html"本来不需要权限,所以在applicationContext-security.xml里是如下配置的 <s:intercept-url pattern...

2011-08-08 17:08:47 343

为Scanner设置编码

今天帮人修bug的过程中,有个哥们用java.util.Scanner去解析文件。那个代码在linux下跑没问题,但我把待分析的文件拖到本地后却怎么样也没法读 Scanner scanner; try { scanner = new Scanner(new File("part00219")); S...

2011-07-13 14:22:26 1108

集成memcached 和spring security的学习记录

最近在搞利用memcached共享session,公司原有的代码使用java_memcached作客户端,而java_memcached在各种测试中显示出来的效率并不算好,所以找了这个javaeye首页 上的xmemcached 自己封装了HttpServletRequest和Session,实现了一些其它功能包括xmemcached不可用时自动切换会HttpSession和多memcached的...

2011-07-01 12:05:18 130

eclipse 3.6安装 m2eclipse extras

按照http://www.sonatype.com/books/m2eclipse-book/reference/install-sect-marketplace.html所说,在eclipse market里面搜索 maven integration应该可以直接看到两个选项Maven Integration for Eclipse 和Maven Integration for E...

2011-06-24 23:50:04 92

原创 eclipse也有market了

我的eclipse版本一直比较老,最近换了单位,搭环境时下了个新eclipse,装插件时才发现help里多了个eclipse marketpace选项。试了试随便输个m2eclipse,自己就给找到了,还真是很方便。不得不再感慨一次,国内的出口网速确实坑爹,我这儿下迅雷离线都是2M的速度,搞个插件几十k的东西还要2分钟,大中华局域网果然威力无穷。...

2011-06-19 11:59:38 209

DDD思考之四 不要买椟还珠

最近比较忙,陆陆续续才把DDD的书看完,自己的一个Demo也没有时间深化下去作,用的是我最鄙视的“learning without practise”方法。不过这也是有情可原的,因为这本书后面大部分讲的都是方法论的东西,实际上,一共16章,只有前面7章说的是被热议的Entity/VO/Repository/Factory等实践,后面的篇幅都在讲项目中如何维护Domain的可用、可理解、可维护。...

2011-04-22 15:00:32 128

DDD思考之三 谁负责把Entity放入Repository?

这个问题在贫血模型里是不存在的,反正domain model都是被扒光的数据容器,无论给主键赋值还是通过DTO存取都是Service的事情。在充血模型中,这些又该是谁的责任呢?首先考虑ID,ID分两种:用户在client填写的(比如UserId)以及系统自动生成的(比如单号),后者一般在Repostory中提供诸如getNextOrderNo()等方法。由另一个coordinator的角色来完...

2011-03-21 14:42:58 1345

DDD思考之二 需要区分Entity和Value Object吗

开始看infoq的mini book时,我以为这不是个问题。Entity就是有主键的对象,Value Object就是immutable class, so easy.然后就越看越糊涂了。糊涂在于Value Object究竟是个什么东西:按书中所说,Value Object最好是immutable class, 但在某些情况下,比如修改非常频繁,或者创建/删除对象代价很大,也允许mutabil...

2011-02-07 11:16:57 1845

DDD思考之一 ubiquitous language

对DDD,之前看过info的mini book,也看过jdon上很多帖子,javaeye上的好像倒不是很多。一直对一些地方想不通,google的结果也是千奇百怪,想想干脆看看Eric Evans原书吧,就去卓越上买了本(本来是在当当下单的,那个物流...不说了)。 应该说Evans这书是真正写给作项目的人看的,很多地方讲的蛮细,读来受益颇深。今天先说说ubiquitous language...

2011-01-29 15:02:01 974

struts2 文件上传/下载/乱码 碎碎念

我的环境 英文windows xplocation :United stateslanguage for non-Unicode program: Chinese(PRC)tomcat 6.0struts2-core-2.2.1 网上关于struts file upload/download的文章好多地雷。在我的环境中,花了一个星期才把struts2下上传下载都调好,以...

2010-11-19 11:07:47 170

我为什么不用chrome

以前chrome刚出来的时候试用过一次,今天又试了一次。不得不承认chrome确实很快,但我还是决定继续用我的maxthon和firefox。为什么呢?说来很简单,第一次是因为那时chrome没什么插件,对用惯了超级手势的我来说关页面还要去点那个叉叉实在太麻烦了。这次找到超级手势和拖拽的插件了,但是... ...找不到把标签页放到屏幕下端以及把new page放到左边的方法,google了也找...

2010-11-14 23:06:52 119

Maven的dependency 不包括test scope?

有两个Module, ModuleA/ModuleB,如果ModuleB的test中引用到ModuleA/test中的类,那么Junit运行时就会报java.lang.NoClassDefFoundError。如果ModleB在test中引用的不是ModuleA/test中的类,而是ModuleA/main中的类就没有问题。google了一下,似乎是Maven在解析dependency时不包括...

2010-11-11 10:59:39 542

空接口能做些什么?

自从有了接口的概念后,OO编程都推荐面向接口编程。根据“如非必要,勿增实体”的原则,通常我们定义(或重构出来)的接口都是有行为的,很少用空接口。那么空接口有什么用呢?一个接口定义了两方面,类别和特征。比如public interface Animal{ void eat(); void sleep();} 定义了类...

2010-09-27 12:37:24 338

关于SCRUM的一点想法

公司推行SCRUM有一段时间了,一直想把自己的想法整理一下写点东西,正好看到了这个帖子http://www.iteye.com/topic/748985,参与进去进行了讨论。把自己的回帖贴在这里,基本能完整表达我对SCRUM的看法。    简单一句话,我认为SCRUM不是一个拥抱变化的软件方法。  写道topgun 写道 先不跑题,说说我们实践过的几种进度反馈方式: 站立会议,...

2010-08-31 21:29:27 139

PL/SQL中角色和用户权限的区别

一般都认为Oracle中应该尽量把权限赋予角色而不是用户,这样管理和修改起来都比较方便。我一直认为这里面没啥区别,不过今天遇到一个例子,才发现在PL/SQL中赋予角色的权限是被屏蔽的。也就是说即使当前用户所属的角色具有某个权限,在PL/SQL中也是没用的,必须显式赋予用户权限才行。例子如下:C:\Program Files\H2\bin>sqlplus sys/123456 as...

2010-08-10 15:29:16 418

从一个例子看综合搜索的发展

   最近在看《Expert one on one Oracle》第一版,Tom Kyte在《Tuning Strategies》这章举了个他实际例子说明如何针对性地设计DB。这个例子是个很实际的需求,并随着时间发展总结出了更好的作法,在这里分享一下。    这个例子用一句话简单描述就是“综合搜索”。假定有N张表,每张表上有许多字段,这其中我们只关心某些字段,需求是用户输入某些线索,系统列出所...

2010-07-07 13:16:37 124

Oracle中几种读的关系

recursive calls: Oracle自己偷偷执行的,不去关注db block gets: current read,直接读bufferconsistent gets: consistent read,读rollback segment中Undo后读physical reads:read from disk 因为logical reads=current reads+c...

2010-07-05 10:14:25 77

[H2]部署Mix Mode模式中的几个问题

http://my.oschina.net/javagg/blog/3322 有一篇描述了如何在H2内存数据库中部署MixMode模式。在这个问题上我先试错了半天,这里总结一下遇到的几个坑 1)为了部署MixMode模式,embeded 那个节点必须启动一个TcpServer,否则其它节点无法通过:tcp://...访问此节点如下代码Server server = Server...

2010-06-03 17:36:48 905

在toplink中映射nested table

nested table是Oracle所特有的一种实现,作为被Oracle收购了的OR-Mapping工具Toplink,自然也应该对其提供支持。但是在寻找这个的过程中,又一次深深体会到了Toplink文档的稀少(OTN,也只有OTN)以及语焉不详(我就不信有人看着官方文档能调出来的)。为以后起见,这里记录一下吧。 假设有以下的nested table: CREATE OR REP...

2010-05-27 11:19:34 132

如何自动备份删除的对象(3)

到目前为止我们有了一套从Object自动生成Map<String,Object>的工具,下面要作的就是把这个Map中的信息给持久化了,依照不同的持久化方式和后继对删除对象的查询方式,这又有着不同的solution。比如持久化到文件系统和数据库,显然要用不同的方式。目前这个系统采用的是数据库,OR-Mapping用的是Toplink。对于删除的数据,在前台有能够查询的界面,可供业务人...

2010-04-19 17:01:24 87

如何自动备份删除的对象(2)

自动删除,我们要作的事有三件 1) 如何从要删除的Domain对象中获得需要备份的信息M 2) 这个信息M如何持久化 3) 持久化的数据如何查询。 后两者其实有多种选择,比如可以持久化到文件、数据库或者数据库+文件,随着持久化介质的不同,查询机制也不一样。这里首先讨论第一个方面。为了作一个通用的框架,希望能通过meta data的方式简化收集信息的过程。那么就有三种方式可供...

2010-03-30 17:30:58 70

如何自动备份删除的对象(1)

   应用和Framework最大的不同在于写Framework都是你在提要求,应用中则有那些让你猛然一惊的需求,即所谓“业务特点”,你还真都得去满足。比如下面这个:       对于系统里的重要对象,要能够看删除记录,知道是谁删的,删了什么。      设系统中有一个Order对象class Order { long oid; String ...

2010-03-30 16:09:31 67

用sql loader时若有唯一索引需慎用direct方式

以前一直没注意sql loader用direct方式时怎么处理索引的,也是因为一般用sql loader都是往临时表里导数据,用不着索引。今天试了一下,才发现direct=true时索引不是在insert时维护的,而是在把数据全部插入后再去维护。以下是实验 设 SQLLDR表上字段 ID建立了PK PK_SQLLDR,相应的索引为UK_SQLLDR表中已经有了一条ID=0的记录...

2010-03-04 17:01:48 829

原创 在Oracle中使用from_tz时避免夏令时造成的异常

Oracle 中的from_tz函数,可以将一个timstamp和timzone拼成一个timestamp with timezoneSQL> select from_tz(to_timestamp('20090102','YYYYMMDD'), 'America/Sao_Paulo') from dual; FROM_TZ(TO_TIMESTAMP('20090102---...

2010-02-08 13:16:02 833

原创 用范型限制传入两个相同类型的参数

项目中老代码用到了一个beanCopy static void beanCopy(Object source,Object target);这个代码是自己实现的,对于所有的getter都只考虑了getXX的形式,像boolan isAlive()之类的就无能为力了。这次想改成用apach的beanUtils,结果出了bug。检查下来发现居然有人把这个方法用在了不同对象上 Man ma...

2010-01-28 23:32:24 330

原创 Toplink中由参数绑定引起的异常

这两天遇到一个bug,写的testcase在本地没错,到CI上就报错。查了一下log,发现原因是本地跑testcase时hijack了配置文件,注释掉了以下这句login.setShouldBindAllParameters(true); 这样让Toplink不使用参数绑定,比较方便查看输出的SQL,而CI上使用了参数绑定,所以出问题了     不使用参数绑定时,输出是这样...

2010-01-20 12:49:28 76

原创 I'S 青春

还记得当年看桂正和D.N.A, 电影少女的日子,那时只是觉得3头身的美少女好可爱啊。转眼十年过去了,昨天看到有I'S的动画,下到PSP上看了看,制作是蛮粗糙的,不过剧情那种淡淡的青涩还是让人很震撼。我以为十年过去,年轻时的软弱和羞涩都已经gone in the wind,可看到主角想表白又怕被拒绝那段时才发现原来这些情绪只是被一个叫作成熟的壳子包着而已,真戳破了那层包装,底下还是软弱的青春。...

2010-01-07 12:58:03 64

原创 中医和西医的对话——兼论敏捷

最近在看的一本书叫《中医和西医的对话》。话说我原本是个科普爱好者和不坚定的中医怀疑论者,而每个科普网站但凡有人拿中医出来说事那个帖子必然会离题万里,转化为“中医就是好”派和“中医就是好个屁”派之争。比如松鼠会的这个看片会[url]http://songshuhui.net/archives/22944.html[/url],双方的说法都不能让人信服,偏偏我是个不怎么生病更不怎么愿意看病的人,...

2009-12-28 13:11:33 170

震撼, tineye

刚刚在网上转,发现了[url]www.tineye.com[/url]这个图片搜索引擎,试用了一下,只有两个字,震撼!这个引擎的原理是为website上的picture建立一个fingerprint,然后对这个fingerprint作index。这样给它一个图片后,用相同的算法对欲查找图片求得fingerprint,之后就是标准的search了。令我震撼的这个引擎居然可以搜索相似的图片,以...

2009-11-20 15:54:47 250

在中Tomcat实现JAAS

这两天学习了一下JAAS,并遇到了一个Tomcat的bug,这里记录下来。[url=http://java.sun.com/j2se/1.4.2/docs/guide/security/jaas/JAASLMDevGuide.html]http://java.sun.com/j2se/1.4.2/docs/guide/security/jaas/JAASLMDevGuide.htm...

2009-11-11 14:21:34 150

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除