Java 基础数据类型包装类的高频区间的数据缓存

一、Java的基础数据类型的包装类:Integer,Long,Double,Float,Boolean,Byte,Short,Character。

二、高频缓存区

  • 其中Double和Float没有缓存,其他类型都有高频缓存区间。其高频缓存区间的缓存范围是:
    Boolean:使用静态final,就会返回静态值
    Byte:-128~127
    Short:-128~127
    Character:0~127
    Long:-128~127
    Integer:-128~127
  • 如果所使用的包装类的值在这个缓存区间内,就会直接复用已有对象,在缓存区间之外的数值会重新在堆上产生。所以在判断是否相等时不要用“==”,用equals,否则会出现以下情况:
    Integer i1 = 127;
    Integer i2 = 127;
    i1 == i2 ->true
    Integer i3 = 128;
    Integer i4 = 128;
    i3 == i4 ->false
  • Integer是唯一一个可以修改缓存范围的包装类。在VM options加入参数: -XX:AutoBoxCacheMax=555即将缓存区间的最大值改为555.

原文地址:https://blog.51cto.com/14305934/2432216

时间: 2024-10-13 05:56:39

Java 基础数据类型包装类的高频区间的数据缓存的相关文章

java基础类型包装类与自动打包解包

一基础类型包装类 基础数据类型存放在内存的栈区域,可以通过包装类将基础数据类型转换为引用数据类型,即存储在堆与栈中. 基础数据类型一共有8种,相对应的包装类也有8种.分别是Byte,Short,Integer,Long,Float,Double,Character,Boolean.类 包装类位于java.Lang包中. 1 public class Test1 { 2 3 public static void main(String[] args) { 4 // TODO Auto-genera

Java基础数据类型二进制转换

前言: 本文主要介绍java基础类型的二进制转换和二进制的基本概念. 二进制: 1,二进制是以0和1为码,逢2进1,比如3=11=1*2+1. 2,在计算机当中其它进制的算法基本基于2进制,因为计算机只认识0和1,比如16进制数则意味着一位16进制码由4位2进制码数表示. 3,在Java语言中byte代表最小计量单位,byte由8位2进制数组成. Java基本数据类型与表示范围(boolean忽略) 1,byte(整型):8位,short(整型):16位,char(字符型):16位,int(整型

Java基础之包装类的自动装箱和拆箱详解

定义 在java中,数据类型可以分为两大类,即基本数据类型和引用数据类型,基本数据类型的数据不是对象,所以对于要将数据类型作为对象来使用的情况,java提供了相对应的包装类.(关于包装类的详细介绍请参看博客Java基础之常用类详解) 本篇博客主要讲述包装类的自动装箱和拆行机制. 所谓装箱,就是把基本数据类型用它们相对应的引用类型包起来,使它们可以具有对象的特质,如我们可以把int类型包装成Integer类型的对象,或者把double包装秤Double,等等. 所谓拆箱,就是和装箱的方向相反,将I

【JAVA基本数据类型包装类】

一.概述 JAVA中一共有8种数据类型,分别是byte short int long boolean float double  char,与此相对应的,有8个类与它们分别对应: byte Byte short Short int Integer long Long boolean Boolean float Float double Double char Character 将基本数据类型封装成对象有什么好处? 基本数据类型包装类中封装了很多属性和方法,使得对数据的操作更加方便和灵活. 举例

java基础数据类型char

java基础类型 数据类型            大小       范围                                             默认值  byte(字节)      8         -128 - 127                                           0 shot(短整型)        16      -32768 - 32768                                         0 int

java基本数据类型包装类

http://blog.163.com/bt_q/blog/static/11926672920104902636829/ Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示: 包

java基础之包装类,Math,日期格式处理

包装类,Math,日期格式处理 包装类 Math:random(),round() 日期格式处理 Java提倡的是思想是一切皆对象,但是我们基本数据类型不是一个类,也就是说 没有对象概念,和Java提倡的思想相违背,为了解决这个矛盾,Java里面提供8种基本数据类型的包装类. 序号 基本数据类型 包装类 1 int Integer 2 char Character 3 float Float 4 long Long 5 short Short 6 double Double 7 boolean

JAVA基础之包装类,static,final,abstract ,接口 和 内部类

包装类: 自jdk5之后,java就提供了自动装箱与自动拆箱功能,大大简化了基本类型与其包装类对象之间的转换过程,当然装换过程中要注意类型的匹配. public class IntAndInteger { public static void main(String[] args) { //自动装箱 Integer intObj = 5; Integer intObjj = 5; //自动拆箱 int a = intObj; //包装类实现基本变量与字符串的转换 String str = "12

[Java 基础]数据类型

基本类型和引用类型 Java中的数据类型有两类: l  基本类型(又叫内置数据类型,或理解为值类型) l  引用类型 基本类型和引用类型的区别 1.  从概念方面来说 基本类型:变量名指向具体的数值 引用类型:变量名指向存数据对象的内存地址 2.  从内存构建方面来说 基本类型:变量在声明之后java就会立刻分配给他内存空间 引用类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址. 3.  从使用方面来说 基本类型:使用时需要赋具体值,