#1.public,private,protected,以及不写时的区别?java
##public缓存
为公共成员变量和函数成员,在整个类内类外均可使用,在子类变为public数据结构
##private框架
为私有成员变量和函数成员,只在声明的类内可使用,子类不可用函数
##protected工具
为受保护成员变量和函数成员,类外不可以使用。类内可使用,子类变为private线程
##不使用关键字翻译
默认为类内使用。code
#2.int与Integer的区别对象
Ingeter是int的包装类,int是基本数据类型初值为0,Ingeter是一个类初值为null。
##结论①不管如何,Integer与new Integer不会相等。不会经历拆箱过程,一个引用指向堆,另外一个指向专门存放他的内存(常量池),他们的内存地址不同,因此为false
②两个都是非new出来的Integer,若是数在-128到127之间,则是true,不然为false java在编译Integer i2 = 128的时候,被翻译成-> Integer i2 = Integer.valueOf(128);而valueOf()函数会对-128到127之间的数进行缓存
③两个都是new出来的,都为false
④int和integer(不管new否)比,都为true,由于会把Integer自动拆箱为int再去比
##例子
由于常量池的范围在-128到127 因此他们都是新的对象 比较的话 是比较地址值 因此为false
Integer i5 = 128; Integer i6 = 128; System.out.println(i5 == i6);//false
一个存在常量池 一个是指引常量池的地址值 对比因此为false
Integer i5 = 127; Integer ii5 = new Integer(127); System.out.println(i5 == ii5); //false
new了2个不一样的对象 确定不想等 地制止不一致
Integer i7 = new Integer(128); Integer i8 = new Integer(123); System.out.println(i7 == i8); //false
#3.Collection和Collections的区别
##Collection
java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操做的通用接口方法。Collection接口在Java 类库中有不少具体的实现。Collection接口的意义是为各类具体的集合提供了最大化的统一操做方式。 Collection
##Collections
java.util.Collections 是一个包装类。它包含有各类有关集合操做的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
#4.HashMap和HashTable的区别
##HashMap
底层数据结构是哈希表;容许使用null键和null值,不一样步,效率高 ,遍历时,取得数据的顺序是彻底随机的。HashMap最多只容许一条记录的键为Null;容许多条记录的值为 Null;
##HashTable
它继承自Dictionary类 ,不容许键或者值为空,同步,效率低
#5.sleep和wait的区别
1.sleep指线程被调用时,占着CPU不工做,而wait被调用时,等待CPU使用 2.sleep方法没有释放锁,而 wait 方法释放了锁,使得其余线程可使用同步控制块或者方法。 3.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep能够在任何地方使用 4.sleep必须捕获异常,而wait,notify和notifyAll不须要捕获异常 5.sleep是Thread静态方法,wait是Object的成员方法