诗剑书生的专栏

我在灌江口上住,花开花落,不知流年度.雁过空遗秋色暮,抚琴细听梧桐雨. 轻舞残虹漫展书,云卷云舒,思愫万千缕.安得婵娟与共处,长作识字耕田夫.                   诗剑书生 于灌江口.听潮居

2009年06月20日

原创 利用ASM进行方法拦截中获取相关数据的实现

本篇文章主要是利用ASM来在拦截方法时获取方法调用时的相关数据,如参数列表,本地变量列表,方法调用栈以及操作状态码等重要数据,以及方法执行时间。结合当前系统的内存状态,CPU占用率等系统信息可以为业务逻辑出现异常时提供最可靠的分析依据。阅读全文>

发表于 @ 2009年06月20日 22:37:00|评论(loading...)|编辑|举报|收藏

2009年06月14日

原创 动态非侵入拦截

我要说的动态是指在JVM启动后正常的时候JVM执行的是原始的class,在我需要的时候JVM能动态执行进过字节码生成器包装过的class.然后在我进行调试,诊断等操作后JVM又能即时执行原有的class,就象没有发生任何拦截一样。阅读全文>

发表于 @ 2009年06月14日 12:46:00|评论(loading...)|编辑|举报|收藏

2009年04月09日

原创 是否需要设置obj = null?

这个问题原贴发表在这儿:http://topic.csdn.net/u/20090408/13/89c22659-e194-488d-add1-23256b22465e.html?seed=2029607558虽然是C#技术栏目,但对JAVA完全适用。但所以答案没有一个是正确且完整的。下面是我的答案,我有足够的自信说这是真正正确的答案,除非JVM和CLR规范重新修改了。正常情况下声明一个对象后主动让 obj = null; 没有任何作用,但也没有任何害处(除了说明程序员对编译器的无知和代码看起来比较幼稚) 编译器比你更清楚在什么位置对象已经失去引用。 object o = new object(); stmt1; o.xxx(); stmt2; stmt3; o = null; 其实编译器在为o.xxx()后面就知道它(原来o指向的那个对象)是可回收的, 阅读全文>

发表于 @ 2009年04月09日 09:06:00|评论(loading...)|编辑|举报|收藏

2009年03月13日

原创 JOIN的线程谁来唤醒

真正唤醒join/wait中的线程的责任者是能够使等待条件不成立的线程。而wait中的线程真正等待的是反wait条件。阅读全文>

发表于 @ 2009年03月13日 11:37:00|评论(loading...)|编辑|举报|收藏

2009年03月12日

原创 ResultSet.TYPE_SCROLL_SENSITIVE到底发生了什么?

TYPE_SCROLL_SENSITIVE只能更新操作敏感,其它的插入操作和删除操作不会及时地反映到结果集中。阅读全文>

发表于 @ 2009年03月12日 14:39:00|评论(loading...)|编辑|举报|收藏

2009年03月04日

原创 .NET并行库测试实例

任何技术都有它的合适应用场景,比如在一个CPU的机器上单线程无IO操作运算肯定要比多线程还要快,因为无论如何同时只有一个线程运行,如果没有IO阻塞,多线程反而增加线程调度的开销。并行编程也同样,主要看我们具体的执行逻辑,根据具体的情况选择适当的技术。阅读全文>

发表于 @ 2009年03月04日 20:31:00|评论(loading...)|编辑|举报|收藏

2009年02月26日

原创 JAVA中多接口应用技巧

多接口不仅使我们能够有效的组织不同功能的代码,而且可以使对象具有统一的管理方法,同时避免多次生成对象带来的开销。阅读全文>

发表于 @ 2009年02月26日 12:18:00|评论(loading...)|编辑|举报|收藏

2008年10月27日

原创 解决oracle Array字符集问题的调试手记.

关于Oracle Array字符集的调试过程阅读全文>

发表于 @ 2008年10月27日 11:10:00|评论(loading...)|编辑|举报|收藏

2008年10月13日

原创 do{}while(false);在java中的妙用.

do{}while(false);在java中的妙用.阅读全文>

发表于 @ 2008年10月13日 14:49:00|评论(loading...)|编辑|举报|收藏

2008年07月10日

原创 Oracle合并多行为多列

Oracle合并多行为多列阅读全文>

发表于 @ 2008年07月10日 15:39:00|评论(loading...)|编辑|举报|收藏

Csdn Blog version 3.1a
Copyright © axman