本专栏作者为 10 年+ 程序员、系统架构师、面试官,7 年写作经验,全网粉丝 50w+,也是「Spring Boot 核心技术与最佳实践」作者。
本专栏主要分享一线大厂 Java 面试题,主要包括 Java 基础、集合、IO、JVM、多线程等 Java 核心技术面试题。
订阅后,加作者微信「160285345」备注:100,并发送订阅截图,可免费领取 10 套程序员精美简历模板。
—
下面是专栏完整目录:
Java 基础
- JDK 与 JRE 的区别是什么?
- Java 有哪几种基本数据类型?包装类型呢?
- == 和 equals 比较有什么区别?
- 字符串比较是用 equals 还是 == ?为什么?
- public,private,protected,默认的区别?
- i++ 和 ++i 的区别?
- & 和 && 的区别?
- 你怎么理解值传递和引用传递?Java 到底是值传递还是引用传递?
- static 关键字有什么用?static 变量和普通变量的区别?
- final 关键字有哪些用法?
- final、finally、finalize 有什么区别?
- Java 支持多继承吗?为什么?
- 重载和重写有什么区别?构造器可以被重写和重载吗?
- Java 异常有哪些分类?Error 和 Exception 有什么区别?
- throw 和 throws 的区别?
- int 和 Integer 有什么区别?
- StringBuffer 和 StringBuilder 的区别?
- 接口和抽象类有什么区别?
- 0.1 + 0.2 == 0.3 正确么?为什么?
- 2 * 8 最有效率的计算方法是什么?
- String 是可变的吗?能不能被继承?为什么?
- String 的底层实现是怎样的?
- Java 9 之后,String 底层为什么使用 b…
- try 里面 return,finally还会执行吗…
- Java 类初始化顺序是怎样的?
- Java 反射机制有什么用?
- String str = “R”; 创建了几个对象?new String(“R”) 呢?
- Java 有哪几种级别的引用?
- 可以自定义一个 java.lang.String 吗?
- 什么是对象克隆?浅拷贝和深拷贝的区别?
- equals 和 hashCode 的区别和联系?为什么重写 equals 就要重写 hashCode?
Java 集合
- 说说常见的集合有哪些?常见的并发集合有哪些?
- Comparable 和 Comparator 接口的区别?
- HashMap 与 Hashtable 的区别?
- HashMap 的数据结构是什么?
- HashMap 在 JDK 8 中有哪些改变?
- JDK 8 HashMap 为啥要引入红黑树?什么情况会用红黑树?
- HashMap 的 put 方法逻辑?
- HashMap 的 get 方法逻辑?
- HashMap 是线程安全的吗?
- HashMap 是怎么解决 hash 冲突的?
- ConcurrentHashMap 的数据结构?
- ArrayList 是线程安全的么?为什么?
- ArrayList 和 LinkedList 的区别?
- ArrayList 和 LinkedList 哪个更占空间?
- 什么是 CopyOnWriteArrayList?
- CopyOnWrite* 并发集合有哪些优缺点?应用…
- fail-fast 与 fail-safe 有什么区别?
Java IO(流)
- Java 有哪几种类型的流?
- 你怎么理解 IO、BIO、NIO、AIO?
- IO 流中的 flush 是指什么?什么时候需要 flush 操作?
- IO 流中的 close 和 flush 的区别?
- 为什么需要 NIO?用 IO 和线程池不行吗?
- NIO 有哪三大件组成?它们之间的关系是怎样的?
- NIO 是如何实现多路复用的?
- 怎么反复读取输入流中的内容?
- Java 如何高效率读写大文件?
- Java 序列化是什么?有哪两种序列化方式?
Java 虚拟机(JVM)
- Java 为什么能一次编写,处处运行?
- JVM 是什么?常用的 JVM 参数有哪些?
- Java 内存模型和 JVM 内存模型的区别?
- Java 8 中的内存结构有什么变化?
- JVM 哪块内存区域不会发生内存溢出?
- JVM 从 GC 角度看,堆的分区情况?
- 什么情况下会发生栈内存溢出?
- 什么是类加载器?
- 什么是双亲委派模型?
- Java 内存模型定义了哪几种原子操作?
- 什么是指令重排序?怎么避免指令重排序?
- GC 是什么?为什么需要 GC?
- JVM 如何判断一个对象可被回收?
- 常用的垃圾收集器有哪些?
- 常用的垃圾回收算法有哪些?
- 什么是内存泄漏?如何防止内存泄漏?
- 一个线程 OOM 后,其他线程还能运行吗?
- 常用的 JVM 调优命令有哪些?
- JVM 对频繁调用的方法做了哪些优化?
Java 多线程
- 进程和线程的区别?
- 为什么要使用多线程?
- 创建线程有哪几种方式?
- 什么是守护线程?
- 线程的状态有哪几种?怎么流转的?
- join 方法有什么用?什么原理?
- start 和 run 方法有什么区别?
- sleep 和 wait 方法有什么区别?
- 你怎么理解 wait、notify、notifyAll?有什么要注意的吗?
- 什么是死锁?怎么避免死锁?
- SimpleDateFormat 是线程安全的吗?为什么?以及怎么解决?
- 什么是 CAS?
- Java 中原子操作的类有哪些?
- 什么是重入锁?你怎么理解重入?
- 什么是锁升级?锁升级的过程是怎样的?
- 什么是线程池?有哪些核心参数?
- 线程池的工作流程是怎样的?
- Java 里面有哪些内置的线程池?
- ThreadLocal 有什么用?底层实现是?
- volatile 关键字有什么用?有哪些应用场景?
- CountDownLatch 与 CyclicBarrier 的区别?
- 什么是 Happens-Before 原则?有哪些原则?
- 为什么不推荐使用 stop 停止线程?如何优雅地终止一个线程?
订阅后,加作者微信「160285345」备注:100,并发送订阅截图,可免费领取 10 套程序员精美简历模板。
专栏已设置分销,你拿 60%,生成自己的海报分享出去即可:
两单回本,觉得不错,快分享给朋友们吧~
🚀 大厂 Java 面试 100 问|完整目录 🚀
🔥 10 年+ 程序员、系统架构师、面试官倾力打造!🔥
📚 涵盖 Java 基础、集合、IO、JVM、多线程 等核心技术面试题!
💡 全网粉丝 50w+,7 年写作经验,Spring Boot 核心技术与最佳实践作者!
🎁 订阅福利:
👉 加作者微信「160285345」备注:100,发送订阅截图,免费领取 10 套程序员精美简历模板!
💼 分销福利:
📢 生成自己的海报分享,拿 60% 佣金,两单回本!
📌 专栏目录:
✅ Java 基础
✅ Java 集合
✅ Java IO
✅ JVM
✅ 多线程
🔗 立即订阅,掌握大厂面试秘籍,提升职业竞争力!
👉 点击这里了解更多
#Java面试 #程序员 #大厂面试 #Java技术 #简历模板