java的Interger自动包装带来的问题】的更多相关文章

1 首先看一下以下代码: Integer b=7; Integer c=7; Integer r=234; Integer d=234; System.out.println(b==c); System.out.println(b.equals(c)); System.out.println(r==d); System.out.println(r.equals(d)); 一眼看下去运行结果就是二个==是false,二个equals是true,根据==操作比较的是两个变量的值是否相等,对于引用型变…
之前没有特别注意自动封装所带来的性能问题,今天看了effective java,实验了一下,结果大吃一惊: 考虑下面这段代码: public static void main(String args[]){ Long sum =0L; for(long i = 0;i < Integer.MAX_VALUE;i++){ sum+=i; } System.out.println(sum); } 运行这段代码我机器耗时是7000ms; 我们再看下面这段代码: public static void m…
使用枚举定义常量时,会伴有大量的switch语句判断,目的是伪类每个枚举项解释其行为,例如: public class Client { public static void main(String[] args) { doSports(null); } public static void doSports(Season season) { switch (season) { case Spring: System.out.println("春天放风筝"); break; case…
码点与代码单元 java string有两种判定字符的方式,一种是以码点,一种以代码单元,简单讲,码点就是真正的字符,代码单元是按大小即char型长度2个字节划分字符串. 所以length和charat方法都不能正确的表示我们所认为的字符数量个字符位置 关于 Character 摘自jdk文档 char数据类型(因此Character对象封装的值)基于原始Unicode规范,其将字符定义为固定宽度的16位实体. Unicode标准已经被更改为允许其表示需要超过16位的字符. 法定代码点的范围现在…
来源:https://www.cnblogs.com/cheapcrook/archive/2012/04/25/2470478.html 自动拆装箱(AutoBoxing) 是JDK1.5中新增加的内容 ,它可以将基本数据类型自动转换为它的包装类,或者相反.装箱应该理解为封装对象,即把基础数据类型(如 int)转换成基础类型封装类的对象(如 new Integer()):拆箱就是装箱的反过程,即把基础类型封装类的对象(如 new Integer())转换为基础数据类型(如 int). 装箱:…
<thinging in java>中指出自动包装机制不能应用于泛型数据,自己写的测试代码如下: package com.xt.thinks15_11_1; import java.util.Arrays; /** * 自动包装在泛型数组的测试 * * @author Administrator * */ public class AutoBoxGenericTest { public static <T> void antoBoxGeneric(T[] ts, T t) { //…
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做java的web开发,会选择struts2或者springMVC这样的框架,而不是使用servlet加jsp这样的技术呢?特别是现在我们web的前端页面都是使用velocity这样的模板语言进行开发,抛弃了jsp,这样的选择又会给我们java的web开发带来什么…
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源.一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行.由于线程之间的相互制约,致使线程在运行中呈现出间断性.线程也有就绪.阻塞和运行三种基本状态.就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在…
(原创,转载请说明出处!谢谢--http://www.cnblogs.com/linguanh/) 此文目的为了帮助大家较全面.通俗地了解线程 Thread 相关基础知识! 目录: --线程的创建: --启动线程 --线程的调度 --Thread 类的简介 --线程的同步/异步 --wait() 和 notify(),notifyAll()方法 在讲线程之前,先说下进程. 进程:是运行系统中,每个独立运行的程序.例如win7,我既用酷狗软件听歌,又玩 LOL 游戏,又上QQ,那么这就有3个进程.…
一◐ java概述                                                                                        1.1 Java的不同版本:J2SE.J2EE.J2ME的区别                                                  1998年12月,SUN公司发布了Java 1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用1.2之前的版本,所以通常所说的Ja…