重要思想之《享元模式》

news/2024/12/17 22:26:06/文章来源:https://www.cnblogs.com/euler-blog/p/18613531

实际就是缓冲思想,池化思想。
比如线程池、数据库连接池、还有JDK里面也有。

Integer里面toString使用享元数据
final static char[] digits = {'0' , '1' , '2' , '3' , '4' , '5' ,'6' , '7' , '8' , '9' , 'a' , 'b' ,'c' , 'd' , 'e' , 'f' , 'g' , 'h' ,'i' , 'j' , 'k' , 'l' , 'm' , 'n' ,'o' , 'p' , 'q' , 'r' , 's' , 't' ,'u' , 'v' , 'w' , 'x' , 'y' , 'z'};

image

还有 IntegerCache
    private static class IntegerCache {static final int low = -128;static final int high;static final Integer cache[];static {// high value may be configured by propertyint h = 127;String integerCacheHighPropValue =sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high");if (integerCacheHighPropValue != null) {try {int i = parseInt(integerCacheHighPropValue);i = Math.max(i, 127);// Maximum array size is Integer.MAX_VALUEh = Math.min(i, Integer.MAX_VALUE - (-low) -1);} catch( NumberFormatException nfe) {// If the property cannot be parsed into an int, ignore it.}}high = h;cache = new Integer[(high - low) + 1];int j = low;for(int k = 0; k < cache.length; k++)cache[k] = new Integer(j++);// range [-128, 127] must be interned (JLS7 5.1.7)assert IntegerCache.high >= 127;}private IntegerCache() {}}

image

都是案例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/854546.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[蓝桥杯 2021 省 AB2] 国际象棋

题目 Description 众所周知, “八皇后” 问题是求解在国际象棋棋盘上摆放 8 个皇后,使得两两之间互不攻击的方案数。已经学习了很多算法的小蓝觉得 “八皇后” 问题太简单了,意犹末尽。作为一个国际象棋迷,他想研究在 NM 的棋盘上,摆放 K 个马,使得两两之间互不攻击有多少…

一文读懂TypeC 耳机原理

一、名词解释 SOURCE:提供VBUS电源的设备 SINK:从VBUS取电的设备 DFP(Downstream Facing Port): 下行端口,可以理解为Host,DFP提供VBUS。 UFP(Upstream Facing Port): 上行端口,可以理解为Device,UFP从VBUS中取电。典型设备是U盘,移动硬盘。 DRP(Dual Role Port): 双角色端…

混合乱用模式之《观察者模式》AND《责任链模式》

有时候面对复杂的场景,就想着怎么解耦、怎么复用、怎么扩展,然后无意间各种设计模式就拧巴在一起了。 责任链和观察者的区别责任链强调的是顺序,前后可能有逻辑关系。而观察者体现的是的独立性。虽然都有传递消息通知执行的功能,但是侧重点不同。两个结合使用我的这个业务场…

hadoop启动hdfs时namenode消失

解决HDFS无法启动namenode,报错Premature EOF from inputStream;Failed to load FSImage file, see error(s) above for more info一.情况描述 启动hadoop后发现无法打开hdfs web界面,50070打不开,于是jps发现少了一个namenode: 查看日志信息,发现如下报错:2022-01-03 2…

markdown最基本的语法快捷语法运用

Markdown学习 后缀xxx.md 标题: +标题名字(#后要加空格)或者ctrl+数字也可以快速 二级标题##(最后一个#后要加空格) 同理...(三级 四级 最多到六级...) 字体 hello,world! **之间的字体是斜体 引用 (>+空格) 分割线 三个-或者三个* 图片插入:!+[命名]+(图片链接地址…

【Azure Batch Account】批处理服务是否可以固定出口访问IP地址呢?

问题描述 使用Azure Batch Account服务(批处理),所访问的资源受防火墙保护。现在需要把Batch Account服务池中的实例地址IP加入到防火墙白名单中,但是由于Batch Account被没有指定的出口访问IP地址,所以需要把Batch Account服务的全部IP地址加入到白名单中,但是,它的范围…

Spring Bean 是单例的吗?如何保证并发安全?

引言 面试中,经常会被问到这样一个问题:“Spring Bean 是单例的吗?如果是单例如何保证并发安全呢?”,这两个问题看似没有关联,其实一点也不挨着 😂,为什么呢?请听我来“狡辩”。 首先,单例 Bean 本身并不会直接导致线程安全问题。真正影响线程安全性的因素是该单例对…

项目中的《访问者模式》

这个模式核心思想是将基本的数据对象和对应的操作相互分离。数据对象就只是数据对象,如果想要扩展操作,就扩展对应的visitor。 这种模式下的两次分派 第一次分派,是将对数据对象本身进行分派,可以有不同的实现。 第二次分派,是visitor接收不同的数据对象。 结果就是数据对…

【亲测能用】Photoshop 2025 v26.1.0正式版(ps2025下载)最新免费激活版

软件简介 说到 Adobe Photoshop,我们可以有把握地说它是当今排名第一的图形软件。世界各地数以百万计的设计师、摄影师和艺术家使用 Photoshop 将不可能变成可能。从海报到包装,从基本的横幅到精美的网站,从令人难忘的徽标到引人注目的图标,Photoshop 不断推动创意世界的发…

阅读笔记20241217

1、UAV实施无跑道着陆技术面临着巨大的挑战,不仅依赖于先进的飞行控制技术,而且还依赖于有效的轨迹优化方法。👉引出轨迹优化问题 (1)面临困难与挑战 (2)该技术在那些方面有广泛的应用 2、阐述现有的轨迹优化方法并分析优缺点👉引出凸优化算法 (1)间接法:将轨迹优…

麦肯锡高效解决复杂问题法:七步解决问题法 (又名:七步成诗法)

前言 在日常工作、生活中,会遇到各种各样的问题,有简单问题有复杂问题。 遇到简单的问题,马上就可以找到答案然后解决它。但是遇到复杂问题,模糊性大,不确定性多,这样的问题该怎么解决呢? 为了解决这种复杂的问题,有很多思维模型和分步骤分析框架被人们设计出来,这些框…

13line-height-CSS常见选择器-CSS伪类

一、line-height常用(非常重要的) line-height用于设置文本的行高 行高可以先简单的理解为一行文字所占据的高度主要作用是文本的行高 为什么文本需要行高呢?渲染出来给用户看起来比较舒服,为了方便文本的阅读有了行高之后可以明显的发现便于阅读了。行高的严格定义是:两行…