JDK问题与解答

2019-02-08  本文已影响80人  Real_man

常见JDK问题

  1. 红黑树的实现原理和应用场景;
    红黑树有几个性质:

HashMap在链表数量过长之后会转换成红黑树,TreeMap的实现。

待补充..

  1. NIO是什么?适用于何种场景?
IO NIO
面向流 面向缓冲
阻塞IO 非阻塞IO
选择器

NIO好处:

参考:Java NIO浅析

  1. Java9比Java8改进了什么?

参考:Java 9 New Features

  1. HashMap内部的数据结构是什么?底层是怎么实现的?(还可能会延伸考察ConcurrentHashMap与HashMap、HashTable等,考察对技术细节的深入了解程度);

参考:

  1. 说说反射的用途及实现,反射是不是很慢,我们在项目中是否要避免使用反射;
    反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有属性和方法。

优点:反射提高了程序的灵活性和扩展性。
缺点:

获取反射:
1.根据对象的引用.getClass()方法获取:MyObject object=new MyObject(); Class c=object.getClass();
2.根据类名.class获取:Class c=MyObject.class;
3.根据Class中的静态方法Class.forName(); Class c=Class.forName("MyObject");

在业务代码中应该尽量避免使用反射,但是对于框架的反射要明白其使用方式。

  1. 说说自定义注解的场景及实现;
    答:除了元注解,都是自定义注解。通过元注解定义出来的注解。
    如我们常用的Override 、Autowire等。日常开发中也可以自定义一个注解,这些都是自定义注解。
    @Target
    @Retention
    @Documented
    @Inherited

  2. List 和 Map 区别,Arraylist 与 LinkedList 区别,ArrayList 与 Vector 区别;

  3. Integer的缓存机制


    image.png

最后

待完善

上一篇下一篇

猜你喜欢

热点阅读