摘要: 假期结束,新的一年给自己一个新的开始。第一件事,做了一个艰难的决定,戒掉dota。去年,以及前几年,花费在dota上面的时间实在是太多了。如果用这些时间来学习的话,估计一个大牛就诞生了吧。第二件事,改掉邋遢的习惯。一个人在外生活,没有人管,自由散漫,倒也活的自在逍遥。可是自己的形象毁了、生活的环境连自己也看不下去了。第三件事,认认真真写文章。无论技术上,还是生活上,就像现在这样。 阅读全文
posted @ 2011-02-08 16:47 echozhjun 阅读(168) 评论(0) 推荐(0) 编辑
摘要: Hessian 3.2.0的两个bug在将Hessian从3.0.13升级到3.2.0时碰到两个bug和一个ClassLoader处理策略的改变的问题,在此记录下,希望能为使用Hessian 3.2.0的同学们提供点帮助,避免再走同样的弯路。Bug 1:HessianInput的readObject(Class)无效对于使用Hessian 1的同学而言,有可能会使用到HessianInput的readObject(Class)这个方法,以实现将输入流反序列化为指定的类实例,这在有一个场景中是很需要的,例如序列化时序列化的是一个子类对象,但反序列化时需要反序列化为父类,这个时候就非常需要这方法了 阅读全文
posted @ 2011-01-02 14:15 echozhjun 阅读(732) 评论(0) 推荐(0) 编辑
摘要: NOSQL兴起了。BerkeleyDB早就流行了。我还是很落伍。今天大概看了一个字典服务的东西,实现思路还是相当有意思的,而且由于时间关系,还未能完全的理解。所谓的字典服务,既提供对于普通字符串的管理,增删改查之类,当然重点在于查,支持模糊和精确的查找某个单词是否存在于某个字典,特点就是千万级别的数据查询速度一样很快。使用的场景还是很多的,比如一个站点的违禁词、用户黑名单等,都可以使用。实现思路:... 阅读全文
posted @ 2010-11-08 20:12 echozhjun 阅读(581) 评论(2) 推荐(0) 编辑
摘要: 感觉好久好久没有来更新博客,也没有写过什么东西了,无论是生活的还是技术的。工作刚满一年,我和我毕业后的第一份工作说了再见。新工作,新环境,新开始。最近似乎真的缺少时间。我得不停的去学习,去适应新的环境,去跟上时代的步伐。最近学的技术也都是公司内部的东西,所以写的学习总结也不好发到外边了。小记一下。提醒自己不要放弃梦想。以后还要多来更新博客才行。 阅读全文
posted @ 2010-07-03 15:03 echozhjun 阅读(293) 评论(0) 推荐(0) 编辑
摘要: [代码]可以看到ServerSocket的ReceiveBufferSize默认大小为8k。而Mina中却变成了1k。当传输数据较小的时候,将ReceiveBufferSize设小,可以提高效率。但是在做文件传输等大数据传输的时候需要将ReceiveBufferSize设置为较大,否则速度会很慢。在我的实际项目中,传输文件,每个包的大小是2M,ReceiveBufferSize设置为20k可以达到... 阅读全文
posted @ 2010-04-29 09:21 echozhjun 阅读(2651) 评论(1) 推荐(0) 编辑
摘要: IbatiS的一个小功能。在编写resultMap的时候,如果自己定义了一个数据库中并不对应的字段,比如是关联其他表的字段。则可以这样实现:<result property="type" column="type_id" select="Asset.getTypeById" />然后编写对应的select即可:  <select id="getTypeById" paramete... 阅读全文
posted @ 2010-03-22 08:43 echozhjun 阅读(340) 评论(0) 推荐(0) 编辑
摘要: -Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n程序启动的时候给jvm加上上面的参数。然后就可以用Eclipse进行远程调试了。在调试的过程中对代码的修改会反映到程序的运行当中。确实方便了不少。 阅读全文
posted @ 2010-03-04 19:18 echozhjun 阅读(2797) 评论(1) 推荐(0) 编辑
摘要: 在项目开发过程中免不了日志记录,而现在几乎所有的项目都不再是一个人完成了,所以一个项目组里每个开发人员都在不断的log.debug,log.info……然后某一天,因为要开发的新功能或者要调试出现的某个Bug,你讲日志级别提升到了debug或者info,突然发现在Console里瞬间就跑下了一大片的日志,而你不得不在大量充斥着众多开发人员的繁杂的日志里找到属于那属于自己的几... 阅读全文
posted @ 2010-01-28 09:48 echozhjun 阅读(402) 评论(0) 推荐(0) 编辑
摘要: Apache commons logging自动查找当前实现Log顺序1、 首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的Log实现类;2、 如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量org.apache.commons.logging.Log,找到则使用其定义的L... 阅读全文
posted @ 2010-01-26 16:10 echozhjun 阅读(443) 评论(0) 推荐(0) 编辑
摘要: Mina中的Filter1,Filter中构造了一个NextFilter,目的应该是将功能区分开,NextFilter中只是包括具体需要Fire的监听,至于Filter中init,destroy等则是不管怎么样都会由系统自动调用的。Filter包括NextFilter的功能,应该说是Filter中直接调用了NextFilter中的功能。2,FilterChain应该是模仿了Map的Entry模式。... 阅读全文
posted @ 2010-01-25 10:28 echozhjun 阅读(259) 评论(0) 推荐(0) 编辑
摘要: WMI 全称为:Microsoft Windows Management Instrumentation (WMI)按微软的介绍大致如下: WMI 是 Microsoft 主要的针对 Windows 的管理支持技术。在 WMI 之前,所有的 Windows 图形化管理工具都依赖于 Win32 应用程序编程接口(Application ProgrammingInterfaces,APIs)来访问和管... 阅读全文
posted @ 2010-01-21 10:28 echozhjun 阅读(17962) 评论(3) 推荐(2) 编辑
摘要: Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法的设计与实现极为困难,但是它们能够提供更好的吞吐率,对生存问题(例如死锁和优先级反转)也... 阅读全文
posted @ 2010-01-15 17:29 echozhjun 阅读(382) 评论(1) 推荐(0) 编辑
摘要: 闲来没事,本来是在学习nio框架的,突然发现对最原始的多线程服务器都不是很了解,遂自己写了个简单的例子。[代码]这个Server调用的是自己实现的一个基于任务队列的简单线程池:[代码]当然也可以直接使用concurrent的线程池,代码几乎不用改变:[代码]里边我构造了一个Message接口:[代码]以及实现了一个测试消息类:[代码]代码很简单,就不用多解释什么了。下一步打算用nio在自己写个非阻... 阅读全文
posted @ 2010-01-15 10:27 echozhjun 阅读(443) 评论(1) 推荐(1) 编辑
摘要: 通过Ssh协议连接到服务器执行执行的指令。echo $?这条命令将显示上条指令执行的状态。0为成功,其他都是失败。[代码] 阅读全文
posted @ 2010-01-11 16:46 echozhjun 阅读(1633) 评论(0) 推荐(0) 编辑
摘要: JDK LoggerJDK Logger在java.util.logging包下面,自从JDK1.4就有了,可是因为log4j的存在,这个Logger一直沉默着。Java自带的Logger,级别比Log4j还要详细,但是如果需要自定义日志输出格式,需要自己实现Formatter,有些不方便。Log4jLog4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地... 阅读全文
posted @ 2010-01-08 10:32 echozhjun 阅读(1292) 评论(0) 推荐(0) 编辑
摘要: 在2009年的最后一天,办公室安静了不少,很多同事都提前休假了,自己也没什么重要的事情可做,或许趁这个时间回顾一下一年的生活也罢。刚刚浏览了一下自己的博客,开博的日子正好在一月,我到博客园也正好一年了。虽然我发的文章不多,少数的几篇原创也是写的很拙劣, 不管怎样,自己的技术在成长,文字功底也在慢慢的增长吧。不管写的怎么样,一开始的目标其实只是给自己留下点印记完全是写给自己看的。但是在开博以来,自己... 阅读全文
posted @ 2009-12-31 15:55 echozhjun 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 1.JVM 管理两种类型的内存:堆内存(heap),栈内存(stack),堆内在主要用来存储程序在运行时创建或实例化的对象与变量.而栈内存则是用来存储程序代码中声明为静态(static)(或非静态)的方法.2.JVM 中对象的生命周期,创建阶段,应用阶段,不可视阶段,不可到达阶段,可收集阶段,终结阶段,释放阶段3.避免在循环体中创建对象,即使该对象点用内存空间不大.for(int i=0;i<... 阅读全文
posted @ 2009-12-24 15:38 echozhjun 阅读(286) 评论(0) 推荐(0) 编辑
摘要: JAXP(Java API forXMLParsing)过去几年中,XML分折已经被标准为两个不同的处理模型:SAX(Simple API forXML)以及DOM(Document Object Model)。这两个标准提供了各种API以便开发人员处理XML数据,分别适用于不同的分折需要。JAXP是SUN公司在1999年后期提出的,它是一个API,但更准确地说,它应该是一个抽象层。JAXP并不提... 阅读全文
posted @ 2009-12-23 10:46 echozhjun 阅读(385) 评论(0) 推荐(0) 编辑
摘要: Flex TextArea滚动底部的真正方法。 阅读全文
posted @ 2009-12-14 10:51 echozhjun 阅读(1182) 评论(3) 推荐(1) 编辑
摘要: 编程中的一种感觉 阅读全文
posted @ 2009-11-04 16:37 echozhjun 阅读(316) 评论(4) 推荐(1) 编辑