Java基础面试题汇总

  1. Java的三大特性
  2. 面向对象和面向过程的区别
  3. 接口和抽象类的区别是什么?
  4. 成员变量与局部变量的区别有那些?
  5. 构造方法有哪些特性?
  6. 对象的相等与指向他们的引用相等,两者有什么不同?
  7. 静态方法和实例方法有何不同?
  8. 什么是多态机制?Java语言是如何实现多态的?
  9. 类、方法、成员变量和局部变量的可用修饰符
  10. 在一个静态方法内调用一个非静态成员为什么是非法的?
  11. 环境变量Path和ClassPath的作用是什么?如何设置这两个环境变量?
  12. ArrayList、Vector、HashSet的主要区别?
  13. CopyOnWriteArrayList的原理?
  14. HashMap在并发环境下会出现什么样的问题?如果我两个线程同时调用map.get(key),这个key是HashMap中已经存在的了,会出现什么问题?
  15. hashcode场景
  16. ArrayList和LinkedList的区别
  17. HashMap的put()流程,扩容
  18. 怎么解决的哈希冲突和扩容
  19. List set 区别
  20. Hashtable
  21. Concurrenthashmap 原理区别
  22. 各种集合的实现原理,以及使用场景,主要包括不限于,ArrayList,LinkedList,HashMap,HashSet,TreeMap;
  23. string stringbuilder stringbuffer 区别?全都使用stringbuffer可以吗?
  24. 什么是反射
  25. Exception和Error
  26. 异常抛出,全局处理的优弊
  27. Java泛型使用、机制、类型擦除
  28. 内部类使用
  29. 指令重排是怎么回事
  30. ==、equals机制
  31. 如何重写equals,需要注意什么?
  32. 直接打印对象出现的@xxxxxx是什么?
  33. 了解哪些编码?utf-8和utf-16有什么区别?
  34. Java solid 原则
  35. 对于Java中容器的理解
  36. 为什么要重写hashcode 和equals方法,需要重写的场景有哪些
  37. final修饰hashmap的情况下,还可以重新注入数据和再new吗?
  38. private修饰的方法重写和重载情况?
  39. 重载时,方法名称一样,形参一样,返回值不同,可以吗?
  40. NIO与BIO
  41. 消息队列
  42. Java自定义类作为HashMap的key需要注意什么?
  43. 构造方法是否可以被override
  44. 重载和重写的区别
  45. 自动装箱和拆箱
  46. 在Java中定义一个不做事且没有参数的构造方法的作用
  47. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
  48. 字符型常量和字符串常量的区别
  49. Java语言采用何种编码方案?有何特点?
  50. 哪些东西可以被继承

你可能感兴趣的:(面试)