易截截图软件、单文件、免安装、纯绿色、仅160KB

Java包装类学习

我们应用某种数据类型时,很多时候要进行类型转换等操作。在Delphi中,类型转换函数感觉很零乱,如字符串转整形、整形变字节数组等等。
而在JAVA中,已经将Java的基本数据类型与其提供了一些常用的类型操作的方法进行了封装,这样才有一切皆对象的感觉。
在学习包装类时,找了几个比较有意思的类进行了学习!
Integer
Integer i=3;
//上述语句毫无疑问,是进行一个类的创建!但通过Java Decompiler进行反编译后,发现这条语句被编译器优化成了Integer integer = Integer.valueOf(1);比较有意思,于是就看看valueOf中是什么
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
IntegerCache是什么
private static class IntegerCache {
private IntegerCache(){}
static final Integer cache[] = new Integer[-(-128) + 127 + 1];
static {
for(int i = 0; i < cache.length; i++)
cache[i] = new Integer(i - 128);
}
}
原来当创建Integer时,-128-127范围内的数据已经以static final的形式预先创建了,放在堆中。当用户声明该范围的Integer类型的变量时,直接从IntegerCache中读取。
可以做一个试验:
Integer integer=1;
Integer integer2=1;
if (integer==integer2){
System.out.println("ok");
}
结论是:integer与integer2所指的内存都是一致的,所以打印ok!
(在Java版经常看到很多人对堆与栈搞得很糊涂)
    2.  Boolean
Boolean boolean1=true;
//这个代码与上述的Integer integer=1的做法类似,编译器对此进行优化(大家可以下载一个java Decompiler)。优化后的语句为Boolean boolean1 = Boolean.valueOf(true);这时可以看看valueOf的代码
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}
再看看TRUE与FALSE是什么?
public static final Boolean TRUE = new Boolean(true);

public static final Boolean FALSE = new Boolean(false);
原来Boolean在创建时已经创建了二个static final的Boolean对象,True与False。这时做个实验:
Boolean boolean1=true;
Boolean boolean2=true;


相关文档:

JAVA线程池的使用

线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为: ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,
long keepAliveTime, TimeUnit unit,
BlockingQueue<Runnable> workQueue,
RejectedExecutionHandler handler) corePoolSize: 线程池维护线程的最少数量 ......

JSON与JAVA数据的转换

关键字: json java
JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。
下载地址:http://json-lib.sourceforge.net/
还要需要的第3方包:
org.apache.commons(3.2以上版本)
org.apache.oro
net.sf.ezmorph(ezmorph-1.0.4.jar)
nu.xom
1、List
Java代码
boolean[] bool ......

JAVA—感触

学到JAVA的面对对象,发现如此强大!
万物皆对象,万物为我所用!
对JAVA产生强烈的好感!
但对于Sun公司的收购,JAVA不知会如何?
--------------------------------------------------
这第一篇文章,是我在CSDN的开端。
之后我会更新我的博客,写上一些学习感受。
希望能在这里找到一片新的天地! ......

Java开发核心技术面试心得分析

Java的数据结构有哪些?Map与Set的本质区别是什么?
分析:Java常见的数据结构有Collection和Map,其中Collection接口下包括List和Set接口,其下又有多个实现类如List下有ArrayList、LinkedList和Vector等实现类,Set下有HashSet、LinkedSet等实现类和SortedSet接口,HashSet下有LinkedHashSet子类,SortedSet接口下有Tre ......

如何迅速成为Java高手

要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要 分为三大块:J2SE,J2ME和 J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编 程; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号