1、类加载的时候加载整数型常量池
初始化256个对象 ```java // 分析一下程序是为什么? /*
java 中为了提高执行效率,将-128 - 127之间所有的包装对象提前创建好,放到了一个方法区的整数型常量池当中,目的是这个区间的数据不需要再new了,直接从整数型常量池取出来== 比较的是两个对象的内存地址是否相同类加载的时候会加载整数型常量池 256个对象*/
Integer a = 128; Integer b = 128; System.out.println(a == b);// false
Integer m = 127; Integer n = 127; System.out.println(m == n);// true
<a name="PCmZH"></a>### 2、引用不能直接相加```pythonpackage com.number;import java.math.BigDecimal;public class Demo02 {public static void main(String[] args) {/*1、BigDecimal 属于大数据,精度极高,不属于基本数据类型,属于java对象(引用数据类型)这是SUN提供的一个类,专门用在财务软件中2、财务软件中double是不够用的,*/BigDecimal b1 = new BigDecimal(100);BigDecimal b2 = new BigDecimal(100);BigDecimal b3 = b1.add(b2);// 不可直接相加System.out.println(b3);BigDecimal b4 = b1.divide(b2);System.out.println(b4);}}
3、集合结构发生改变,迭代器需要重新获取
- 如果集合发生改变,迭代器没有重新获取时,调用next()方法时,发生ConcurrentModiftion
- 迭代过程,集合不能使用remove()方法,因为没有通知迭代器,但是迭代器可以使用remove方 ```python package com.collection;
import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;
public class Demo06 { public static void main(String[] args) { Collection c = new ArrayList();
c.add("abc");c.add("def");Iterator iterator = c.iterator();while (iterator.hasNext()){Object o = iterator.next();c.remove(o);System.out.println(o);System.out.println(iterator.hasNext());
// iterator.remove();// 0 迭代器删除的一定是当前元素 }
System.out.println(c.size());}
}
<a name="GcD4I"></a>### 4、ArrayList和LinkList以及vector扩容特点```pythonLinkList:无初始化容量Vector:初始化容量10扩容之后原容量的2倍ArrayList:扩容之后原容量的1.5倍10 --> 15
