Java面试题(无答案)

JAVA基础

  1. 面向对象有哪些特征?
  2. JDK与JRE的区别是什么?
  3. Java有哪几种基本数据类型?
  4. == 和equals比较有什么区别?
  5. public,private,protected,默认的区别什么?
  6. short s1=1; s1+=1;有错吗? s1=s1+1; 有错吗?
  7. float f = 1.9; 有错吗?
  8. &和&&有什么区别?
  9. 2*8最有效率的计算方法是什么?
  10. 怎么理解值传递和引用传递?
  11. Java到底是值传递还是引用传递?
  12. 一个".java"源文件的类有什么限制?
  13. final关键字有哪些用法?
  14. final、finally、finalize有什么区别?
  15. void和Void有什么区别?
  16. 为什么byte的取值范围为-128~127?
  17. char类型可以存储中文汉字吗?
  18. 重载和重写有什么区别?
  19. 构造器可以被重写和重载吗?
  20. Java中的断言(assert)是什么?
  21. Error和Exception有哪些区别?
  22. Java中常见的异常有哪些?
  23. Java中常见的运行时异常有哪些?
  24. 运行时异常和受检异常有什么区别?
  25. 什么时候会发生空指针异常?
  26. 你知道有哪些避免空指针异常的方法?
  27. throw和throws有什么区别?
  28. try里面return,finally还会执行吗?
  29. int和Integer有什么区别?
  30. 什么是包装类型?有什么用?
  31. 什么是自动装箱和拆箱?
  32. 你怎么理解Java中的自动类型转换和强制类型转换?
  33. 你怎么理解Java中的类型提升?
  34. 你怎么理解强、软、弱、虚引用?
  35. switch是否能用在long上?
  36. switch case支持哪几种数据类型?
  37. String的底层实现是怎样的?
  38. String是可变的吗?为什么?
  39. 为什么不能用 + 拼接字符串?
  40. StringBuffer和StringBuilder有什么区别?
  41. StringJoiner有什么用?
  42. 普通类和抽象类有什么区别?
  43. 静态内部类和普通内部类有什么区别?
  44. 静态方法可以直接调用非静态方法吗?为什么?
  45. 静态变量和实力变量有什么区别?
  46. 内部类可以访问其外部类的成员吗?
  47. 接口和抽象类有什么区别?
  48. 接口里面可以写方法实现吗?
  49. Java中的UUID是什么?
  50. Java类初始化顺序是怎样的?
  51. hashCode有什么作用?
  52. hashCode和identityHashCode的区别?
  53. 什么是Hash冲突?
  54. Java常用的元注解有哪些?
  55. Java泛型中的T、R、K、V、E分别指什么?
  56. Java金额计算怎么避免精度丢失?
  57. Java语法糖是什么意思?
  58. transient关键字有什么作用?
  59. 如何实现对象克隆?
  60. 对象克隆浅拷贝和深拷贝有什么区别?
  61. Java反射机制有什么作用?
  62. Java反射机制有什么优缺点?
  63. 什么是宏变量和宏替换?
  64. 什么是逃逸分析?
  65. 什么是伪共享?有什么解决方案?
  66. Java 8新增了哪些特性?
  67. Java 8中的Lambda表达式有什么作用?
  68. Java 8中的Optional类有什么作用?
  69. Java 8中的@Repeatable注解有什么作用?
  70. Java 8中的方法引用是指什么?
  71. Java 8中的Stream有什么作用?
  72. Java 8中的函数式编程怎么用?
  73. 如何获取一个Stream流对象?
  74. 什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。

集合

  1. 说说常见的集合有哪些?
  2. Comparable和Comparator接口的区别?
  3. 集合使用泛型有什么优点?
  4. List、Set、Map之间的区别是什么?
  5. 为什么Map接口不继承Collection接口?
  6. 常用的线程安全的Map有哪些?
  7. HashMap和Hashtable有什么区别?
  8. HashMap和TreeMap怎么选?
  9. HashMap的数据结构是什么?
  10. HashMap在JDK 8中有哪些改变?
  11. HashMap是怎么解决Hash冲突的?
  12. HashMap是怎么扩容的?
  13. HashMap如何实现同步?
  14. 有没有可能2个不相等的对象有相同的hashcode。
  15. ConcurrentHashMap的数据结构是什么?
  16. ArrayList是线程安全的吗?
  17. 常用线程安全的List集合有哪些?
  18. 循环删除List集合可能会发生什么异常?
  19. ArrayList和LinkedList有什么区别?
  20. ArrayList和Vector有什么区别?
  21. 什么是CopyOnWriteArrayList?
  22. 什么是fail-safe?
  23. 什么是fail-fast?
  24. fail-fast和fail-safe有什么区别?
  25. HashSet的底层实现原理是什么?
  26. 怎么确保一个集合不能被修改?

JVM

  1. JVM是什么?
  2. JVM内存区域分类有哪些?
  3. 堆和栈的区别是什么?
  4. JVM那块内存区域不会发生内存溢出?
  5. 什么情况下会发生栈内存溢出?
  6. 对象都是在堆上分配的吗?
  7. 常用的JVM参数有哪些?
  8. 什么是类加载器?
  9. 类加载器的分类及作用?
  10. 什么是双亲委派模型?
  11. 为什么要打破双亲委派模型?
  12. 可以自定义一个java.lang.String吗࿱
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值