java/android 做题中整理的碎片小贴士(10)

1、Integer直接赋值和new Integer不会相等(==),比较的过程不经历拆箱。两个直接赋值的Integer比较,若都是在-128~127则相等。Integer i1 = 129,相当于 Integer i1 = Integer。valueOf(129)。两个都是new出来的对象比较,结果为false。int和Integer比较,会因为把Integer 自动拆箱为int而true。

2、类的加载包括:加载、验证、准备、解析、初始化。

3、数组的引用保存在栈内存中,数组对象保存在堆中。数组是一种对象,而栈内存中只保存基本数据类型。

4、用AppletViewer运行的java class文件中不需要也没有main()方法。

5、静态内部类不可以访问外围类的非静态数据,而非静态内部类可以直接访问外围类的数据,包括私有数据。总之就是静态内部类只能访问外围类的静态数据。

6、ConcurrentHashMap用segment来分段,和管理锁。segment继承自ReentrantLock。所以不是通过synchronized保证线程安全。

7、没有写访问限制符,接口中的方法默认是public的。

8、成员内部类、匿名内部类中不能定义静态资源。

原文地址:https://www.cnblogs.com/jason31/p/9672671.html