Java
wusekong
这个作者很懒,什么都没留下…
展开
-
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 2390 阅读 · 0 评论 -
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 · 1699 阅读 · 0 评论 -
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 · 1471 阅读 · 1 评论 -
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 · 15062 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 1615 阅读 · 0 评论 -
Java 内存模型
Java 内存模型<br />原创 2010-09-07 09:49:00 · 371 阅读 · 0 评论 -
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 · 1214 阅读 · 0 评论 -
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 · 502 阅读 · 0 评论 -
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 · 599 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 683 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Mina源码学习-IoFuture
<br /> IoSession的一些IO操作是通过异步的方式实现的,通过IoFuture这种模式可以将异步操作实现同步的特性,这样可以让各种不同的应用根据自身的需要予以选择,同时内嵌的事件通知方式,可以实现异步通知的功能。<br /><br />其中await、awaitUninterruptibly可以等待操作的完成,以实现同步的特性,另外removeListener和addListener通过注册侦听器来实现异步通知的功能。原创 2011-02-13 20:08:00 · 780 阅读 · 0 评论