自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

诗剑书生的专栏

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

  • 博客(299)
  • 资源 (1)
  • 收藏
  • 关注

原创 一段Server Push的调试

现在能搜索到的99年最早的在国内介绍Server Push的文章就是自己那篇"Server Push具体实现",今天调试竟然花了很长时间才正常工作。放在这里做记录吧: package test;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import javax.servlet.Serv

2009-08-31 13:59:00 1416

原创 可以修改类结构的java HostSwap实现思想

前段时间做动态无侵入拦截的工作,对于“即时加载”新类有了一些较深入的理解,已经写出两篇文章在这里。我们已经解决了“如何修改”的问题,但是另一个问题是“能修改成什么样子”。利用Instrumentation来动态redefine的类,只能修改方法,即在原有的方法代码插入代码来实现我们需要的逻辑。却无法增加,删除方法和字段,即修改类定义的结构。 目前真正能做到“即时”加载结构已经被修改的新的class

2009-08-28 16:58:00 2269 6

原创 读技术书,最有效的手段是把例子亲手做一次,如果没有例子就按作者的意图给他加一个适当的例子......

读技术书,最有效的手段是把例子亲手做一次,如果没有例子就按作者的意图给他加一个适当的例子......

2009-07-21 17:58:00 2470 11

原创 OSSCE脚本引发的重大问题,记在这里以示警戒

今天发生的一件大事,早上9点多,在线服务的机器有一半不能访问了。结果查看大多数的java进程被杀死,jboss服务器停掉。也有的机器其它服务被停止。 最初怀疑是被入侵了。因为同时发生状态一致的宕机,除非是时间BUG,否则如何那么多机器都同时停止(已经排除人为操作原因)。 最后和安全部门联系,是否有统一的操作,结果他们反映地那个时间段统一停止了安全模块OSSCE,但它为什么会导致JAVA应用和其它服

2009-07-10 14:52:00 2054 2

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

方法拦截中获取相关数据的实现 如果你看不懂我的上一篇文章,请你退回去一步一步根据例子运行起来,在你运行的过程中你会加深对程序的理解。本篇文章主要是利用ASM来在拦截方法时获取方法调用时的相关数据,如参数列表,本地变量列表,方法调用栈以及操作状态码等重要数据,以及方法执行时间。结合当前系统的内存状态,CPU占用率等系统信息可以为业务逻辑出现异常时提供最可靠的分析依据。本篇要求对ByteCode有一定

2009-06-20 22:37:00 6559 10

原创 动态非侵入拦截

动态非侵入拦截什么叫无侵入拦截? 在JAVA中要拦截一个方法调用,有多种方式,最容易也是最流行的就是动态代理。动态代理方式实现起来简单,你只要提供一个接口和拦截处理的handler并在invoke中提供要拉截的方法调用时的附件操作,然后所有对需要拦截的方法所在的对象都由代理来生成就可以在运行时动态地实现对方法调进行拦截。 事实上动态代理模式从描述上也看出了它的无奈。1. 所有需要拦截的方法所在的类

2009-06-14 12:46:00 4207 7

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

这个问题原贴发表在这儿:http://topic.csdn.net/u/20090408/13/89c22659-e194-488d-add1-23256b22465e.html?seed=2029607558 虽然是C#技术栏目,但对JAVA完全适用。但所以答案没有一个是正确且完整的。下面是我的答案,我有足够的自信说这是真正正确的答案,除非JVM和CLR规范重新修改了。 正常情况下生成一个对象后

2009-04-09 09:06:00 3073 6

原创 JOIN的线程谁来唤醒

JOIN的线程谁来唤醒这个问题在CSDN上被问到,我做了详细的回答。但提问者的水平不同,对正确答案的判断能力也不同,所他并没有满意我的回答。我之所以专门再为此写一篇文章,是从这个问题要引出话题还是应该要阐明的。1.join做了什么? 打开jdk的源码,可以看到join其实就是在等待目标线程的结束:    public final synchronized void join(long millis

2009-03-13 11:37:00 5269 7

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

这个问题我在几年前说过,但今天再次从CSDN上看到有人问这个问题,可以看出,真正懂这个问题的人1%都不到。我再次把这个问题写在这里,希望光临我的BLOG的人能真正了解它。我们先来做一个例子,在例子中我用的是mysql-essential-5.1.30-win32版。来跟我做以下几个命令:mysql> create database axman;mysql> use axman;mysql> cre

2009-03-12 14:39:00 14097 17

原创 .NET并行库测试实例

.NET并行库测试实例并行库存应用场景: 并行计算首要目的是提高CPU的计算能力,简单说程序应该是以CPU密集型运算为主的,如果你的程序是IO(磁盘和网络)密集型运算,并行计算并不能对你的程序有多大的提高。有时反而会有影响。我们还是以事实来说话:namespace ParallelTest{    static class Program    {        static void Compu

2009-03-04 20:31:00 2193 1

原创 JAVA中多接口应用技巧

JAVA在设计接口和类的规则时,有一个明确的规定。JAVA不支持类(实现)的多重继承,但支持接口(定义)的多重继承。我已经无从了解这个设计的初衷,但这样的规定隐含了以下的意义。接口是设计的产物,即在需求设计时定义的对软件功能的定义。而类是实现的产物,它是在实现过程中根据实现的具体情况而完成的。如果用代码来说明就是:在设计时我需要我设计的“模块”提供两个功能:1.提供两个整数相加的功能。2.提供两个

2009-02-26 12:18:00 6420 8

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

import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;impor

2008-10-27 11:10:00 2552 1

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

在以前写C程序中经常会有这样的情景. 打开一个资源的句柄. 在打开的这个资源上操作进行多次操作,每一步失败都要关闭这个资源句柄并摧毁它:if(x1) { close(hd);destory(hd);}if(x2) { close(hd);destory(hd);}if(x3) { close(hd);destory(hd);}等等,如果操作超过3条语句,比如有七八条头十头语句,第个条件分支中都写相

2008-10-13 14:49:00 4440 3

原创 Oracle合并多行为多列

oracle 如何聚合多行函数在BEA论坛上看一位"专家"写的大作,一条SQL语句是select r.xm, substr(r.csrq,1,4)||年||substr(r.csrq,5,2)||月||substr(r.csrq,7,2)||日 csrq, (select dictvalue from zh_dictvalue where dictcode=xb and di

2008-07-10 15:39:00 5951 1

原创 JPA中关系印射注意事项

 一对一不用多说.一对多:       一A对多B.单向: (tb_a,tb_b)       代码省略必须的但和主题的内容如@Entity等标记,Setter,Getter等       class A{       private int id;       ………………..其它字段              @OneToMany(cascade = CascadeType.ALL)     

2008-07-09 10:56:00 1808 1

原创 在WEB容器中获取持久化上下文

在WEB容器中获取持久化上下文想写这篇文章,是因为看了网上相关的几篇文章,没有一篇能真正说清楚如何正确地在WEB容器中获取持久化上下文, 要么根本就不知道如何获取,要么存在极度大的性能问题,要么存在线程安全性的隐患.在EJB容器,如果你愿意,由容器注入一个EntityManager后,你可以把一切交给容器管理.如果你愿意使用可扩展事务, 当然你已经了解如何管理EntityManager.规范在那儿

2008-07-05 15:45:00 3987 6

原创 Fujitsu Lifebook U1010安装XP TabletPC 2005完全攻略

 U1010完全安装XP TabletPC 2005攻略 资源准备:1. 下载富士通OEM版本的Microsoft Windows XP for TabletPC 2005(2CD)。只需第一张CD1.这里提供第一张盘地址,需要第二张盘的请自行在网上下载.注意是Fujitsu OEM版的不是MS的纯净版.否则手写等不能正确工作.http://210.82.61.155/images/Fujitsu

2008-06-09 09:48:00 15981 1

原创 关于央视国际(CCTV.COM)的奥运门户网站的预警

 我既非该项目的负责人,也不是该项目的实施者,仅仅是某一方面的参与.写此文的目的是为了对我所预见的问题先列在此,不做马后炮的评论家.群博软件在此之前并不有多少名气(至少是我不太知道,可能是我自己有些孤陋寡闻),所以高性能超(注意这个超)大规模的成功安例也不得而知.在国内,凡重大项目,好象那些能力非凡的专家都没有自信了,非得"学习","参考"一些国外的案例.结果就是本来自己能做好的项目因为国外"专家

2008-05-07 17:24:00 2053 5

原创 为什么对象被new 以后在执行dup操作?

为什么对象被new 以后在执行dup操作?今天有个朋友问我,为什么一个new一个对象的指令在new后面紧跟的是dup操作?他说搜了可能找到的搜索引擎都找不到答案,包括翻了>这本书也没有任何说明.我们先来看看为dup指令的作用,dup指令可以复制栈顶的一个字再压入栈,也就是把栈顶的内容做个备份.大家知道,JAVA/CLR是完全基于栈的实现,任何操作都是入栈出栈,没有任何寄存器,所以如果要对某一操作数

2008-05-05 14:59:00 4581 6

原创 HTTPS传送文件的打包方式(为一个朋友调试的过程)

https通道如果服务端忽略客户证书(也就是不要求客户提交证书,只是通讯过程用SSL对数据加密传输)的话,在应用层和普通HTTP没有区别,因为加密的是协议层,你客户端应用程序打包和服务端处理的逻辑不需要改变(仅仅是加一个验证方法而已)   先定义一个回调方法:         public static bool MyCallback(Object sender,  X509Certificate

2008-04-28 16:40:00 3576 1

原创 在C#中完成海量数据的批量插入和更新

对于海量数据的插入和更新,ADO.NET确实不如JDBC做到好,JDBC有统一的模型来进行批操作.使用起来非常方便: PreparedStatement ps = conn.prepareStatement("insert or update arg1,args2...."); 然后你就可以 for(int i=0;i  ps.setXXX(realArg);  .....  ps.addBatc

2008-03-20 18:45:00 53000 10

原创 C#与.NET 3.0高级程序设计(特别版)问题与错误列表

这是一本称为“圣经”的书,入手初看了一下,称“圣经”确实勉强了。其中一些深入的问题作者根本没有理解。当然首先肯定书不失为一本好书,但问题还是不少,现择录于此。希望再版时能有所修正。我边读边往这里加。-------------------------------------------------如何看"圣经"?人类历史上那些曾经在某一时期辉煌的经典如璀璨的明星指引着历史中的人们不断前进.但是任何经

2008-03-05 12:01:00 3000 6

原创 从OLE到SOA,SOA其实很简单!

阿三看到一个非常有兴趣的网页,想把它保存下来,于是,阿三点击"文件->另存为",选择"网页,全部(*.htm,*.html)".OK,阿三的硬盘上多了一个a.html文件和一个a文件夹,里面保存了这个网页上的所有资源,图片,css,js一大堆.阿三看着这一大堆文件,想整理又不太方便,于是阿三打电话给Axman,"大哥,我能不能把当前网页保存为一个文件又能显示原来的效果啊?"Axman晕了半天,没敢

2007-12-17 16:54:00 2071 1

原创 再说AJAX中最本质的功能--异步浏览

之前在"不学AJAX,我可以做得更好"一文中我已经对AJAX的本质做了充分的说明.其实我觉得自己已经是多事,就那点简单的东西,用得着写成一篇文章吗?(我更无法理解Ajax这种"东西"竟然会有专著来说明它). 但是,可悲的是就这么简单的东西,却有好多人没有理解,之前在bea论坛上有很多"专家"把AJAX说成是"异步通讯"或"异步连结",今天再次在BEA的开发者专场上看到speaker的演讲稿的中文仍

2007-12-17 16:41:00 1986 2

原创 系统调用中与被调用的命令交互方式

系统调用中,如果要和系统命令进行多次交互,那么system函数和popen都不能胜任,popen是单向管道.要么从中获取标准出,要么向其写入标准输入.所以用fork子进程和父进程利用pipe来进行双向通讯才能解决. 以修改用户密码为例,当然直接执行echo mypwd|passwd myname --stdin是可以的,但为了说明向被调用的子进程传递输入,我让子进程执行 passwd my nam

2007-11-29 17:09:00 1888

原创 一段代码备忘,放在这里,我以前好象没有发表过,CN-JAVA竟然有人原文COPY了说是他的原创.发个修改版的.

/**//* * DNSTools.java *  * Created on 2003-9-24, 13:56:09 *  * To change this template, choose Tools | Templates * and open the template in the editor. */package test;/** *//** * * @author axman */im

2007-10-24 18:02:00 2035 1

原创 简单的问题,大家想试的就试一试吧.

   用java在控制台上输出如下矩阵:1  2  36  5  4 7  8  9 

2007-10-11 10:51:00 1867 2

原创 集合类参数的传递

对于传参,从计算机的本质而言是传值.因为从数据模型而言计算机只认识数学值.但是不同的数学值代表的意义不同,有的数学值表示的是另一个数据的地址.所以根据这个数学值能访问到它表示的数据,我们就把这样的操作称为传址.其实就是某个数据所在的地址的数学表示.其本质还是传值. 从应用层而言我们所说的地址当然是指虚拟地址.而对于中间语言(java的byteCode/.NET的IL)而言是托管地址.我们不必关心实

2007-09-17 11:02:00 2805 2

原创 你适合做架构师吗?简单的一个小测试.

想做架构师,要把你的思维从功能转变到性能上.如果连功能都实现不了,那先老老实实做你的程序员,多锻练几年吧.程序员的基础知识积累到一定程度,几乎没有什么是不能做的.我说几乎是指有些特别的"核心技术"不是靠技术能力能接触到的,这部分的东西一般人是做不了的.我们不把它作为通用的内容来讨论.你几乎什么都能做了,你最关心的是什么?是你能做多少?说实话我提出这个问题会有很多人反驳我,因为也有很多做桌面应用的程

2007-08-23 16:26:00 3760 11

原创 对声卡输出进行录音的设置.

一般正常的录音都是对Line in进行录音,但有些需要对line out进行录音,因为有些音源是没有line in的.如即时聊天时录取对方的语音.但这些声音都要经过声卡播放,所以它们的音源就是声卡输出.对于声卡的输出,在录音控制中有两个,就是Mono mix和stereo mix,当然最好是选取 stereo mix,效果更好.编程打开录音设备时,是不能控制打开的设备上的输出还是输入通道的.所在要

2007-08-02 17:40:00 8686 6

原创 GSM MODEM发PUSH/MMS 的具体实现.

GSM MODEM发PUSH/MMS的原理请搜索网上的很多文章.这里只提供实现代码.我在原来发SMS的PDULib中加了两个组装PUSH和MMS通知的方法.然后直接利用发SMS的方法发出去.代码都是调用通过的.不过我用SE的GPRS卡插在本本上调用,无论是通过超级终端直接发AT指令还是用程序都不行,好象最后的结束符26(ctrl+z)发不出去.但用MOTO的手机连接本本,无论超级终端还是程序都很顺

2007-07-06 20:07:00 9920 11

原创 支持smil文件的MMS PDU打包方式.

 mms如果不支持smil那就不能叫真正的MMS,mixed的格式对于多个附件的MMS来说不仅没有"排版"功能,而且即使用你想一个文件一个文件"拆单了看",也不得不看一次手工播放一次,就象要手动"翻页".所以不支持smil干脆就别玩MMS了.但基于related格式的支持smil的PDU打包方式怎么也搜索不到,很多厂商和技术人员都故作神秘,不就是一堆规范的实现吗?只好下了几个文档来研究,经过反复调

2007-06-29 15:00:00 34485 42

原创 做了一个java5.0/6.0的反编译工具.随意试用吧.

 做了一个java5.0/6.0的反编译工具.随意试用吧.其实就是做了一个外壳.对class文件修改版本后调用jad来反编译.调用jad的过程用SW_SHOW显示到前台,目的是为了目标文件中已经存在相同的java文件,比如上一次已经反编译了一次,没有删除时,jad提示要覆盖,如果在后台没有手工确认jad进程就死在进程列表中了.最好是在反编译前前目标文件夹清空.另外没有将临时文件夹自动清空是因为在循

2007-04-18 15:23:00 3709 4

原创 JBuilder2007严重Bug

短信开发中,内容定义为"中文内容示例",结果发到用户手机上内容成了"???qing中文内容示例".把整个程序看了n遍没有找到问题.就这个几字符传入一个方法,然后插到数据库,在插入之前就多了几个字符.伪装代码址当于:String s =  "中文内容示例",insertData(phoneNumber,s){       //sql 的伪代码 insert into tb(c1,c2) values

2007-04-09 16:49:00 2137

原创 图形验证码的破解与设计

图形验证码设计目的是利用人脑的不可模拟性来防止机器自动识别.但是一个设计低级的图形验证码(可以被快速破解)除了增加网络流量以外没有任何意义.网上太多的"生成验证码"的教程把重点放在如何生成图片上,而实用性却几乎为零.生成图形本身是零基础技能,任何平台都提供内存图形环境和设备上下文(DC)让你操作,vc中的CDC,java/.NET中的Graphics,都提供比你需要的还要多的绘图API.可以说介绍

2007-03-28 10:56:00 12095 3

原创 short类型的+操作和++操作的区别,竟然没有一个正确答案.

今天再次在卫琴的论坛上看到有人问这样的问题:short    tmp = 0;为什么tmp = tmp +1;错误但 tmp ++;却正确.用google和yahoo竟然搜索不到一个正确的答案.都说java程序员不需要关心底层,真的吗? s+1中,+操作有两个操作数,JVM指令中+操作最小类型是int,其它的byte、short、char都以iload,iadd来操作,然后用i2b,i2s,i2c

2007-03-23 09:53:00 4038 8

原创 不学习AJAX,我可以做得更好

当AJAX刚推出时,它只有一个简单的概念,任何熟悉xmlhttp和dhtml的程序员只要花30分钟就可以掌握到专家级水平.它后来的发展我没有再花时间去研究,我感觉也没有必要花时间去研究.确实,现在的所谓新技术层出不穷,即使是真正的新技术你也不可能出现一种就掌握一种,世界上还没有这样的神人.每个人的精力有限,应该把精力放在自己认为最值得关注的地方.何况这种本就不是新技术,在原有的技术上封装一个新概念

2007-03-22 13:53:00 3967 7

原创 我们是否还需要造轮子?

 在我和一些朋友深入讨论"底层"的技术细节时,经常被一些"超级大师"(火星来的)讽刺为造轮子,我总是淡然一笑.因为说你在干什么事只是说了一个事实,而这个世界并没有任何标准来评判这个行为是否正确,也许只有上帝知道.  别人已经发明的轮子我们是否还需要造? 当然需要,就在某些讽刺我们在造轮子的"大师们"的言论中竟然还会加上一两句:中国的IT技术就是因为你们这行人才永远赶不上别人. 看看这种前后矛盾的大

2007-02-16 23:31:00 3137 6

原创 几个c++语句的汇编实现(H1指令)

;*p = 5  ldc 5   ;  push  ld p ;load ps value  sti  ;save 5 to mem[ps value]  ldi  ;get the value  dout  ldc /n  aout;*** q = 10  ldc 10  push  ld q  ;ac = 17 *qs addr  ldi   ;ac = 18 **qs addr 

2007-01-29 15:47:00 2460

原创 再说SMTP服务及连结过程

再说SMTP服务及连结过程到目前为止,仍然有很多人以为SMTP是用来发送邮件,POP3/IMAP是用来接收邮件的.SMTP服务的首要功能是接收外部寄来的邮件,这是必须功能,没有它就无法完成电子邮件传输.其次是转发我们的邮件给其它的SMTP服务器,这是可选功能,虽然目前99.99%的邮件都是通过本地SMTP服务器发送到目的地SMTP服务器的,但它确实就是可选功能.SMTP服务器收接收外部寄来的邮件和

2007-01-19 17:05:00 5774 1

项目工程文件

自己完善吧

2007-07-06

空空如也

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

TA关注的人

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