Java后端面试题大全
Java基础
面向对象的特征有哪些方面
public,private,protected,default的区别
String是最基本的数据类型吗
&和&&的区别
switch关键字
如何跳出当前的多重嵌套循环
构造器是否可被重写
==和equals区别
Integer和int的区别
String长度有限制吗?是多少?
是否可以继承String类
String、StringBuilder、StringBuffer的区别
重载和重写的区别
抽象类和接口的区别(jdk8/jdk9)
内部类和静态嵌套类
静态变量和实例变量的区别
如何实现对象拷贝
java中有几种类型的流
Error和Exception的区别
如何进行异常处理
常见的运行时异常
final、finally和finalize的区别
运行时异常与受检异常有何异同
JDBC操作数据库的步骤
Statement和PreparedStatement的区别
数据库连接池的作用与基本原理
什么是DAO模式
获得一个类的类对象有哪些方式
通过反射调用对象的方法
Java实现单例模式
BIO、NIO、AIO有什么区别
finally块中的代码什么时候被执行、执行的效果是什么?
try-catch-finally 中哪个部分可以省略
Java中throw和throws区别
java主线程捕获子线程中的异常
Java常见关键字总结
Java8新特性总结
Lambda为什么只能使用final变量
finally一定会被执行吗
必问面试题
Java集合
HashMap理解
Java8的HashMap设计与实现
java8的stream api迭代一次还是多次
Java 中常用的容器有哪些
ArrayList 和 LinkedList 的真正区别
ArrayList集合实现RandomAccess接口有何作用?为何LinkedList集合却没实现这接口?
ArrayList的扩容机制
数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?
HashMap底层实现原理(JDK1.8)源码分析
HashMap put函数执行流程
HashMap 的 get 方法的执行过程?
HashMap resize方法
HashMap的长度为什么要是2的n次方
HashMap的死循环
hashmap判断是否存在key时,使用get(key)==null判断还是containsKey?
HashMap和Hashtable的区别
HashMap与ConcurrentHashMap的区别
Hashtable和ConcurrentHashMap的区别
ConcurrentHashMap实现原理及源码分析
HashSet的实现原理
HashSet类是如何实现添加元素保证不重复的
JDK1.8 LinkedHashMap的实现原理
Iterator怎么使用?有什么特点?
Iterator 和 ListIterator 有什么区别?
Enumeration接口和Iterator接口的区别
快速失败(fail-fast)和安全失败(fail-safe)的区别
Collection和Collections有什么区别
常见集合总结
集合面试题
Java多线程
java中守护线程和本地线程有什么区别
进程与线程的一个简单解释
多线程上下文切换
死锁与活锁的区别,死锁与饥饿的区别
Java中的线程调度算法?
什么是线程组,为什么不推荐使用?
为什么使用Executor框架?
Executor、ExecutorService、Executors的区别
什么是原子操作,都有哪些原子类?
什么是阻塞队列,阻塞队列的实现原理是什么?
使用阻塞队列实现生产-消费模式
Future和Callable的使用总结
什么是FutureTask?
并发容器的实现
多线程同步和互斥有几种实现
start()方法时会执行run()方法区别?
怎样唤醒一个阻塞的线程?
如何停止一个正在运行的线程?
notify()和notifyAll()有什么区别?
什么是Daemon线程?
可重入锁ReentrantLock的实现原理
什么叫线程安全,servlet是线程安全吗?
为什么代码会重排序?
wait和sleep方法有什么不同?
interrupted和isInterrupted方法的区别?
并发知识点总结
Synchronized原理讲解
AQS原理讲解
线程池常见问题
多线程的内存模型
并发面试题
《深入理解Java虚拟机》
(一)Java代码是怎么运行的
(二)Java基本数据类型
(三)编译
(四)打包
(五).class文件结构
(六)JVM类加载步骤
(七)JVM类加载器
(八)JVM内存模型
(九)对象的创建和访问
(十)内存分配与回收
(十一)GC算法与使用场景
Java虚拟机-JVM
volatile内存屏障实现原理
Java虚拟机总结
JVM性能调优工具
JVM高频面试题
JVM常见面试题
jvm主要组成部分及其作用
JVM主要组成部分及其作用
JVM运行时数据区
一文读懂堆与栈的区别
Spring全家桶
spring知识点总结
Spring MVC知识点总结
Spring Boot获取bean的三种方式
Spring Boot自动配置原理
Spring Boot总结
Spring Cloud微服务实战
Spring面试题大全
Spring高频面试题
Spring Boot面试题
Mybatis知识点总结
数据库-MySQL
MySQL基础
字符集详解
数据库时间用什么类型存
count(*/1/id/某个字段) 的区别
如何避免出现SQL注入漏洞
一条sql语句在mysql中如何执行的?
MySQL数据库索引总结
事务隔离级别(图文详解)
深入了解事务和锁
MySQL执行计划
binlog、redo log和undo log详解
InnoDB REDO LOG
InnoDB UNDO LOG
redo log是什么
MySQL日志15连问
MVCC的实现原理
MySQL高频面试题
MySQL面试题大全
慢 SQL 分析与优化
服务器-Nginx
NGINX的高性能原理
网络编程-Netty
《netty实战》
Netty实战笔记
Java IO演进之路
RPC框架-Dubbo
为什么要用Dubbo
SPI机制
整体架构设计有哪些分层
集群容错有哪些
如何优雅停机
负载均衡方式有哪些
手写RPC框架
Dubbo常见面试题
消息中间件-RocketMQ
延迟消息的实现原理
消息中间件-Kafka
图解 Kafka
消息中间件-其他MQ
RabbitMQ核心知识总结
如何设计高性能、高可用的消息队列
消息队列背后的设计思想
消息队列必问问题
缓存-Redis
Redis入门指南总结
Redis实践及思考
Redis的持久化
Redis持久化
Redis实现限流的三种方式
缓存与数据库一致性保证
MySQL和Redis的数据一致性
Redis常见面试题
Redis面试题汇总
搜索-ElasticSearch
大数据- Flink
分布式相关
分布式事务七种解决方案
限流的原理
ZooKeeper源码和实践
Zookeeper高频面试题
计算机-网络
TCP 为什么三次握手而不是两次握手
TCP为什么是三次握手和四次挥手
TCP和UDP总结(区别、优缺点、应用场景)
HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
Get和Post请求区别和使用场景
http常见的状态码有哪些?适用场景?
Http 状态码301和302的区别
计算机-操作系统
相关书籍推荐
Java后端面试题大全
Owner:
一碗白米饭
|
简介:打造全网最新、最全的Java后端面试题
简介:打造全网最新、最全的Java后端面试题
点击这里贡献知识库文章
提交评论