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;
相关文档:
安装开发环境
ubuntu9.10下安装JAVA开发环境其实还是比较简单的,我们就以安装常用的jdk、eclipse、tomcat、svn client(找到一个可以和windows中的小乌龟类似的但安装还有点问题解决后会补上)、oracle client为例讲讲如何安装(本文中自动化安装脚本下载http://download.csdn.net/source/2034239,文件太大分成6份 )。前 ......
很久没上来了,发现虽然资料和书看的很多,但是很久没碰的东西还是很容易淡忘。以后希望能多记录吧。
今天玩了把线程池,并对其中的参数做了一些调整,并记录在多并发情况下线程数对各种情况的反应。程序是网上找的,并作了稍微修改。
java的线程池实现,ThreadPool
package net.zj.hz.yk.thr ......
inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish
)。本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/
JUEL
是统一表达式语言(Unified Expression Language
, EL
)的一个实现,是JSP 2.1
标准(JSR-245
)的一部分,已经作为Ja ......
整体系统采用Java中Spring ,Struts, Hibernate组成。
在Action中:
public ActionForward orgview(ActionMapping mapping, ActionForm form,HttpServletRequest request,HttpServletResponse response) {
// TODO Auto-generated method stub
ActionForward forward = new ActionForward("strpath");
Http ......