1.异同点。
int是基本数据类型,Integer是引用数据类型,int和Integer之间可以自动拆装箱(虽然可以自动拆装箱,但写代码的时候也尽量避免不必要的拆装箱)。int默认值是0,Integer是null,这点可以根据需要自行定义使用。
Integer包装类是不可变的,使用泛型的时候填入的只能是包装类,不能是基本数据类型int.Integer的valueOf方法默认缓存值是-128到127之间。
AtomicInteger:涉及到计算时的线程安全问题就使用AtomicInteger。Atomin...是一套线程安全的类。
2.扩展。
语法糖(糖衣语法):是指语法没有给计算机语言添加新的功能,但是新增的语法对程序员来说更有利于编程。比如java的自动拆装箱。程序员不需要自己写代码装换。
对象组成:对象由三部分组成:对象头(Header)、对象实例(Instance Date)、对齐填充(Padding)。
参考:杨晓峰《java核心技术36讲》