码迷,mamicode.com
首页 > 编程语言 > 详细

《effective java》中文第2版 note

时间:2019-05-05 15:53:43      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:测试结果   valueof   初始化   实例   conf   dem   rgs   desc   code   

第15条[66]:

  为不可变类提供静态工厂, eg : Integer/BigInteger 使用了静态工厂缓存了一些常用的实例, 通常 Integer -128 ~ +127.  BigInteger -16 ~ +16。

通过更改JVM参数可以改变Integer缓存的范围。在Idea中打开Run/Debug Configurations

技术图片

在下入红框处输入 -XX:AutoBoxCacheMax=size

注:size为初始化Integer缓存大小, 如 : -XX:AutoBoxCacheMax=200

技术图片

 

测试demo

package unit.singleton;

import lombok.extern.slf4j.Slf4j;
/**
 * Description: test
 *
 * @author: lvyichao
 * Version: 1.0
 * Create Date Time: 2019-04-02 21:29.
 * Update Date Time:
 */
@Slf4j
public class Singleton{

    public static void main(String[] args) {
        Integer num1 = Integer.valueOf(1);
        Integer num2 = Integer.valueOf(1);
        if(num1 == num2){
            log.info("num1 == num2");
        }else {
            log.info("num1 != num2");
        }

        Integer num3 = Integer.valueOf(128);
        Integer num4 = Integer.valueOf(128);
        if(num3 == num4){
            log.info("num3 == num4");
        }else {
            log.info("num3 != num4");
        }

        Integer num5 = Integer.valueOf(201);
        Integer num6 = Integer.valueOf(201);
        if(num5 == num6){
            log.info("num5 == num6");
        }else {
            log.info("num5 != num6");
        }
    }
}

 

测试结果, 更改Integer缓存大小成功

技术图片

 

《effective java》中文第2版 note

标签:测试结果   valueof   初始化   实例   conf   dem   rgs   desc   code   

原文地址:https://www.cnblogs.com/lynn-grow/p/10813406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!