、基本数据的自动拆装箱及享元设计模式
自动拆装箱:
自动拆箱:把引用类型转变为值类型
自动装箱:把值类型转变为引用类型
享元模式:
很多小的对象,他们有很多相同的属性,那么我们把它们作为一个对象,他们相同的属性我们叫内部状态;若他们很多对象的属性不同,那我们把它们的属性作为方法的参数,我们叫这些属性为外部状态
例:
运行结果:
15
s1和s2是否指向同一对象:true
i1和i2是否指向同一对象:true
i1a和i2a是否指向同一对象:false
i3和i4是否指向同一对象:true
i3a和i4a是否指向同一对象:false
这里可以看得到i1和i2比较,地址值相同,但i1a和i2a比较,地址值都不同!在这里用到了享元设计模式,当i1值与i2基本数值要装箱成Integer类型时,如果这个值在一个字节之内(-128~127),系统就会将这个数值存起来,放在一个缓冲池里,当要创建下一个数对象时,会到缓冲池中搜索这个值,如果有这个值,值引用指向这个对象,这样就能节省对象空间,降低系统消耗。
当超过了一个字节所能表示的范围,就会成为false,因为可能一个字节里值了出现的频率比较高!
分享到:
相关推荐
自动拆装箱 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流:用于处理设备上数据 ★★★★★ ...
与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable 与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的...
自动同步部件数据 部件管理 更新部件数据库 部件管理的新交换格式 分配功能模板 扩展的完整文本筛选器 将“更新查找索引”菜单项移入部件管理 移除的框 "EPLAN Revision Management" 插件中的更新 扩展的修订信息...
无人值守称重系统数据存储模式 为实现数据共享,并最大程度节约管理成本,本系统将采用数据集中存储的模式,即 所有数据存储在指定服务器,各磅点及用户通过window平台进行使用、管理。数据库服 务器使用Microsoft ...
自动装箱和拆箱 非访问修饰符 数据库细节 数据结构 Lambda 表达式 Java 是按值传递还是按引用传递?? 异步编程 POJO JVM解释 Maven 内存管理 自动装配 豆子 各种各样的 编程术语 设计模式 上下文对象设计模式: ...
9.1 面向对象的基本概念.101 9.2 对象的模型技术 .103 9.3 面向对象的分析 .105 9.4 面向对象的设计 .107 9.5 小 结 .110 第十章 类 .112 10.1 类 的 声 明 .112 10.2 类 的 成 员 .113 10.3 构造...
第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表达式中...
3、企业物流信息化建设情况 投入300多万元加强信息化建设,实现了网络化管理、电子化通关、电子化监控,通 关数据一次录入、多次使用、信息共享。对进出区货物采取一次申报、一次查验、一次 放行,构建了通关便捷、...
3、企业物流信息化建设情况 投入300多万元加强信息化建设,实现了网络化管理、电子化通关、电子化监控,通 关数据一次录入、多次使用、信息共享。对进出区货物采取一次申报、一次查验、一次 放行,构建了通关便捷、...
5.1 基本数据类型 5.2 数组和对象 5.2.1 数组 5.2.2 对象--一个构造函数的例子 5.3 函数类型--一个函数和闭包的例子 5.4 神奇的null和undefined 5.4.1 null 5.4.2 undefined--...
因为JAVA的自动装箱与拆箱机制,不需要根据场景来区分数据类型。 D .所有的局部变量推荐使用基本数据类型。 多选 12.关于索引的设计,下列哪些说法符合《阿里巴巴Java开发手册》:ACD A .对varchar类型的字段...
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 使用构造器来初始化特性 ...