面试-java基础(3)

  • 反射机制以及动态代理的理解

反射机制是java语言的一项基础能力,赋予程序运行是自省的能力,可以直接操作类或者对象,获取类定义或者直接执行相应的方法。

动态代理是一种方便运行是动态构建代理、动态处理代理方法的机制,常见的动态代理 jdk自带的动态代理、cglib、javaassist

  • int和integer区别,integer缓存范围

int是java中的原始数据类型,Integer是int对应的包装类型,java5以后引入了自动拆装箱功能,简化了相关编程。Integer缓存值-127--128,Integer.valueOf方法会使用缓存实现。

  • vector和arrayList、linkedList区别

面试-java基础(3)

Vector是线程安全的动态数组,synchronized

ArrayList是非线程安全的动态数据

LinkedList双向链表

  • HashMap、HashTable、TreeMap的区别

面试-java基础(3)

HashTable是java的哈希表实现,不支持null键值,方法也是同步方法

HashMap支持null键值,方法是非同步方法,实现原理是数组+链表

TreeMap是以红黑树的方式存储,查询、删除、添加、更新复杂度均为0(logn)