jdk1.5新特性4之自动装箱和自动拆箱与享元模式

简介:

 

一 基本概念

1 装箱

把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。如int——>Integer,float——>Float。

自动装箱

Integer a = 100,编译器调用的是static Integer valueOf(int i)

              

2 拆箱

和装箱相反,将引用类型的对象简化成值类型的数据

自动拆箱

int b = new Integer(100);
int c = a +2;

 


二 是否相等


例一
Integer a = new Integer(100);
Integer b = 100;
System.out.println(a == b);
false,很好理解,b的值在编译时就确定下来了,而a是分配一块堆给它,地址当然不等


例二
Integer a = new Integer(100);
Integer b = new Integer(100);
System.out.println(a == b);
false,不解释


例三
Integer a = 100;
Integer b = 100;
System.out.println(a == b);
true,java为了提高效率,IntegerCache类中有一个数组缓存了值从-128到127的Integer对象。如果i的值是[-128,127]时,会直接从这个缓存中返回一个对象,否则就new一个Integer对象。类比String的驻留池。
 


例四
Integer a = 128;
Integer b = 128;
System.out.println(a == b);
false,解释见例3


例五
Integer a = Integer.valueOf(100);
Integer b = 100;
System.out.println(a == b);
true

 

例六
Integer a = Integer.valueOf(128);
Integer b = 128;
System.out.println(a == b);
false

 


三 享元模式

享元模式(Flyweight Pattern)是一种软件设计模式。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于当大量物件只是重复因而导致无法令人接受的使用大量内存。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。正如我们例三展示的。

 

参考博客
http://www.cnblogs.com/wangchenyang/archive/2012/02/01/2334760.html
http://baike.baidu.com/view/6143765.htm

 

 

目录
相关文章
|
10月前
|
搜索推荐 数据挖掘 API
抖音商品详情API接口对电商的作用及收益
在电商快速发展的背景下,抖音作为全球领先的短视频平台,凭借其庞大的用户基础和高活跃度,通过商品详情API接口为电商行业开辟了新渠道。本文深入解析了抖音商品详情API接口的功能及其对电商的积极作用,包括商品信息实时同步、提升用户体验、精准营销、数据分析与优化等方面,展示了该接口如何帮助电商企业拓展销售渠道、优化商品策略、提升用户满意度、促进跨界合作与开发创新商业模式,为电商企业带来显著收益。同时,文章也探讨了实现这些收益的关键步骤及面临的挑战,强调了数据安全与隐私保护的重要性,以及创新和差异化竞争的必要性。
323 4
|
7天前
|
人工智能 运维 安全
|
5天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
610 21
|
12天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
970 110
|
6天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。