Java 面试题汇总(持续更新)

  1. 谈谈你对Java平台的理解?“Java是解释执行”,这句话正确吗?
  2. 谈谈JVM的一些基础概念和机制,比如Java的类加载机制;常用版本JDK(JDK8)内嵌的Class-Loader;类加载大致过程:加载、验证、链接、初始化;自定义Class-Loader等;
  3. 垃圾收集的基本原理,常见的垃圾收集器,如SerialGC、Parallel GC、CMS、G1等。
  4. Exception和Error有什么区别?
  5. 四种引用:强引用、软引用、弱引用、幻象引用
  6. String、StringBuffer、StringBuilder有什么区别?
  7. String自身的演化
  8. 动态代理是基于什么原理?
  9. JDK动态代理和cglib框架的区别?
  10. int和Integer有什么区别?
  11. 对比Vector、ArrayList、LinkedList有什么区别?
  12. 对比Hashtable、HashMap、TreeMap有什么区别?
  13. HashMap的底层实现原理?
  14. 如何保证集合是线程安全的?ConcurrentHashMap如何实现高效的线程安全?
  15. Java提供了哪些IO方式?NIO如何实现多路复用?
  16. Java有几种文件拷贝方式?哪一种最高效?
  17. 谈谈接口和抽象类的区别?
  18. JDK8,9对接口的改进
  19. 谈谈你知道的设计模式?
  20. 实现double-check单例模式
  21. Synchronized和ReentrantLock有什么区别?
  22. 锁膨胀、降级,偏斜锁、自旋锁、轻量级锁、重量级锁概念
  23. Synchronized的底层是如何实现的?什么是锁的升级、降级?
  24. 一个线程两次调用start()方法会出现什么情况?
  25. 什么情况下Java程序会产生死锁?如何定位、修复?
  26. Java并发包提供了哪些并发工具类?
  27. CountDownLatch、CyclicBarrier、Semaphore
  28. 跳表SkipList
  29. 并发包中的ConcurrentLinkedQueue和LinkedBlockingQueue有什么区别?
  30. 什么是CAS无锁技术?
  31. Java并发类库提供的线程池有哪几种?分别有什么特点?
  32. AtomicInteger底层实现原理是什么?如何在自己的产品代码中应用CAS操作?
  33. 请介绍类加载过程,什么是双亲委派模型?
  34. 有哪些方法可以在运行时动态生成一个Java类?
  35. 谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError?
  36. 如何监控和诊断JVM堆内和堆外内存的使用?
  37. Java常见的垃圾收集器有哪些?
  38. 谈谈你的GC调优思路?
  39. G1 GC的内部结构和主要机制?
  40. Java内存模型中的happen-before是什么?
  41. volatile如何利用内存屏障实现JMM定义的可见性?
  42. 你了解Java应用开发中的注入攻击吗?
  43. 如何写出安全的Java代码?
  44. 后台服务出现明显“变慢”,谈谈你的诊断思路?
  45. 有人说“Lambda能让Java程序慢30倍”,你怎么看?
  46. JVM优化Java代码时都做了什么?
  47. 谈谈MySQL支持的事务隔离级别?
  48. 悲观锁、乐观锁的原理和应用场景?
  49. 谈谈Spring Bean的生命周期和作用域?
  50. Spring的控制反转、AOP基本原理?
  51. 对比Java标准NIO类库,Netty是如何实现高性能的?
  52. 谈谈常用的分布式ID的设计方案?Snowflake是否受冬令时切换影响?
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,544评论 11 349
  • Java基础 Vector,ArrayList, LinkedList的区别是什么? 答: Vector、Arra...
    闪电是只猫阅读 14,155评论 3 26
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 9,924评论 1 14
  • 不知道为什么有关动物的故事,总会戳下我泪点,还是那句话,我真的很讨厌有些人,自以为自己是高级动物,对于动物...
    明溪蔚然阅读 1,832评论 0 0
  • 女孩,今天是你的大喜之日,好早之前就想提笔给你写些什么,但是我们都好像已经过了提笔写情怀的年纪,感觉好矫情,但是鉴...
    诗疋阅读 3,875评论 2 2

友情链接更多精彩内容