自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 Mina源码学习-IoFuture

<br />    IoSession的一些IO操作是通过异步的方式实现的,通过IoFuture这种模式可以将异步操作实现同步的特性,这样可以让各种不同的应用根据自身的需要予以选择,同时内嵌的事件通知方式,可以实现异步通知的功能。<br /><br />其中await、awaitUninterruptibly可以等待操作的完成,以实现同步的特性,另外removeListener和addListener通过注册侦听器来实现异步通知的功能。

2011-02-13 20:08:00 779

原创 org.apache.commons.lang.ArrayUtils记录

<br />public static Map toMap(Object[] array) { if (array == null) { return null; } final Map map = new HashMap((int) (array.length * 1.5)); for (int i = 0; i < array.length; i++) { Object objec

2010-12-23 13:10:00 1698

原创 Collection源码学习之List.listIterator方法

List方法接口: public ListIterator listIterator() { return listIterator(0); } public ListIterator listIterator(final int index) { if (indexsize()) throw new IndexOutOfBoundsException("Index: "+index); return new ListItr(index); }ListIte

2010-12-23 12:08:00 575

原创 Collection源码学习之toArray方法

<br /><br />public Object[] toArray() { // Estimate size of array; be prepared to see more or fewer elements Object[] r = new Object[size()]; Iterator<E> it = iterator(); for (int i = 0; i < r.length; i++) { if (! it.hasNext())

2010-12-23 11:34:00 1469 1

原创 RMI Server 多网卡问题

<br />    问题描述:当服务器端存在多网卡的时候,需要指定RMI Server对应的IP地址,否则可能存在RMI客户端找不到正确的RMI服务的情况。<br />    通过设置java.rmi.server.hostname属性可以指定正确的RMI服务地址。可以在启动Java程序的时候通过-Djava.rmi.server.hostname=IP来指定。

2010-12-22 20:10:00 2388

原创 Eclipse中Tomcat配置

-Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m -Dfile.encoding=UTF8 -Duser.timezone=GMT+8:00 -Djava.security.auth.login.config=%Tomcat_HOME%/conf/jaas.config-Djava.endorsed.dirs=%Tomcat_HOME%/common/endorsed-Dcatalina.base=%Tomcat_HOME%-Dca

2010-11-16 13:39:00 500

原创 byte stack

<br />byte stack,实现了一个byte栈,该栈的数据从索引“0”开始弹出,每次可以弹出若干个byte。<br />public class ByteStack { private byte[] element; private int size; public ByteStack(byte[] element) { if (element == null) { throw new IllegalArgumentException("null element.");

2010-09-19 13:55:00 498

原创 byte数组

<br />参考ArrayList的实现方式,实现了一个byte数组,提供了数组的动态添加功能。可以应用于协议开发时的数据的组装。<br />public final class ByteArray { private byte[] element; private int size; public ByteArray() { this(10); } public ByteArray(int initialCapacity) { element = new byte[init

2010-09-19 13:51:00 1610

原创 代码的坏味道-目录

Duplicated Code(重复代码)Long Method(过长函数)Large Class(过大的类)Long Parameter List(过长参数列)Divergent Change(发散式变化)Shotgun Surgery(霰弹式修改)Feature Envy(依恋情结)Data Clumps(数据泥团)Primitive Obsession(基本类型偏执)Switch Statements(switch语句)Parallel Inheritance Hierarchies(平行继承提醒)L

2010-09-15 18:48:00 629

原创 ActiveMQ 之 Failover Transport

<br />将Failover Transport添加到其它 Transpor 层之上可以实现自动重连的功能。<br />Failover Transport允许用户指定任意个uri,Failover Transport随机选择其中一个进行连接,如果连接失败,将继续从其中选择其他的进行的uri进行连接。<br />语法是:<br />failover:(uri1,...,uriN)?transportOptionsorfailover:uri1,...,uriN <br />具体配置参数参考:<br

2010-09-14 13:37:00 9399

原创 ActiveMQ 之 Topic Persistence

1、创建connection,为connection设置clientId,当使用Durable Subscription方式时,你必须在建立connection的时候设置ClientID。对于每一个生产者或者消费者来说,其clientID必须唯一。ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(userName, password,brokerURL);connectionFactory.setUse

2010-09-13 19:38:00 8091 4

原创 Java实践

异常抛出不合适,返回null更合适。一般情况下出现如下三种情形才须抛出异常:编程错误;客户端代码错误;资源失败。<br /> public AcsNode getAcsNodeByCode_NodeTypeCode(String nodeTypeCode, String code) throws NoSuchRecordException { AcsNode node = getUniqueEntityByPropNames(new String[]{"nodeTypeCode", "code"},

2010-09-10 11:17:00 501

原创 Java 内存模型

Java 内存模型<br />

2010-09-07 09:49:00 370

原创 Java for each语句

源码public void inForEach1() { for (String s : getStrings()) { } } public void outForEach1() { String[] strs = getStrings(); for (String s : strs) { } } public void simpleFor() { String[] strs = getStrings(); int

2010-09-06 20:37:00 1213

原创 Java Map foreach效率

Java Map foreach效率通过比较源码和字节码,查看在Map 的entrySet在foreach中Java到底做了些什么。源码:public class ForEachTest { public void inForEach(int count) { Map map = new HashMap(); for (Entry entry : map.entrySet()) { } } public void outForEach(short count) {

2010-09-06 20:13:00 15061

原创 Java存储结构-JVM规范学习笔记

Java 存储结构-JVM规范学习笔记Java线程每个Java虚拟机线程具有一个私有的,与线程同时创建的Java栈,同时每个线程还拥有一个属于自己的PC寄存器。Java栈中存储Java虚拟机框架,Java虚拟机框架可以是堆分配的。Java栈的存储器不需要连续的,Java虚拟机规范允许Java栈大小是固定的或动态变化的。以下情况将抛出异常:如果线程中计算需要比所允许大的Java栈,将抛出StackOverflowError;如果栈是可动态分配的,当视图扩展Java栈但没有足够的存储器来实现时,将抛出OutOf

2010-09-06 19:07:00 1209

原创 DAO模式应用

<br /> <br />DAO:Data Access Object,数据访问对象模式,是一种将底层数据存储和高层业务逻辑进行分离的模式。<br />在标准的DAO模式实现中,包含三种基本的组件:DaoFactory、Dao、DaoImpl,即:Dao工厂、Dao接口、Dao实现。一个Dao接口描述了对一种类型的数据资源的访问接口,而一个Dao实现则包含了对特定数据源的访问逻辑。以“企业”这种特定的数据资源为例:<br />“企业”这种资源可能有两种方式进行存储,一种是采用关系数据库进行存储,一种是采用X

2010-08-11 20:12:00 595

原创 Java Meta Annotation & Spring Annotation

Java Meta AnnotationJava Meta Annotation:用于修饰其它Annotation的Annotation。@Retention:可以设置三种值RetentionPolicy.CLASS、RentionPolicy.RUNTIME、RentionPolicy.SOURCE,表明该新定义Annotation能够保留的时间,分别是:class文件中保留、运行时保留、Java代码级保留@Target:表示该新定义Annotation的作用目标,具体可参考API文档。@Document

2010-08-10 20:36:00 1211

原创 ServletResponse(或ServletRequest)中输入输出流的问题

ServletResponse(或ServletRequest)中输入输出流的问题1、ServletResponse中的getOutputStream和getWrite同时只能使用其中的一个。2、ServletResponse通过getOutputStream和getWrite获取的IO流不需要开发人员显式调用close方法进行关闭。

2010-07-20 13:25:00 792

转载 结合使用Hibernate和XDoclet

结合使用Hibernate和XDoclet    转载自:http://blog.163.com/scpazd_1982/blog/static/1125932420076933421634/    Hibernate本身没有提供生成映射文件的机制。我们可以使用一种新的工具--XDoclet,作为一种通用的代码生成工具,XDoclet可用于生成任何类型的文件,包

2009-11-25 19:59:00 570

原创 硬盘安装Ubuntu

硬盘安装Ubuntu    说明:‘#’以及‘#’后面的文字均为注释。下载Ubuntu文本界面安装程序。例如:Ubuntu9.10版的文本界面安装程序为ubuntu-9.10-alternate-i386.iso。下载上一步下载的文本界面安装程序对应的initrd.gz和vmlinuz文件。下载路径:http://archive.ubuntu.com/ubuntu/dists/

2009-11-07 17:13:00 772 1

转载 quartz cron 表达式详解

quartz cron 表达式详解字段         允许值               允许的特殊字符   秒           0-59                 , - * /   分           0-59                 , - * /   小时         0-23                 , - * /   日期      

2009-01-21 16:18:00 3328 1

原创 byte[]转String

byte[]转String:public static String bytesToHexString(byte[] data) {    StringBuffer sb = new StringBuffer();    for (int i = 0; i         sb.append(String.format("%1$02X", data[i]).toUpperCase()).app

2009-01-07 08:57:00 682

原创 JUnit测试

利用Ant中的junit和junitreport进行测试:Ant中junit标签对以Test结尾的class进行测试,生成xml测试结果,然后junitreport根据${test.style.dir}中的样式文件junit-noframes.xsl生成html测试报告。build.xml文件:"test" depends="compile,compile-test">        "test-

2009-01-06 11:31:00 670

原创 MySQL查看数据库连接数

cmd命令行输入:mysql>   show   processlist;或者:mysqladmin -u root -p123456  processlistmysqladmin -u root -p123456  status

2009-01-06 11:04:00 2340

原创 byte[]与int

byte[]转换为intpublic int bytesToInt(byte[] data) {    if (data.length != 4) {        throw new IllegalArgumentException();    }    ByteBuffer byteBuffer = ByteBuffer.allocate(4);    byteBuffer.put(data,

2009-01-05 16:18:00 718

原创 第一帖

  从今天开始,尝试写写博客了。

2008-12-23 09:49:00 297

Thinking in Java 4th Edition.pdf

Thinking in Java 4th Edition.pdf

2008-12-23

空空如也

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

TA关注的人

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