`
helloqyq
  • 浏览: 2177 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

针对java中Integer的一些缓存

 
阅读更多
public class JavaTest {
public static void main(String[] args){
Integer a=50;
Integer b=50;
System.out.println("1::"+(a==b));
System.out.println("2::"+(a>=b));
System.out.println("3::"+(a<=b));

Integer c=500;
Integer d=500;
System.out.println("11::"+(c==d));
System.out.println("22::"+(c>=d));
System.out.println("33::"+(c<=d));
}
}


打印结果::

1::true
2::true
3::true
11::false
22::true
33::true


原因:

/**
* Returns a <tt>Integer</tt> instance representing the specified
* <tt>int</tt> value.
* If a new <tt>Integer</tt> instance is not required, this method
* should generally be used in preference to the constructor
* {@link #Integer(int)}, as this method is likely to yield
* significantly better space and time performance by caching
* frequently requested values.
*
* @param  i an <code>int</code> value.
* @return a <tt>Integer</tt> instance representing <tt>i</tt>.
* @since  1.5
*/


public static Integer valueOf(int i) {
    if (i >= -128 && i <= IntegerCache.high)
        return IntegerCache.cache[i + 128];
    else
        return new Integer(i);
}

你看懂了吗?
分享到:
评论
2 楼 helloqyq 2011-12-31  
linuxzhang 写道
你写的代码不报错的?

没有啊!怎么错啦!
1 楼 linuxzhang 2011-12-31  
你写的代码不报错的?

相关推荐

    深入理解Java中的final关键字_动力节点Java学院整理

    Java 中的一些核心类,如 `String` 和 `Integer`,就是 `final` 类。 使用 `final` 关键字的好处包括: 1. 提高性能:JVM 和应用程序可以对 `final` 变量进行缓存和优化。 2. 安全的多线程共享:`final` 变量在多...

    Java面试题全集.pdf

    综合以上内容,这份文档似乎是针对Java语言的面试准备资料,其中涉及到的关键知识点是面试中经常会被问到的。它不仅覆盖了语言基础,还深入到Java语言的特定特性和最佳实践,包括对Java语言特性的理解和对语言核心...

    第7讲 int和Integer有什么区别1

    在Java 5及更高版本中,`Integer`类引入了值缓存机制,主要是为了提高性能。在-128到127之间,当我们创建`Integer`对象时,会使用预先创建好的对象,而不是每次都通过`new Integer()`创建新的实例。这是通过`...

    Java面试宝典2017版

    Java面试宝典2017版是一本针对Java开发者准备面试的重要参考资料,涵盖了广泛的Java相关技术、算法、编程以及Web开发等内容。以下是根据书中的部分目录和问题,详细阐述的一些关键知识点: 1. Java基础部分: - `...

    java编程中'为了性能'一些尽量做到的地方

    在Java编程中,优化性能是每个开发者关注的重要话题。这篇博文主要探讨了为了提升程序运行...以上是Java编程中为了性能提升应尽量做到的一些实践。理解并应用这些原则,可以帮助开发者编写出更加高效、响应更快的程序。

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

    2.3.7 java平台实现中的bug 2.3.8 测试 2.4 平台无关的七个步骤 2.5 平台无关性的策略 2.6 平台无关性和网络移动对象 2.7 资源页 第3章 安全 3.1 为什么需要安全性 3.2 基本沙箱 3.3 类装载器...

    Java常用类day09.docx

    Java中的包装类是针对Java的基本数据类型而设计的,它们为每个基本数据类型提供了一个对应的类,例如`int`对应`Integer`,`double`对应`Double`等。包装类的引入主要有以下好处: 1. **方法扩展**:包装类提供了...

    Java技术面试宝典.doc

    Java技术面试宝典是针对Java开发工程师面试的重要参考资料,涵盖了从基础到高级的诸多知识点。以下是一些核心要点的详细解析: 1. **一个.java源文件中的类限制**:一个.java源文件可以包含多个类,但只能有一个...

    Java面试宝典2013版

    Java面试宝典2013版是一本针对Java开发者求职面试的重要参考资料,涵盖了广泛的Java基础知识和技术要点。以下是一些核心知识点的详细解析: 1. **Java源文件与类的关系**:一个`.java`源文件中可以包含多个类,但...

    mysql-connector-java-8.0.21

    10. **性能优化**:8.0.21版本可能包含针对MySQL 8.0的性能优化,如更好的线程管理、缓存策略和网络通信改进。 11. **兼容性**:此版本的驱动适用于Java 8及以上版本,并且兼容MySQL 8.0系列数据库,能与新的特性和...

    Java 最常见200道面试题.pdf

    首先,文档描述了一个名为“Java 最常见200道面试题.pdf”的文件,它是一个集合了互联网公司面试题的集锦,主要针对后台、客户端、测试、数据、算法等职位。文档强调了这些面试题对于准备面试的程序员具有很高的价值...

    Java面试宝典

    Java面试宝典是一份针对Java开发人员,尤其是应届毕业生准备面试的重要参考资料,它包含了大量不同公司的面试原题,涵盖了从基础到高级的各种知识点。以下是一些核心问题的详细解析: 1. Java源文件中的类限制:一...

    java内存管理技巧

    - `Boolean`和`Integer`都是Java中的包装类,它们用于封装基本类型`boolean`和`int`。在创建`new Boolean()`或`new Integer()`实例时,会创建新的对象,这会消耗额外的内存。应使用`Boolean.valueOf()`和`Integer....

    Java面向对象(高级)- 包装类(wrapper)的使用

    包装类的主要作用是将基本数据类型转换为对象,以满足Java中只针对对象设计的API和新特性的需求,如泛型、接口等。在面向对象编程中,包装类提供了更多的功能和便利。 二、包装类的使用 1. 自定义包装类:虽然Java...

    Java面试宝典(Java面试题目大全)2011版

    Java面试宝典2011版是一份针对Java程序员面试准备的重要参考资料,涵盖了广泛的Java基础知识和技术要点。以下是一些核心的面试知识点: 1. **Java源文件与类的关系**:一个`.java`源文件可以包含多个类,但只能有一...

    Java常见面试题及答案.pdf

    接着,针对面试题中的一些具体问题: 1. `short si = 1; si = si + 1;`这行代码会有编译错误,因为`si + 1`的结果是int类型,需要显式转换回short类型,即`si = (short)(si + 1);`。 2. `short si = 1; si += 1;`这...

    Java面试宝典2010版

    Java面试宝典2010版是一份针对Java开发者精心整理的面试准备资料,涵盖了Java基础知识、语法特性、编程实践等多个方面。以下是一些关键知识点的详细解释: 1. **一个.java源文件中的类数量**:Java源文件可以包含多...

    米哈游笔试题目-Java方向.docx

    以上就是针对米哈游笔试题目中提到的Java多线程相关的知识点及其实现方法。这些知识点涵盖了单例模式、线程安全的阻塞队列、生产者-消费者模型、线程池、带超时功能的缓存、信号量、分布式锁以及异步任务处理等多个...

    Java面试宝典2012

    Java面试宝典2012版是一本针对Java开发者准备面试的重要参考资料,涵盖了广泛的Java基础知识和技术要点。以下是一些核心知识点的详细说明: 1. **Java基础部分** - Java源文件可以包含多个类,但只能有一个公共类...

Global site tag (gtag.js) - Google Analytics