JAVA技术
文章平均质量分 56
hailanzhijia
喜欢思考,喜欢条理,酷爱追求思维本源,利用规律,尽享思维之妙;
喜欢努力,喜欢改进,挚爱寻求生命意义,鉴赏品位,尽享生活之乐。
虽然我很卑微,但那只是暂时的...
展开
-
CGlib 基础
Code Generation Library It is used to extend JAVA classes and implements interfaces at runtime. 原理:通过产生继承自源类(包含:接口,抽象类)的子类,来完成对源类的方法调用的截获处理,因为子类可以覆盖父类的所有方法(final的除外),生成子类的对象,赋给父类的引用,那么这个对象就可以像操作父类一样的操作,只是行为会被捕获和处理,达到不改源类代码修改源类的目的三个模块原创 2010-07-20 11:16:00 · 917 阅读 · 1 评论 -
JBoss Cluster
JBoss Cluster can support Loadbalance and failover.Failover cannot avoid errors completely. For getArrayDataFromActive API, there is only one remote method call. But failover only works between原创 2011-06-10 09:48:00 · 1486 阅读 · 0 评论 -
研究类加载问题的心得
[问题的起因]对于FTPC比较早的版本,我们对于Fix的测试经常是通过替换安装后的目录中的class文件,这样我们就无需下载整个工程,达到测试的目的,而且这种测试还比较准确。 今天在做对于PO81MR12d的一个Fix(PC-13877)的测试的时候,我仍然采用替换class文件的方式来测试。 一开始我们发现只需要修改一个CoreEJB中文件即可,所以我替换了这个class文件,测试很快就原创 2011-06-15 22:49:00 · 906 阅读 · 0 评论 -
java.net.BindException: Address already in use: Cannot bind
在启动JBoss 5的过程中老是报错:java.net.BindException: Address already in use: Cannot bind at java.net.PlainDatagramSocketImpl.bind(Native Method) at java.net.DatagramSocket.bind(DatagramSocket.java:340)原创 2011-06-17 13:16:00 · 12716 阅读 · 1 评论 -
JGroup入门
分布式通知技术-JGroups 入门 1 基本信息 摘要: 介绍什么是Multicast,什么是JGroups,以及JGroups详解 2 什么是Multicast Multicast 是一种同时像多台机器发送数据的机制。Multicast使用224.0.0.0 到239.255.255.255转载 2011-06-18 10:56:00 · 9637 阅读 · 2 评论 -
Debug JDK源码
<br />eclipse中,只有使用jdk1.6.0_17/jre下面的jar包来开发和运行JavaApplication时,<br />才能关联源代码src.zip, 并且实现对JDK中的String源代码进行Debug的目的。<br />(如果直接使用的是jre1.6.0_17里面的jar来运行的话,那么会报class因为找不到LineNumber而无法<br />定位到源代码的问题)原创 2011-04-28 16:11:00 · 867 阅读 · 0 评论 -
java事件详解
目前在一些java应用程序的GUI测试工具,可以提供捕获用户操作的能力并在代码被修改之后能够自动回放用户的操作。文章将分析Java的事件处理模型及其原理,介绍了基于事件源识别的捕获/回放所需要了解的关键技术并给出了两种实现方式。1、 Java事件介绍1.1什么是事件首先我们来回答"什么是事件"这一基本问题。其实事件本身就是一个抽象的概念,他是表现另一对象状态变化的对象。在面向对象的程序设计中,事件消息是对象间通信的基本方式。在图形用户界面程序中,GUI组件对象根据用户的交互产生各种类型的事件转载 2011-04-29 09:49:00 · 2620 阅读 · 0 评论 -
JMS简介
<br />1 JMS<br /> 在介绍ActiveMQ之前,首先简要介绍一下JMS规范。<br />1.1 JMS的基本构件<br />1.1.1 连接工厂<br /> 连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQConnectionFactory。<br /><br />1.1.2 连接<br /> JMS Connection封装了客户与JMS提供者之间的一个虚拟的连接。<br /><br />1.1.3 会话<br />转载 2011-05-02 23:01:00 · 780 阅读 · 0 评论 -
关于解决键盘快速输入问题的(keyboard input issue)的突破的体会
当我们尝试了很多途径,依然没有寻找到突破口,不妨 更加深入的追踪核心代码的逻辑,彻底搞清楚核心逻辑所走的核心路线,比如此 Case对应的 JDK的 Event Delegation Model,就算我们最后都没能完全解决问题,我们也能从中学到很多核心的知识。3. 有时候需要设断点来调试代码,但是对于这种 Event的 case,一旦你设了断点,程序会阻塞,后续发生的事件有可能不会被触发,所以我们有时候还得用最原始的 System.out.println()的方式在控制台打印出变量的值,来帮助分析问原创 2011-05-06 10:50:00 · 1781 阅读 · 0 评论 -
Java OOM分析
本文来自于我的同事Roy的一次分享,感觉蛮有用的,保存下来,以备后用。1 分析工具1) 动态分析工具Jprofiler具体Jprofiler在我们的FTPC的配置,可以参考我在sharing上的一篇分享文章 htt转载 2011-07-22 16:46:51 · 7088 阅读 · 0 评论 -
最简单的线程同步的例子
最简单的线程同步的例子:先定义一个线程类:public class MyTestThread extends Thread{ public void run() { System.out.println(Thread.currentThread().get原创 2011-07-17 20:03:32 · 1121 阅读 · 0 评论 -
同步的几种常用方法
基于上一篇文章 最简单的线程同步的例子 本文,旨在探究几种常用的同步的方法:1. 成员方法同步public class MyTestThread extends Thread{ public synchronized void run() { System.out.原创 2011-07-17 22:23:54 · 1655 阅读 · 2 评论 -
JGroups入门
<br /> 前些天看了些关于JGroups方面的资料,怕时间久了将之忘于脑后,觉得有必要记录一下,这样日后就不用再从头看啦。<br /> 现在有很多项目都使用JGroups做底层的通讯,知道的开源项目有JBoss Cache和OSCache用它做为底层支持来实现集群的,一定还有其他的项目也用到了,只不过我不知道而已了。<br /> JGroups是一个可靠的组间通讯工具,进程可以加入一个通讯组,给组内所有的成员或单独的成员发送消息,同样,也可以从组中的成员处接收消息。系统转载 2011-03-04 16:04:00 · 1278 阅读 · 0 评论 -
Unit Test 块覆盖率
<br />Block:A sequence of non-branching statements; a linear sequence of code with no control flow route branchings.<br /><br />Block coverage<br /><br />Block coverage, sometimes known as line coverage, describes whether a block of code, defined as no原创 2010-11-17 14:54:00 · 1797 阅读 · 0 评论 -
JAVA解析XML,DTD验证问题
问题提出:解析ejb-jar.xml,出现在网络连不上的情况下,解析失败的情况。问题分析:我们使用的是DOM进行XML的解析的: DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.pars原创 2010-11-12 14:37:00 · 6140 阅读 · 1 评论 -
ASM 基础
<br />ASM is an all purpose Java bytecode manipulation and analysis framework.<br /> Note that the scope of the ASM library is strictly<br /> limited to reading, writing, transforming and analyzing classes.<br /> <br />核心的部件原创 2010-07-20 11:29:00 · 915 阅读 · 0 评论 -
AOP 基础
<br />定义:面向切面编程:Aspect Oriented Programming AOP是OOP的延续<br /><br />有别于业务逻辑的切面:日志记录,性能统计,安全控制(例如 访问时加锁),事务处理,异常处理...<br /><br />意图:将上述切面从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码,解耦合。<br /><br />实现方法:可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下原创 2010-08-03 22:10:00 · 550 阅读 · 0 评论 -
Java异常 总结
<br />1. Runtime, 只要有捕获,就会被处理, 而不会到main中抛出<br />2. Checked, 程序代码必须捕获<br />java.lang.Object<br /> ------java.lang.Throwable<br /> ----java.lang.Exception<br /> ------java.lang.RuntimeException<br /> ------java.原创 2010-08-12 21:22:00 · 447 阅读 · 0 评论 -
从jar包中读取资源文件
<br />我们不能用常规操作文件的方法来读取ResourceJar.jar中的资源文件res.txt,但可以通过Class类的getResourceAsStream()方法来获取 ,这种方法是如何读取jar中的资源文件的,这一点对于我们来说是透明的。我们将Resource.java改写成:<br />//源代码3:package edu.hxraid;import java.io.*;public class Resource { public void getResource() thr原创 2010-09-30 09:58:00 · 643 阅读 · 0 评论 -
java路径
import java.io.File;/** * @description java 路径 * @author swandragon * @date Nov 5, 2009 */public class FilePath{ /** * 开发中不要使用System.getProperty("user.dir")获取当前用户目录的相对路径 * 也尽可能不要使用绝对路径,使用绝对路径时可以在配置文件中配置,项目中读取配置文件 * 应尽可能的使用相对路径,推荐使用当转载 2010-10-06 16:04:00 · 484 阅读 · 0 评论 -
JVM运行状况检测工具
<br />JDK自带的jconsole.exe可以很容易的查看:Heap Memory,CPU Usage, Threads原创 2010-12-10 09:00:00 · 716 阅读 · 0 评论 -
Eclipse 中 program arguments 与 VM arguments 的区别
Eclipse中program arguments 与 VM arguments的区别附代码:publicstaticvoid main(String[] args){ System.out.println( "Program arguments" ); for( String str:args ){ System.out.println( str ); } System.out.println( "VM arguments转载 2010-10-20 11:46:00 · 19568 阅读 · 3 评论 -
java调用bat
<br />import java.io.IOException;public class Main {public static void main(String[] args){try {Runtime rt = Runtime.getRuntime();rt.exec("cmd.exe /c start c://1.bat");} catch (IOException e) {e.printStackTrace();}}/* 1.bat的内容* @echo原创 2010-10-31 18:03:00 · 1398 阅读 · 0 评论 -
Java简单的文件读写,换行
private static Vector readFailures(String path) throws Exception{ Vector failures = new Vector(); FileReader fr = new FileReader(path); BufferedReader bf=new BufferedReader(fr); String temp = ""; while((temp = bf.readLine()) != null){原创 2010-11-08 15:35:00 · 4263 阅读 · 0 评论 -
eclipse启动参数设置
<br />-arch [processor architecture]<br />描述:指定所使用的处理器的类别<br />举例:eclipse -arch x86或eclipse -arch sparc<br /><br />-application [id]<br />描述:指定要运行的应用,id为扩展org.eclipse.core.applications扩展点的插件id加扩展id<br />举例:例如有个插件id为edu.sdu.app,扩展id为myap转载 2010-11-09 15:50:00 · 9527 阅读 · 0 评论 -
Eclipse的 Log位置
<br />Log是相对于WorkSpace而言的,所以没有WorkSpace都有自己的log,所以要想查看Log,需要到WorkSpace对应的目录中查看即可。原创 2010-11-09 15:52:00 · 12652 阅读 · 0 评论 -
Active MQ 配置
本文作为一个基础收集所有关于Active MQ配置的信息。1. ActiveMQ消息存储机制:官方信息: http://activemq.apache.org/amq-message-store.html民间信息: http://www.360doc.com/co原创 2011-08-04 15:10:39 · 847 阅读 · 0 评论