1. 3*0.1 ==0.3返回值是什么?
    false,因为有些浮点数不能完全精确的表示出来.

  2. a=a+b与a+=b有什么区别吗?
    += 操作符会进行隐式自动类型转换,此处a+=b隐式的将加操作的结果类型强制转换为持有结果的类型,而a=a+b则不会自动进行类型转换.

  3. 红黑树有哪几个特征?
    1.每个节点只能是红色或者黑色。
    2.根节点必须是黑色。
    3.红色的节点,它的叶节点只能是黑色。
    4.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

  4. 说说深拷贝和浅拷贝?
    基本类型赋值时,赋的是数据(不存在深拷贝和浅拷贝的问题),引用类型才有深拷贝和浅拷贝的问题.
    浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址,
    深拷贝(deepCopy)是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存,使用深拷贝的情况下,释放内存的时候不会因为出现浅拷贝时释放同一个内存的错误。

  5. 获取一个类Class对象的方式有哪些?(经典题目)
    方式一:类型名.class
    缺点是要求编译期这个类型就要存在,优点是这个方式最简洁;
    方式二:对象.getClass()
    这个方法在java.lang.Object类型中声明,返回对象运行时类型 , 适用于对象已经存在的情况;
    方式三:Class.forName(“类型全名称”)
    优点是类型在编译期间未知时,类型名称可以在代码中出现,也可以配置在配置文件中,也可以通过键盘输入方式指定;
    方式四:使用类加载器对象.loadClass(“类型全名称”)
    一般都是用在自定义类加载器对象去加载指定路径下的类去使用

  6. Java类集可以使用的输出方式是 Iterator 、 ListIterator 、 Enumeration 、 foreach 。

  7. Set集合中的内容是不允许重复的,Java依靠什么来判断重复对象?
    Java依靠Object类中的hashCode()和equals()方法来判断重复对象。

  8. TreeSet类是允许排序的,Java依靠什么进行对象的排序操作?
    在TreeSet类中依靠Comparable接口来进行排序。

  9. 简述Collection和Collections的区别。
    Collection是一个接口,用于定义集合操作的标准;
    Collections是一个工具类,可以操作任意的集合对象。