`

基本数据的自动拆装箱及享元设计模式

阅读更多

、基本数据的自动拆装箱及享元设计模式

自动拆装箱:

自动拆箱:把引用类型转变为值类型

自动装箱:把类型转变为引用类型

享元模式:

很多小的对象,他们有很多相同的属性,那么我们把它们作为一个对象,他们相同的属性我们叫内部状态;若他们很多对象的属性不同,那我们把它们的属性作为方法的参数,我们叫这些属性为外部状态

例:

运行结果:

15

s1s2是否指向同一对象:true

i1i2是否指向同一对象:true

i1ai2a是否指向同一对象:false

i3i4是否指向同一对象:true

i3ai4a是否指向同一对象:false

这里可以看得到i1i2比较,地址值相同,但i1ai2a比较,地址值都不同!在这里用到了享元设计模式,当i1值与i2基本数值要装箱成Integer类型时,如果这个值在一个字节之内(-128~127),系统就会将这个数值存起来,放在一个缓冲池里,当要创建下一个数对象时,会到缓冲池中搜索这个值,如果有这个值,值引用指向这个对象,这样就能节省对象空间,降低系统消耗。

当超过了一个字节所能表示的范围,就会成为false,因为可能一个字节里值了出现的频率比较高!

分享到:
评论

相关推荐

    Java基础知识点总结.docx

    自动拆装箱 86 泛型 87 <java.lang>System 89 <java.lang>Runtime 90 <java.lang>Math 90 <java.lang>.Date:日期类,月份从0—11 92 <java.lang> Calendar:日历类 93 十六、 IO流:用于处理设备上数据 ★★★★★ ...

    asp.net知识库

    与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable 与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的...

    关于EPLAN P8 2.2.5.6638的更新和安装说明书中文版(PDF)

    自动同步部件数据 部件管理 更新部件数据库 部件管理的新交换格式 分配功能模板 扩展的完整文本筛选器 将“更新查找索引”菜单项移入部件管理 移除的框 "EPLAN Revision Management" 插件中的更新 扩展的修订信息...

    地磅智能无人值守智能称重管理系统方案.doc

    无人值守称重系统数据存储模式 为实现数据共享,并最大程度节约管理成本,本系统将采用数据集中存储的模式,即 所有数据存储在指定服务器,各磅点及用户通过window平台进行使用、管理。数据库服 务器使用Microsoft ...

    java8集合源码-java-notes:一个存储库,用于跟踪我在学习Java时参考的所有帖子

    自动装箱和拆箱 非访问修饰符 数据库细节 数据结构 Lambda 表达式 Java 是按值传递还是按引用传递?? 异步编程 POJO JVM解释 Maven 内存管理 自动装配 豆子 各种各样的 编程术语 设计模式 上下文对象设计模式: ...

    C#微软培训资料

    9.1 面向对象的基本概念.101 9.2 对象的模型技术 .103 9.3 面向对象的分析 .105 9.4 面向对象的设计 .107 9.5 小 结 .110 第十章 类 .112 10.1 类 的 声 明 .112 10.2 类 的 成 员 .113 10.3 构造...

    Java开发技术大全 电子版

    第12章类型包装器、自动装箱和元数据(注释)372 12.1类型包装器372 12.1.1字符类型包装器372 12.1.2布尔类型包装器373 12.1.3数字类型包装器373 12.2自动装/拆箱375 12.2.1自动装箱与方法375 12.2.2表达式中...

    物流信息技术调研报告(1).doc

    3、企业物流信息化建设情况 投入300多万元加强信息化建设,实现了网络化管理、电子化通关、电子化监控,通 关数据一次录入、多次使用、信息共享。对进出区货物采取一次申报、一次查验、一次 放行,构建了通关便捷、...

    物流信息技术调研报告.doc

    3、企业物流信息化建设情况 投入300多万元加强信息化建设,实现了网络化管理、电子化通关、电子化监控,通 关数据一次录入、多次使用、信息共享。对进出区货物采取一次申报、一次查验、一次 放行,构建了通关便捷、...

    JavaScript王者归来part.1 总数2

     5.1 基本数据类型   5.2 数组和对象   5.2.1 数组   5.2.2 对象--一个构造函数的例子   5.3 函数类型--一个函数和闭包的例子   5.4 神奇的null和undefined   5.4.1 null   5.4.2 undefined--...

    阿里巴巴编码规范 基础技能认证 考题分析(考题+答案).docx

    因为JAVA的自动装箱与拆箱机制,不需要根据场景来区分数据类型。 D .所有的局部变量推荐使用基本数据类型。 多选 12.关于索引的设计,下列哪些说法符合《阿里巴巴Java开发手册》:ACD A .对varchar类型的字段...

    C#5.0本质论第四版(因文件较大传的是百度网盘地址)

    17.1.1 使用System.Type访问元数据 472 17.1.2 成员调用 473 17.1.3 泛型类型上的反射 478 17.2 特性 479 17.2.1 自定义特性 482 17.2.2 查找特性 483 17.2.3 使用构造器来初始化特性 ...

Global site tag (gtag.js) - Google Analytics