Java中各种池

本文介绍了Java中整数常量池的作用和理解,包括[-128, 127]范围内整数包装对象的缓存。接着讨论了字符串常量池,说明了相同字符串对象会复用的特点。最后,详细讲解了线程池的作用、原理、分类以及核心参数,强调了线程池在提高系统效率和管理线程方面的重要性。" 111063824,10296073,Python打印1~20整数及罗马数字转换,"['Python教程', '基础语法', '循环控制', '数字处理']
摘要由CSDN通过智能技术生成

Java中整数常量池的概念_pipizhen_的博客-CSDN博客_整型常量池

java池_java中的各种池_义翘神州的博客-CSDN博客

池:就是缓存区的意思。缓存区的好处是:程序用起来执行很快,很方便。缺点是:如果没用到,就有点耗费了内存。

1.1、整数常量池

一阶段 Java基础  包装类Interger创建对象 方式二

作用:

java中为了提高程序的执行效率,将[-128, 127]之间256个整数所有的包装对象提前创建好了,类加载时就已经创好了,放在了一个方法区的“整数常量池”当中。

理解:

如果一个整数范围在[-128, 127]里面的整数进行包装,包装时不需要再new对象了,直接从“整数常量池”中取出来

例:

范围在[-128, 127]内的整数,装箱成包装类时,底层不会new对象。共用在整数常量池当中的256个Integer对象。

例如:
Integer a = -128;
Integer b = -128;
则a和b指向整数常量池中的同一个对象,不会new两次对象

    /**测试整数池*/
   @Test
     void testIntegerCache(){
       /*Interger类在加载时会在内存中创建一个整数池,池中
       * 会默认存储-128~127*/
       //JDK提供了一种自动装箱机制,底层会自动将100转换为Integer
    Integer a = 100;//IntegervalueOf(100)
    Integer b = 100;//a==b
    System.out.println(a==b);//true   用的是同一个对象,地址值相同,因为100不在-128~127范围内
    Integer c = 200;
    Integer d = 200;//c==d
    System.out.println(c==d);//false    new了两次对象,地址值不同,因为200不在-128~127范围内
       /*==两边如果是八大基本类型,默认比较的是数值
         ==两边如果是引用类型,默认比较的是地址值*/
    }

1.2、字符串常量池:

一阶段API String类创建String字符串对象方式一

利用String创建字符串对象,第一次创建会存在堆内存的常量池中;第二次创建相同的字符串对象时会直接使用,不会再次创建  两次的地址值相同

2、线程池:

作用:

限制系统中执行线程的数量

1、提高效率 创建好一定数量的线程放在池中,等需要使用的时候就从池中拿一个,这要比需要的时候创建一个线程对象要快的多。

2、方便管理

在系统环境下࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值