黑马程序员—Java基础加强 (基本数据的自动拆装箱及享元设计模式)

来源:互联网 发布:o 数据库管理软件 编辑:程序博客网 时间:2024/05/17 05:56

------- android培训、java培训、期待与您交流! ----------

 

 

基本数据的自动拆装箱及享元设计模式的知识总结都在代码注释里面了:

代码以及注释:

public class AutoBox{public static void main(String[] args){//自动装箱,自动把一个基本数据类型装成一个Integer对象再赋给引用变量Integer iobj = 3;//自动拆箱,Integer对象不支持加法,自动把它转换成基本数据类型再进行加法运行。System.out.println(iobj + 13);   /** 这两个基本数据类型经过自动装箱成Integer对象后,是不是同一个对象呢?是同一个对象!* 对于这些基本数据类型的整数,要装箱成Integer对象的时候,如果这个数字在一个字节之内 (-128 - 127)* 一旦把这个数字装箱成Integer对象之后,就会把它缓存起来,放在缓冲池里面。下次再把一个整数装箱成Integer* 对象的时候,先看缓冲池里面有没有,有的话,直接从缓冲池里面拿那个整数。这样节省了内存空间。因为比较小的整数会* 经常用到,出现的频率很高,如果一出现就把它装箱成一个新的对象的话,就会产生很多对象。就占用更多的内存资源。* 这些对象本来就是不怎么经常改变的,对象又很小,并且大家都是用它,并且不改变他的数据,没有必要每一个数字都对应一个对象。* 这是一种设计模式。是享元模式** 享元模式:比如在Word文档里面写字母,如果每写一个字母都在内存中产生一个对象的话,那么就会产生很多个对象* 而这其中很多字母都是多次出现,高频率的重复。那么,就可以用到享元模式,把多个相同字母封装成一个对象,只是控制这个对象的显示方法的参数* x、y坐标不一样即可,比如说 i.disPlay(x, y)调用disPlay方法时,不同位置的对象传入不同的x、y坐标,控制他们的显示位置不一样即可。* * 还有电脑里面很多图标都是一样的,也可以用享元模式,多个图标是同一个对象,只是调用对象的显示方法的时候,传入的参数x、y坐标不一样即可。* pic.disPlay(x, y);不同的图标对象,他们的 x、y坐标不一样,显示的位置也不一样。* * 享元模式  flyweight* * 什么叫享元模式 :有很多个小的对象,他们有很多属性相同,那么就把他们变成一个对象。那些不同的属性变成方法的参数传入,称之为外部状态。* 相同的属性称之为这个对象的内部状态。* */Integer i1 = 13;Integer i2 = 13;System.out.println(i1 == i2); //true是同一个对象//如同这两个对象,是两个不同的对象。String s1 = new String("abc");String s2 = new String("abc");System.out.println(s1 == s2);//false不是同一个对象//调用Integer的静态方法将两个基本数据类型的整数封装成Integer对象,他们也是同一个对象Integer i3 = Integer.valueOf(3);Integer i4 = Integer.valueOf(3);System.out.println(i3 == i4);}}


 

------- android培训、java培训、期待与您交流! ----------
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 胃疼怎么办简单按摩法 经常胃疼的厉害怎么办 半夜胃疼的厉害怎么办 吃消炎药伤胃了怎么办 吃药伤胃了胃疼怎么办 宝宝吃药伤胃了怎么办 胃胀胃痛怎么办快速解决方法 半夜2点3点胃疼怎么办 晚上吃多了胃疼怎么办 骨折打石膏后痒怎么办 脚脖子崴了肿了怎么办 喝酒喝的吐血了怎么办 感冒后咳嗽有痰怎么办 嗓子里老是有痰怎么办 物业把水停了怎么办 机洗衬衫缩水了怎么办 羊绒大衣洗缩水了怎么办 棉质衣服缩水了怎么办 衣服洗了变小了怎么办 毛衣洗后缩水了怎么办 鼻子又大又塌怎么办 苹果6被停用了怎么办 苹果6s手机停用怎么办 苹果4手机已停用怎么办 苹果手机5停用了怎么办 老公被骗300多万怎么办 苹果手机被抹除怎么办 钓鱼邮件点开了怎么办 幼犬吃多了拉稀怎么办 幼犬半夜醒了叫怎么办 相爱相杀的感情怎么办 冬天玩电脑手冷怎么办 被陌生人骗了钱怎么办 被网上骗了钱怎么办 20岁欠了10万怎么办 我赌博欠了10万怎么办 孩子见到生人不爱说话怎么办 18岁了个子矮小怎么办 1岁宝宝个子矮70怎么办 喋血街头2进监狱怎么办 360云盘收费了怎么办