`
duzc2
  • 浏览: 60808 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

java的Integer缓冲

    博客分类:
  • Java
阅读更多

      java.lang.Integer.valueOf(int)方法默认情况下如果参数在-128到127之间,则返回缓存中的对象,否则返回new Integer(int)。

      缓存中的对象是JVM第一次使用valueOf方法时初始化的。

      可以设置系统属性 java.lang.Integer.IntegerCache.high 修改缓冲区上限,默认为127。参数内容应为大于127的十进制数形式的字符串,否则将被忽略。取值范围为127-Long.MAX_VALUE,但是用时将强转为int。

 

      当系统中大量使用Integer时,增大缓存上限可以节省小量内存。

 

      缓冲区上限将影响某些业务:

      Integer i1 = 127;
      Integer i2 = 127;
      if (i1 == i2)
           System.out.println(true);
      else
           System.out.println(false);

     

      i1 = 128;
      i2 = 128;
      if (i1 == i2)
           System.out.println(true);
      else
           System.out.println(false);
 

      以上代码默认情况下将输出:

true
false
 

      当修改缓冲上限大于128时将变为:

true
true
 

 

 

0
1
分享到:
评论

相关推荐

    Java中缓冲区读者与缓冲区写者.pdf

    在Java编程中,缓冲区读者(BufferedReader)和缓冲区写者(BufferedWriter)是处理输入输出流的重要工具,它们提高了I/O操作的效率。这些类位于java.io包中,是字符流处理的一部分,主要用于文本数据的读写。本篇将深入...

    Java api 1.6中文

    1. **基础类库**:包括`java.lang`包,其中定义了所有Java程序都默认导入的基本类,如`Object`、`String`、`Integer`等。这些类为程序提供基本的数据类型封装、异常处理和系统级功能。 2. **集合框架**:Java API ...

    java String 与各种进制字符之间的转换

    例如,`ByteBuffer.wrap(byte[])`可以创建一个缓冲区,然后使用`get()`和`put()`方法读写整数。 6. **HickeyTest.java**: 这个文件名可能是包含示例代码的Java源文件,展示了上述概念的实际应用。通常,这样的文件...

    JavaApi中文参考手册.zip

    1. **基础类库**:如`java.lang`包,包含了所有Java程序的基础类,如`Object`、`String`、`Integer`等基本类型包装类,以及异常处理机制。 2. **集合框架**:`java.util`包下的`List`、`Set`、`Map`接口及其实现,...

    面试常见问题-Java

    * 当创建一个字符串时,Java 会在字符串缓冲池中查找是否有相同的字符串常量,如果存在直接返回其引用 * 使用 intern() 方法可以将字符串添加到缓冲池中 * 字符串缓冲池可以减少内存的使用,但是也可能会导致内存...

    java rt包源代码

    1. **基础类和接口**:Java RT包中包含了许多基础类,如`Object`、`String`、`Integer`、`ClassLoader`等。`Object`类是所有Java类的父类,定义了对象的基本行为;`String`类用于表示不可变的字符序列;`Integer`是...

    java 知识点整理

    - Java的I/O流提供了处理输入输出的强大工具,包括字节流和字符流,以及缓冲流、过滤流等高级概念。 10. **反射机制**: - 反射允许程序在运行时检查类的信息(如方法、属性等),并动态调用方法或访问属性。 ...

    java单词java单词.doc

    * Buffer():缓冲器,用于表示 Java 缓冲器类型。 * Reverse():颠倒,用于表示 Java 字符串的颠倒操作。 * Delete():删除,用于表示 Java 字符串的删除操作。 * Append():添加,用于表示 Java 字符串的添加操作。...

    JAVA2 SDK类库详解(中文)

    1. `java.lang`:这是所有Java程序的基础,包含了一些基本类型(如`String`、`Integer`)和对象(如`Object`),以及系统运行时的重要类(如`System`、`ClassLoader`)。 2. `java.util`:这个包提供了许多通用的...

    Java常用包

    Java常用包 Java语言提供了多种常用包,包括java.lang、String、StringBuffer、Math、Object、Class、Constructor、Method、Field、Date、Calendar、SimpleDateFormat、File等。这些包中的类和方法为Java开发提供了...

    java1.6apicn.CHM

    1. `java.lang`包:这是所有Java程序的基础,包含了如`Object`、`String`、`Integer`等基本类型和`System`、`Math`等常用工具类。 2. `java.util`包:提供了集合框架,包括`ArrayList`、`LinkedList`、`HashSet`、`...

    Java 22道基础面试题.docx

    12. Integer 缓冲池:Integer 有个缓冲池,-128~127 这个范围内的直接从缓冲池取出,超过这个范围会在堆中生成新对象。 13. 逻辑运算符:& 是与操作,| 是或操作,^ 是异或操作。 14. 反射机制:反射机制是在运行...

    Java官方英文版源码

    - **核心类库**:如`java.lang`中的`String`、`Integer`等,这些都是Java编程的基础,通过源码可以学习它们的实现原理,例如字符串的不可变性是如何实现的。 - **集合框架**:`java.util`包下的ArrayList、HashMap...

    java_api.rar_Java api文档_java api

    1. **基础类库**:这是Java API的基础,包括String、Integer、Date等基本类型和对象的封装类,以及Math、System等通用工具类。 2. **集合框架**:Java集合框架包括List、Set、Map等接口,以及ArrayList、LinkedList...

    java入门基础 李兴华教程

    例如,ArrayList中的T就是泛型,可以替换为任何具体的类型,如String或Integer。 2. **第11章:Java常用类库** Java的标准类库提供了大量的内置类和接口,方便开发者处理各种任务,如日期时间、数学计算、文件...

    Java API 1.6中文版

    1. **java.lang**:这是所有Java程序的基础,包含了一些基本类型如`String`、`Integer`、`Character`,以及基础类`Object`、异常处理类`Exception`和系统相关类`System`等。 2. **java.util**:提供了各种实用工具...

    Java各种工具类

    2. **java.lang**: 这个包是所有Java程序的基础,包含了基本类型包装类(如Integer、Double等)以及运行时异常类。`System`类提供了一些系统级别的服务,如获取当前时间、标准输入/输出流操作等;`Math`类则提供了...

    JAVA2 SDK 类库详解(pdf格式)

    这个包包含了所有JAVA程序都默认导入的基本类,比如`Object`、`String`、`Integer`等,以及系统相关的类如`System`和`Runtime`,这些都是编写JAVA程序的基石。 其次,书中会涉及`java.io`包,这是JAVA进行输入输出...

Global site tag (gtag.js) - Google Analytics