java 面试题目(java高级架构)

Wesley13
• 阅读 822

题目信息

java基础:

1. Java 基础

  1. JDK 和 JRE 有什么区别?   Java中JDK和JRE的区别是什么?它们的作用分别是什么?

  2. == 和 equals 的区别是什么?

  3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?

  4. final 在 java 中有什么作用?

  5. java 中的 Math.round(-1.5) 等于多少?

  6. 深拷贝和浅拷贝的区别

  7. String 属于基础的数据类型吗?

  8. java 中操作字符串都有哪些类?它们之间有什么区别?

  9. String str="i"与 String str=new String(“i”)一样吗?

  10. 如何将字符串反转?

  11. String 类的常用方法都有那些?

  12. 抽象类必须要有抽象方法吗?

  13. 普通类和抽象类有哪些区别?

  14. 抽象类能使用 final 修饰吗?

  15. 接口和抽象类有什么区别?

  16. java 中 IO 流分为几种?

  17. BIO、NIO、AIO 有什么区别?

  18. Files的常用方法都有哪些?

  19. 在java中守护线程和本地线程区别   java 73题以及答案 (1~73题均有答案)

  20. 线程与进程的区别?   java 73题以及答案 (1~73题均有答案)

  21. 什么是多线程中的上下文切换?  java 73题以及答案 (1~73题均有答案)

  22. 死锁与活锁的区别,死锁与饥饿的区别?  java 73题以及答案 (1~73题均有答案)

  23. Java中用到的线程调度算法是什么? java 73题以及答案 (1~73题均有答案)

  24. 什么是线程组,为什么在Java中不推荐使用? java 73题以及答案 (1~73题均有答案)

  25. 为什么使用Executor框架? java 73题以及答案 (1~73题均有答案)

  26. 在Java中Executor和Executors的区别? java 73题以及答案 (1~73题均有答案)

  27. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?   java 73题以及答案 (1~73题均有答案)

  28. Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势? java 73题以及答案 (1~73题均有答案)

  29. 什么是Executors框架? java 73题以及答案 (1~73题均有答案)

  30. 什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?   java 73题以及答案 (1~73题均有答案)

  31. 什么是Callable和Future? java 73题以及答案 (1~73题均有答案)

  32. 什么是FutureTask?使用ExecutorService启动任务。 java 73题以及答案 (1~73题均有答案)

  33. 什么是并发容器的实现? java 73题以及答案 (1~73题均有答案)

  34. 多线程同步和互斥有几种实现方法,都是什么? java 73题以及答案 (1~73题均有答案)

  35. 什么是竞争条件?你怎样发现和解决竞争? java 73题以及答案 (1~73题均有答案)

  36. 你将如何使用thread dump?你将如何分析Thread dump? java 73题以及答案 (1~73题均有答案)

  37. 为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法? java 73题以及答案 (1~73题均有答案)

  38. Java中你怎样唤醒一个阻塞的线程? java 73题以及答案 (1~73题均有答案)

  39. 在Java中CycliBarriar和CountdownLatch有什么区别? java 73题以及答案 (1~73题均有答案)

  40. 什么是不可变对象,它对写并发应用有什么帮助? java 73题以及答案 (1~73题均有答案)

  41. 什么是多线程中的上下文切换? java 73题以及答案 (1~73题均有答案)

  42. Java中用到的线程调度算法是什么? java 73题以及答案 (1~73题均有答案)

  43. 什么是线程组,为什么在Java中不推荐使用? java 73题以及答案 (1~73题均有答案)

  44. 为什么使用Executor框架比使用应用创建和管理线程好? java 73题以及答案 (1~73题均有答案)

  45. java中有几种方法可以实现一个线程? java 73题以及答案 (1~73题均有答案)

  46. 如何停止一个正在运行的线程? java 73题以及答案 (1~73题均有答案)

  47. notif****y()和notifyAll()有什么区别? java 73题以及答案 (1~73题均有答案)

  48. 什么是Daemon线程?它有什么意义? java 73题以及答案 (1~73题均有答案)

  49. CopyOnWriteArrayList可以用于什么应用场景? java 73题以及答案 (1~73题均有答案)

  50. 什么叫线程安全?servlet是线程安全吗? java 73题以及答案 (1~73题均有答案)

  51. volatile有什么用?能否用一句话说明下volatile的应用场景? java 73题以及答案 (1~73题均有答案)

  52. 为什么代码会重排序? java 73题以及答案 (1~73题均有答案)

  53. 在java中wait和sleep方法的不同? java 73题以及答案 (1~73题均有答案)

  54. 一个线程运行时发生异常会怎样 java 73题以及答案 (1~73题均有答案)

  55. 如何在两个线程间共享数据? java 73题以及答案 (1~73题均有答案)

  56. Java中notify 和 notifyAll有什么区别? java 73题以及答案 (1~73题均有答案)

  57. 为什么wait, notify 和 notifyAll这些方法不在thread类里面? java 73题以及答案 (1~73题均有答案)

  58. 什么是ThreadLocal变量? java 73题以及答案 (1~73题均有答案)

  59. Java中interrupted 和 isInterrupted方法的区别? java 73题以及答案 (1~73题均有答案)

  60. 为什么wait和notify方法要在同步块中调用? java 73题以及答案 (1~73题均有答案)

  61. 为什么你应该在循环中检查等待条件? java 73题以及答案 (1~73题均有答案)

  62. Java中的同步集合与并发集合有什么区别 java 73题以及答案 (1~73题均有答案)

  63. 什么是线程池? 为什么要使用它? java 73题以及答案 (1~73题均有答案)

  64. 怎么检测一个线程是否拥有锁? java 73题以及答案 (1~73题均有答案)

  65. 你如何在Java中获取线程堆栈? java 73题以及答案 (1~73题均有答案)

  66. JVM中哪个参数是用来控制线程的栈堆栈小的? java 73题以及答案 (1~73题均有答案)

  67. Thread类中的yield方法有什么作用? java 73题以及答案 (1~73题均有答案)

  68. Java中ConcurrentHashMap的并发度是什么? java 73题以及答案 (1~73题均有答案)

  69. Java中Semaphore是什么? java 73题以及答案 (1~73题均有答案)

  70. Java线程池中submit() 和 execute()方法有什么区别? java 73题以及答案 (1~73题均有答案)

  71. 什么是阻塞式方法? java 73题以及答案 (1~73题均有答案)

  72. Java中的ReadWriteLock是什么? java 73题以及答案 (1~73题均有答案)

  73. volatile 变量和 atomic 变量有什么不同? java 73题以及答案 (1~73题均有答案)

  74. 可以直接调用Thread类的run ()方法么? java 73题以及答案 (1~73题均有答案)

  75. 如何让正在运行的线程暂停一段时间? java 73题以及答案 (1~73题均有答案)

  76. 你对线程优先级的理解是什么? java 73题以及答案 (1~73题均有答案)

  77. 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing )? java 73题以及答案 (1~73题均有答案)

  78. 你如何确保main()方法所在的线程是Java 程序最后结束的线程? java 73题以及答案 (1~73题均有答案)

  79. 线程之间是如何通信的? java 73题以及答案 (1~73题均有答案)

  80. 为什么线程通信的方法wait(), notify()和notifyAll()被定义在Object 类里? java 73题以及答案 (1~73题均有答案)

  81. 为什么wait(), notify()和notifyAll ()必须在同步方法或者同步块中被调用? java 73题以及答案 (1~73题均有答案)

  82. 为什么Thread类的sleep()和yield ()方法是静态的? java 73题以及答案 (1~73题均有答案)

  83. 如何确保线程安全? java 73题以及答案 (1~73题均有答案)

  84. 同步方法和同步块,哪个是更好的选择? java 73题以及答案 (1~73题均有答案)

  85. 如何创建守护线程? java 73题以及答案 (1~73题均有答案)

  86. 什么是Java Timer 类?如何创建一个有特定时间间隔的任务? java 73题以及答案 (1~73题均有答案)

  87. 为什么等待和通知是在 Object 类而不是 Thread 中声明的?

  88. 为什么Java中不支持多重继承? java十题

  89. 为什么Java不支持运算符重载java十题

  90. 为什么 String 在 Java 中是不可变的? java十题

  91. 为什么 char 数组比 Java 中的 String 更适合存储密码java十题

  92. 如何使用双重检查锁定在 Java 中创建线程安全的单例?java十题

  93. 编写 Java 程序时, 如何在 Java 中创建死锁并修复它java十题

  94. 如果你的Serializable类包含一个不可序列化的成员,会发生什么?你是如何解决的java十题

  95. 为什么Java中 wait 方法需要在 synchronized 的方法中调用java十题

  96. 你能用Java覆盖静态方法吗?如果我在子类中创建相同的方法是编译时错误java十题

  97. 你看过那些源码吗?

  98. 那你能讲讲HashMap的实现原理吗? (【Java集合源码剖析】HashMap源码剖析HashMap原理(一) 概念和底层架构

  99. HashMap什么时候会进行rehash?  (Java HashMap中在resize()时候的rehash,即再哈希法的理解

  100. HashMap什么时候会进行扩容?  (HashMap的扩容机制---resize()

  101. 那HashMap的初始容量设置成多少比较合适呢?  (Java中HashMap的初始容量设置

  102. 结合源码说说HashMap在高并发场景中为什么会出现死循环? (HashMap 在高并发下引起的死循环

  103. JDK1.8中对HashMap做了哪些性能优化?  (JDK1.8中对hashmap的优化

  104. HashMap和HashTable有何不同? (HashMap与HashTable原理及数据结构; HashMap 与HashTable的区别

  105. HashMap 和 ConcurrentHashMap 的区别? (HashMap? ConcurrentHashMap?

  106. ConcurrentHashMap和LinkedHashMap有什么区别?  (ConcurrentHashMap总结Java LinkedHashMap工作原理及实现

  107. 为什么ConcurrentHashMap中的链表转红黑树的阀值是8?  (为什么HashMap桶(链表)的长度超过8才会转换成红黑树      https://www.jianshu.com/p/85d158455861   Java集合-ConcurrentHashMap工作原理和实现JDK8         https://www.jianshu.com/p/b7dda385f83d ConcurrentHashMap与红黑树实现分析Java8 )

  108. 什么是ConcurrentSkipListMap?他和ConcurrentHashMap有什么区别?  (Java并发容器——ConcurrentSkipListMap和ConcurrentHashMap

  109. 还看过其他的源码吗?Spring的源码有了解吗?  【随笔分类 - spring及其源码分析专辑  https://www.cnblogs.com/davidwang456/category/805707.html    spring面试问题与答案集锦

  110. java如何实现多线程之间的通讯和协作? java 73题以及答案 (1~73题均有答案)

  111. 什么是可重入锁(ReentrantLock)? 可重入锁和不可重入锁  java 73题以及答案 (1~73题均有答案)

  112. 当一个线程进入某个对象的一个synchronized的实例方法后,其它线程是否可进入此对象的其它方法? java 73题以及答案 (1~73题均有答案)

  113. 乐观锁和悲观锁的理解及如何实现,有哪些实现方式? java 73题以及答案 (1~73题均有答案)

  114. SynchronizedMap和ConcurrentHashMap有什么区别? java 73题以及答案 (1~73题均有答案)

2. 容器

  1. java 容器都有哪些? Java容器有哪些?
  2. Collection 和 Collections 有什么区别? Collection和Collections有什么区别?
  3. List、Set、Map 之间的区别是什么?  List、Map、Set之间的联系与区别:
  4. 如何决定使用 HashMap 还是 TreeMap?  Java中HashMap和TreeMap的区别
  5. 说一下 HashSet 的实现原理?  HashSet的实现原理
  6. ArrayList 和 LinkedList 的区别是什么? ArrayList和LinkedList的区别
  7. 如何实现数组和 List 之间的转换?  如何实现数组与List的相互转换
  8. ArrayList 和 Vector 的区别是什么?  arrayList和vector的区别
  9. Array 和 ArrayList 有何区别?  java中Array和ArrayList区别
  10. 在 Queue 中 poll()和 remove()有什么区别?  在 Queue 中 poll()和 remove()有什么区别?
  11. 哪些集合类是线程安全的?常用集合类简介及线程安全和非线程安全的集合对象Java集合中那些类是线程安全的
  12. 迭代器 Iterator 是什么?   迭代器Iterator、for循环遍历、泛型
  13. Iterator 怎么使用?有什么特点?
  14. Iterator 和 ListIterator 有什么区别?  Iterator和ListIterator区别
  15. 怎么确保一个集合不能被修改?   怎么确保一个集合不能被修改   csdn确保集合不能被修改
  16. Collection总览
  17. List集合就这么简单【源码剖析】
  18. Map集合、散列表、红黑树介绍
  19. HashMap就是这么简单【源码剖析】
  20. LinkedHashMap就这么简单【源码剖析】
  21. TreeMap就这么简单【源码剖析】
  22. ConcurrentHashMap基于JDK1.8源码剖析
  23. Set集合就这么简单!
  24. Java集合总结【面试题+脑图】,将知识点一网打尽!
  25. CopyOnWriteArrayList你都不知道,怎么拿offer?

4. 反射

  1. 什么是反射? java中 什么是反射?   Java的反射是什么?有什么用
  2. 什么是 java 序列化?什么情况下需要序列化? 什么是Java序列化?为什么序列化?序列化有哪些方式?
  3.  动态代理是什么?有哪些应用? Java动态代理实现及实际应用
  4. 怎么实现动态代理? Java实现动态代理的两种方式

5. 对象拷贝

  1. 为什么要使用克隆?    java对象克隆以及深拷贝和浅拷贝
  2.  如何实现对象克隆? 如何实现对象克隆?
  3. 深拷贝和浅拷贝区别是什么? 浅谈Java中的深克隆和浅克隆(阿里面试)

6. Java Web

  1.  jsp 和 servlet 有什么区别?
  2.  jsp 有哪些内置对象?作用分别是什么?
  3. 说一下 jsp 的 4 种作用域?
  4. session 和 cookie 有什么区别?  session和cookie有什么区别?
  5.  说一下 session 的工作原理?  深度解剖session运行原理
  6.  如果客户端禁止 cookie 能实现 session 还能用吗?  session与cookie的区别是什么?如果客户端禁用了cookie功能,将会对session有什么影响?
  7.  spring mvc 和 struts 的区别是什么?  【SSM 1】SpringMVC、Spring和Struts的区别
  8. 如何避免 sql 注入?
  9.  什么是 XSS 攻击,如何避免?
  10.  什么是 CSRF 攻击,如何避免?
  11. 给我说说你能想到几种分布式session实现

7. 异常

  1.  throw 和 throws 的区别?
  2.  final、finally、finalize 有什么区别? 【Java面试题】19 final,finally和finalize的区别
  3.  try-catch-finally 中哪个部分可以省略?
  4.  try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
  5.  常见的异常类有哪些?  常见异常类有哪些?

8. 网络

  1.  http 响应码 301 和 302 代表的是什么?有什么区别?  HTTP状态码中301与302的区别
  2.  forward 和 redirect 的区别?  java面试题之----转发(forward)和重定向(redirect)的区别
  3. 简述 tcp 和 udp的区别? TCP和UDP的区别(转)
  4. tcp 为什么要三次握手,两次不行吗?为什么? TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
  5.  说一下 tcp 粘包是怎么产生的? TCP的粘包现象   理解TCP三次握手/四次断开的必要性
  6.  OSI 的七层模型都有哪些?
  7.  get 和 post 请求有哪些区别?  http与https区别,get与post请求区别
  8.  如何实现跨域? 实现跨域的N种方法
  9. 说一下 JSONP 实现原理? 彻底弄懂jsonp原理及实现方法   浅谈JSONP 的本质工作原理

Java集合22题

  1. ArrayList 和 Vector 的区别 (arrayList和vector的区别

  2. 说说 ArrayList,Vector, LinkedList 的存储性能和特性。(arrayList和vector的区别

  3. 快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么? (java中快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?

  4. hashmap 的数据结构。 HashMap? ConcurrentHashMap?

  5. HashMap 的工作原理是什么? HashMap? ConcurrentHashMap?

  6. Hashmap 什么时候进行扩容呢?   HashMap的扩容机制---resize()  Java HashMap中在resize()时候的rehash,即再哈希法的理解

  7. List、Map、Set 三个接口,存取元素时,各有什么特点? (List、Map、Set三个接口,存取元素时,各有什么特点?)

  8. Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是 equals()? 它们有何区别?  (Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还 是 equals()?它们有何区别?

  9. 两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对? (两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hash code ,这 句话对不对

  10. heap 和 stack 有什么区别 (堆(heap)和栈(stack)有什么区别??

  11. Java 集合类框架的基本接口有哪些?(Java集合类框架的基本接口有哪些?

  12. HashSet 和 TreeSet 有什么区别? (HashSet和TreeSet的区别

  13. HashSet 的底层实现是什么? (HashSet的实现原理

  14. LinkedHashMap 的实现原理? (LinkedHashMap的实现原理

  15. 为什么集合类没有实现 Cloneable 和 Serializable 接口?(为什么集合类没有实现Cloneable和Serializable接口

  16. 什么是迭代器 (Iterator)? (Java集合Iterator迭代器的实现

  17. Iterator 和 List  Iterator 的区别是什么? (Iterator和ListIterator的区别

  18. 数组 (Array) 和列表 (ArrayList) 有什么区别?什么时候应该使用 Array 而不是 ArrayList? (数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?

  19. Java 集合类框架的最佳实践有哪些?(Java集合类框架的最佳实践?

  20. Comparable 和 Comparator 接口是干什么的?列出它们的区别 (Comparable和Comparator接口是干什么的?列出它们的区别。

  21. Collection 和 Collections 的区别。 (Collection接口和Collections类的简单区别和讲解

  22. 什么是线程调度器(ThreadScheduler) 和时间分片(TimeSlicing) 【线程调度器是一个操作系统服务,它负责为Runnable状态的线程分配CPU时间。一旦创建一个线程并启动它,它的执行便依赖于线程调度器的实现。时间分片是指将可用的CPU时间分配给可用的Runnable线程的过程。分配CPU时间可以基于线程优先级或者线程等待的时间。线程调度并不受到Java虚拟机控制,所以由应用程序来控制它是更好的选择(也就是说不要让的程序依赖于线程的优先级) 】

  23. 为什么Thread类的sleep() 和yield()方法是静态的 (java.lang.Thread类的静态方法sleep()和yield()的比较

  24. volatile关键词在Java中有什么作用? (Java并发编程:volatile关键字解析

  25. 什么是ThreadLocal? (ThreadLocal是什么

  26. 什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?  什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?

  27. 什么是Callable和Future?  Java程序员必须掌握的线程知识-Callable和Future

  28. HashMap为什么不是线程安全的?  HashMap? ConcurrentHashMap?

  29. ConcurrentHashmap底层实现? HashMap? ConcurrentHashMap?

  30. 为什么Map桶中个数超过8才转为红黑树

JVM与调优21题

  1. Java 类加载过程?说一下类加载的执行过程?Java 类加载过程Jvm系列(一):java类的加载机制
  2. 描述一下 JVM 加载 Class 文件的原理机制?  描述一下JVM加载class文件的原理机制
  3. Java 内存分配。  Jvm系列(二):JVM内存结构
  4. GC 是什么? 为什么要有 GC?    Jvm系列(五):Java GC分析   
  5. GC类型以及不同类型GC的搭配    回收器的类型
  6. GC和GC分配策略  垃圾回收算法
  7. 说一下 jvm 有哪些垃圾回收算法?说一下 jvm 有哪些垃圾回收器?详细介绍一下 CMS 垃圾回收器?新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?简述分代垃圾回收器是怎么工作的?
  8. 简述 Java 垃圾回收机制 Jvm系列(三):GC算法  垃圾收集器
  9. 垃圾回收的优点和原理。并考虑 2 种回收机制     垃圾回收机制的优点和原理,并考虑两种回收机制
  10. Java 中垃圾收集的方法有哪些? 关于java 虚拟机相关特点[纯洁的微笑]
  11. 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?             吞吐量收集器使用并行版本的新生代垃圾收集器,它用于中等规模和大规模数据的应用程序。而串行收集器对大多数的小应用(在现代处理器上需要大概100M左右的内存)就足够了。
  12. 什么是分布式垃圾回收(DGC)?它是如何工作的
  13. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  14. Java 中会存在内存泄漏吗,请简单描述
  15. 如何判断一个对象是否存活?(或者 GC 对象的判定方法)  GC的判定的2种方式  GC原理---对象可达判断
  16. System.gc() 和 Runtime.gc() 会做什么事情?  System.gc()和Runtime.gc()的区别?
  17. finalize() 方法什么时候被调用?析构函数 (finalization) 的目的是什么?
  18. 如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
  19. 在 Java 中,对象什么时候可以被垃圾回收
  20. 简述 Java 内存分配与回收策率以及 Minor GC 和 Major GC。  java常见面试题及答案
  21. JVM 的永久代中会发生垃圾回收么? java常见面试题及答案
  22. 什么是类加载器,类加载器有哪些? java常见面试题及答案
  23. 类加载器双亲委派模型机制?  java常见面试题及答案
  24. tomcat本身是java程序,那么tomcat的实现程序的class是由应用类加载器加载的,用户自己的java程序war包,放入tomcat的程序的classpath中这样用户的程序和tomcat的程序都是由应用类加载器加载了,也就是处于一个jvm中了
  25. 说一下 jvm 的主要组成部分?及其作用?  java常见面试题及答案
  26. 说一下 jvm 运行时数据区? JVM总结(一):概述--JVM运行时数据区
  27.  说一下堆栈的区别? 堆栈是什么,通俗说一下
  28. 队列和栈是什么?有什么区别? 数据结构-队列和栈有什么区别
  29.  java 中都有哪些引用类型?  Java四种引用类型
  30. 说一下 jvm 调优的工具?  JVM监控和调优常用命令工具总结
  31. 常用的 jvm 调优的参数都有哪些? JVM调优总结  JVM调优参数
  32. JVM 内存区域方面的面试题
  33. 系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
  34. 记一次有惊无险的 JVM 优化经历
  35. 从零开始带你成为JVM实战高手
  36. JVM 堆内存溢出后,其他线程是否可继续工作
  37. JVM内存结构 VS Java内存模型 VS Java对象模型 
  38. Java内存模型是什么

并发编程28题

  1. Synchronized 用过吗,其原理是什么? synchronized是什么,用法及原理
  2. 你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁? Synchronized方法锁、对象锁、类锁区别
  3. 什么是可重入性,为什么说 Synchronized 是可重入锁? synchronized 是可重入锁吗?为什么?
  4. JVM 对 Java 的原生锁做了哪些优化? Java-JVM 锁优化
  5. 为什么说 Synchronized 是非公平锁? Synchronized
  6. 什么是锁消除和锁粗化?Synchronized
  7. 为什么说 Synchronized 是一个悲观锁?乐观锁的实现原理又是什么?什么是 CAS,它有什么特性? Synchronized
  8. 乐观锁一定就是好的吗?Synchronized
  9. 跟 Synchronized 相比,可重入锁 ReentrantLock 其实现原理有什么不同? Synchronized
  10. 那么请谈谈 AQS 框架是怎么回事儿?Synchronized
  11. 请尽可能详尽地对比下 Synchronized 和 ReentrantLock 的异同。 Synchronized
  12. ReentrantLock 是如何实现可重入性的?Synchronized
  13. 除了 ReetrantLock,你还接触过 JUC 中的哪些并发工具?Synchronized
  14. 请谈谈 ReadWriteLock 和 StampedLock。Synchronized
  15. 如何让 Java 的线程彼此同步?你了解过哪些同步器?请分别介绍下。 Synchronized
  16. CyclicBarrier 和 CountDownLatch 看起来很相似,请对比下呢? Synchronized
  17. Java 线程池相关问题
  18. Java 中的线程池是如何实现的(线程池(包含什么,core、max联系)原理?)?
  19. 创建线程池的几个核心构造参数?
  20. 线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?
  21. 既然提到可以通过配置不同参数创建出不同的线程池,那么 Java 中默认实现好的线程池又有哪些呢?请比较它们的异同
  22. 如何在 Java 线程池中提交线程?
  23. 什么是 Java 的内存模型,Java 中各个线程是怎么彼此看到对方的变量的?
  24. 请谈谈 volatile 原理以及特点,为什么它能保证变量对所有线程的可见性?
  25. 既然 volatile 能够保证线程间的变量可见性,是不是就意味着基于 volatile 变量的运算就是并发安全的?
  26. 请对比下 volatile 对比 Synchronized 的异同。 volatile与synchronized的区别
  27. 请谈谈 ThreadLocal 是怎么解决并发安全的? 谈谈Java中的ThreadLocal
  28. 很多人都说要慎用 ThreadLocal,谈谈你的理解,使用 ThreadLocal 需要注意些什么?
  29. JMM(主内存、工作内存、happens-before)是什么? 什么是Java内存模型中的happens-before
  30. 有哪些无锁数据结构?无锁实现的原理? 无锁数据结构(Lock-Free Data Structures)
  31. 并行和并发有什么区别?
  32. 线程和进程的区别?
  33. 守护线程是什么?
  34. 创建线程有哪几种方式? 多线程之创建线程有哪几种方式?
  35. 说一下 runnable 和 callable 有什么区别? 说说Runnable与Callable
  36. 线程有哪些状态?
  37. sleep() 和 wait() 有什么区别?
  38. notify()和 notifyAll()有什么区别?
  39. 线程的 run()和 start()有什么区别?
  40. 创建线程池有哪几种方式?
  41. 线程池都有哪些状态?
  42. 线程池中 submit()和 execute()方法有什么区别?
  43. 在 java 程序中怎么保证多线程的运行安全?
  44. 多线程锁的升级原理是什么?
  45. 什么是死锁?
  46. 怎么防止死锁?
  47. synchronized 和 Lock 有什么区别? synchronized与Lock的区别
  48. synchronized 和 ReentrantLock 区别是什么? ReentrantLock详解 以及与synchronized的区别
  49. 说一下 atomic 的原理? Java中Atomic包的实现原理及应用
  50. Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)
  51. Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
  52. java并发编程:共享性、互斥性、原子性、可见性、有序性
  53. 锁实现(多线程中的锁系统(四)-谈谈自旋锁
  54. cas原理 (理解cas; Java并发编程总结2——慎用CAS
  55. volatile使用场景 (Java并发编程:volatile关键字解析Java 并发编程:volatile的使用及其原理
  56. synchronized是什么 (Synchronized 有几种用法  ;Java并发编程:Synchronized及其实现原理
  57. 重入锁
  58. Java线程池源码及原理

spring 25题

  1. 什么是 Spring 框架?Spring 框架有哪些主要模块?  Spring框架简介  Spring框架各模块功能介绍
  2. 使用 Spring 框架能带来哪些好处? 使用Spring框架能带来那些好处
  3. 什么是控制反转(IOC)?什么是依赖注入? 控制反转(IOC)和依赖注入(DI)的区别
  4. 请解释下 Spring 框架中的 IoC? 谈谈对Spring IOC的理解
  5. BeanFactory 和 ApplicationContext 有什么区别? 创建ApplicationContext与BeanFactory时的区别-Spring源码学习之容器的基本实现
  6. Spring 有几种配置方式?         Spring -- 三种配置方式
  7. 如何用基于 XML 配置的方式配置 Spring?
  8. 如何用基于 Java 配置的方式配置 Spring?
  9. 怎样用注解的方式配置 Spring?
  10. 请解释 Spring Bean 的生命周期?Spring Bean的生命周期(非常详细)   Spring的Bean生命周期理解   Spring的几种注入bean的方式   
  11. Spring Bean 的作用域之间有什么区别? spring bean 的作用域之间有什么区别
  12. 什么是 Spring inner beans?
  13. Spring 框架中的单例 Beans 是线程安全的么? 【Spring】8、Spring框架中的单例Beans是线程安全的么
  14. 请举例说明如何在 Spring 中注入一个 Java Collection
  15. 如何向 Spring Bean 中注入一个 Java.util.Properties
  16. 请解释 Spring Bean 的自动装配? Spring 自动装配及其注解
  17. 请解释自动装配模式的区别
  18. 如何开启基于注解的自动装配? Spring 自动装配及其注解
  19. 请举例解释@Required 注解?
  20. 请举例解释@Autowired 注解?
  21. 请举例说明@Qualifier 注解?
  22. 构造方法注入和设值注入有什么区别? 依赖注入的实现方式:设值注入和构造方法注入
  23. Spring 框架中有哪些不同类型的事件? Spring框架中不同类型的事件
  24. FileSystemResource 和 ClassPathResource 有何区别? FileSystemResource 和 ClassPathResource 有何区别
  25. Spring 框架中都用到了哪些设计模式? spring中用到了哪些设计模式
  26. 为什么要使用 spring
  27. 解释一下什么是 aop? 面试题思考:解释一下什么叫AOP(面向切面编程)
  28.  解释一下什么是 ioc? Spring的IOC原理[通俗解释一下]
  29.  spring 支持几种 bean 的作用域? Spring中Bean的五个作用域
  30.  spring 事务实现方式有哪些? 【Spring】事务的实现方式
  31.  说一下 spring 的事务隔离
  32.  说一下 spring mvc 运行流程
  33. spring mvc 有哪些组件 Spring MVC 三大组件 SpringMvc三大组件详解
  34.  @RequestMapping 的作用是什么?    SpringMVC中@Controller和@RequestMapping用法和其他常用注解
  35. @Autowired 的作用是什么
  36. Spring MVC源码(二) ----- DispatcherServlet 请求处理流程 面试必问

设计模式 

  1. 请列举出在 JDK 中几个常用的设计模式?
  2. 什么是设计模式?你是否在你的代码里面使用过任何设计模式?
  3. Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
  4. 在 Java 中,什么叫观察者设计模式(observer design pattern)?
  5. 使用工厂模式最主要的好处是什么?在哪里使用?
  6. 举一个用 Java 实现的装饰模式(decorator design pattern)?它是作用于对象层次还是类层次?
  7. 在 Java 中,为什么不允许从静态方法中访问非静态变量?
  8. 设计一个 ATM 机,请说出你的设计思路?
  9. 在 Java 中,什么时候用重载,什么时候用重写?
  10. 举例说明什么情况下会更倾向于使用抽象类而不是接口
  11. 设计模式(装饰器设计模式、代理模式、单例模式、工厂模式)
  12. 说一下你熟悉的设计模式?
  13. 简单工厂和抽象工厂有什么区别?
  14. GOF23种设计模式总览

springboot 22题

  1. 什么是 Spring Boot?
  2. Spring Boot 有哪些优点?
  3. 什么是 JavaConfig?
  4. 如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
  5. Spring Boot 中的监视器是什么?
  6. 如何在 Spring Boot 中禁用 Actuator 端点安全性?
  7. 如何在自定义端口上运行 Spring Boot 应用程序?
  8. 什么是 YAML?
  9. 如何实现 Spring Boot 应用程序的安全性?
  10. 如何集成 Spring Boot 和 ActiveMQ?
  11. 如何使用 Spring Boot 实现分页和排序?
  12. 什么是 Swagger?你用 Spring Boot 实现了它吗?
  13. 什么是 Spring Profiles?
  14. 什么是 Spring Batch?
  15. 什么是 FreeMarker 模板?
  16. 如何使用 Spring Boot 实现异常处理?
  17. 您使用了哪些 starter maven 依赖项?
  18. 什么是 CSRF 攻击?
  19. 什么是 WebSockets?
  20. 什么是 AOP?
  21. 什么是 Apache Kafka?
  22. 我们如何监视所有 Spring Boot 微服务?
  23. SpringBoot的源码呢?知道starter是怎么实现的吗?  (spring boot 相关文章 https://www.cnblogs.com/shamo89/tag/springboot/)
  24. 如何重新加载Spring Boot上的更改,而无需重新启动服务器?
  25. Spring Boot中的监视器是什么?  SpringBoot面试题 转(已迁移到java相关知识点)
  26. 如何集成Spring Boot和ActiveMQ?  SpringBoot面试题 转(已迁移到java相关知识点)
  27. 常见的starter会包几个方面的内容。分别是什么   SpringBoot面试题 转(已迁移到java相关知识点)
  28. Spring Boot Starter的工作原理 SpringBoot面试题 转(已迁移到java相关知识点)
  29. 谈谈你对Spring Boot的认识 SpringBoot面试题 转(已迁移到java相关知识点)
  30. 自定义springboot-starter注意事项 SpringBoot面试题 转(已迁移到java相关知识点)
  31. Spring Boot、Spring MVC 和 Spring 有什么区别? SpringBoot面试题 转(已迁移到java相关知识点)
  32. 什么是 Spring Boot Stater ? SpringBoot面试题 转(已迁移到java相关知识点)
  33. Spring Boot 还提供了其它的哪些 Starter Project Options? SpringBoot面试题 转(已迁移到java相关知识点)
  34. Spring 是如何快速创建产品就绪应用程序的? SpringBoot面试题 转(已迁移到java相关知识点)
  35. springboot与spring的区别 SpringBoot面试题 转(已迁移到java相关知识点)
  36. springboot的核心功能与使用优点. SpringBoot面试题 转(已迁移到java相关知识点)
  37. springboot中的application.properties配置文件是什么,有哪些配置. SpringBoot面试题 转(已迁移到java相关知识点)
  38. springboot中的核心启动主函数(main函数)的作用.用到哪些注解.注解的作用. SpringBoot面试题 转(已迁移到java相关知识点)
  39. 可以配置 application.propertierde 的完整的属性列表在哪里可以找到 SpringBoot面试题 转(已迁移到java相关知识点)

spring cloud

  1.  基于Spring Boot+Cloud构建微云架构
  2.  什么是 spring boot?
  3.  为什么要用 spring boot?
  4.  spring boot 核心配置文件是什么?
  5.  spring boot 配置文件有哪几种类型?它们有什么区别?
  6.  spring boot 有哪些方式可以实现热部署?
  7.  jpa 和 hibernate 有什么区别?
  8.  什么是 spring cloud?
  9.  spring cloud 断路器的作用是什么
  10.  spring cloud 的核心组件有哪些?

dubbo

  1. Dubbo设计思路
  2. Dubbo的底层实现原理和机制?
  3. Dubbo学习(一) Dubbo原理浅析
  4. 个人学习分布式专题(二)分布式服务治理之Dubbo框架
  5. Dubbo学习(二) Dubbo 集群容错模式-负载均衡模式
  6. 分布式架构核心RPC原理
  7. Dubbo学习(四) dubbo的特点,8种通信协议之对比
  8. Dubbo学习(九) Dubbo面试问题
  9. Dubbo学习(六) dubbo 架构图 以及调用过程
  10. 主流的RPC框架有哪些

k8s 

Netty10题

  1. BIO、NIO和AIO的区别?
  2. NIO的组成?
  3. Netty的特点?
  4. Netty的线程模型?
  5. TCP 粘包/拆包的原因及解决方法?
  6. 了解哪几种序列化协议?
  7. 如何选择序列化协议?
  8. Netty的零拷贝实现?
  9. Netty的高性能表现在哪些方面?
  10. NIOEventLoopGroup源码?
  11. netty原理是什么?
  12. BIO, NIO, AIO各自的特点
  13. 什么同步阻塞,同步非阻塞,异步非阻塞
  14. 为什么NIO能够应对支持海量的请求
  15. NIO相关组件的原理
  16. NIO通讯的简单案例
  17. 漫谈Java IO之 Netty与NIO服务器
  18. select、poll、epoll之间的区别总结[整理]
  19. 用户空间与内核空间,进程上下文与中断上下文[总结]
  20. IO多路复用之epoll总结

Hibernate

  1.  为什么要使用 hibernate?
  2. 什么是 ORM 框架?
  3. hibernate 中如何在控制台查看打印的 sql 语句?
  4.  hibernate 有几种查询方式?
  5.  hibernate 实体类可以被定义为 final 吗?
  6.  在 hibernate 中使用 Integer 和 int 做映射有什么区别?
  7.  hibernate 是如何工作的?
  8.  get()和 load()的区别?
  9.  说一下 hibernate 的缓存机制?
  10.  hibernate 对象有哪些状态?
  11.  在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?
  12.  hibernate 实体类必须要有无参构造函数吗?为什么?

其他:

  1. 说下一次RPC请求的过程
  2. 分布式系统怎么做服务治理?  个人学习分布式专题(二)分布式服务治理之分布式协调技术Zookeeper
  3. 接口的幂等性的概念介绍下
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java基础知识随身记
2018年11月12日20:51:35一、基础知识:1、JVM、JRE和JDK的区别:JVM(JavaVirtualMachine):java虚拟机,用于保证java的跨平台的特性。  java语言是跨平台,jvm不是跨平台的。JRE(JavaRuntimeEnvironment):java的运行环境,包括jvmjava的核心类
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
Wesley13 Wesley13
3年前
P2P技术揭秘.P2P网络技术原理与典型系统开发
Modular.Java(2009.06)\.Craig.Walls.文字版.pdf:http://www.t00y.com/file/59501950(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.t00y.com%2Ffile%2F59501950)\More.E
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这