Java面试精选八股文合集(题目+答案) 一

Java面试精选八股文合集(题目+答案) 一

Java基础

题目答案-点击查看

  • 1. Java 中的几种基本数据类型是什么?对应的包装类型是什么?各自占用多少字节呢?
  • 2. String、StringBuffer 和 StringBuilder的区别是什么?String为什么是不可变的?
  • 3. String s1 = new String(“abc”); 这段代码创建了几个字符串对象?
  • 4. == 与 equals?hashCode 与 equals ?
  • 5. 包装类型的缓存机制了解么?
  • 6. 自动装箱与拆箱了解吗?原理是什么?
  • 7. 深拷贝和浅拷贝区别了解吗?什么是引用拷贝?
  • 8. 谈谈对 Java 注解的理解,解决了什么问题?
  • 9. Exception 和 Error 有什么区别?
  • 10. Java 反射?反射有什么缺点?你是怎么理解反射的(为什么框架需要反射)?
  • 11. Java 泛型了解么?什么是类型擦除?介绍一下常用的通配符?
  • 12. 内部类了解吗?匿名内部类了解吗?
  • 13. BIO,NIO,AIO 有什么区别?

Java集合

题目答案-点击查看

  • 1. 说说 List,Set,Map 三者的区别?三者底层的数据结构?
  • 2. 有哪些集合是线程不安全的?怎么解决呢?
  • 3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同?
  • 4. HashMap 和 Hashtable 的区别?HashMap 和 HashSet 区别? HashMap 和 TreeMap 区别?
  • 5. HashMap 的底层实现?
  • 6. HashMap 的长度为什么是 2 的幂次方?
  • 7. ConcurrentHashMap 和 Hashtable 的区别?
  • 8. ConcurrentHashMap 线程安全的具体实现方式/底层具体实现?

Java多线程(上)

题目答案-点击查看

  • 1. 什么是线程和进程? 线程与进程的关系和区别?
  • 2. 为什么要使用多线程?
  • 3. 什么是线程上下文切换?
  • 4. 什么是线程死锁?如何避免死锁?
  • 5. 乐观锁和悲观锁了解么?如何实现乐观锁?
  • 6. 说说 sleep() 方法和 wait() 方法区别和共同点?
  • 7. 讲一下 JMM(Java 内存模型) ?
  • 8. Java 内存区域和 JMM 有何区别?
  • 9. Java中如何创建线程?
  • 10. 实现Runnable接口和实现Callable接口的区别?

Java多线程(下)

题目答案-点击查看

  • 1. synchronized 关键字的作用?
  • 2. volatile 关键字的作用?
  • 3. synchronized 和 volatile 的区别?
  • 4. synchronized 和 ReentrantLock 的区别?
  • 5. ThreadLocal有什么用?
  • 6. 线程池有什么用?为什么不推荐使用内置线程池?
  • 7. 如何自定义线程池?
  • 8. Java线程池有哪些参数?阻塞队列有几种?拒绝策略有几种?
  • 9. 线程池处理任务的流程了解吗?
  • 10. 如何给线程池命名?为什么建议给线程池命名?

JVM(上)

题目答案-点击查看

  • 1. JVM由哪几部分组成?
  • 2. 运行时数据区中包含哪些区域?
  • 3. 栈和堆中分别存放什么数据?
  • 4. 为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) ?
  • 5. 堆空间的基本结构了解吗?什么情况下对象会进入老年代?
  • 6. 大对象放在哪个内存区域?
  • 7. Java对象的创建过程?

JVM(下)

题目答案-点击查看

  • 1. 为什么需要GC?
  • 2. 有哪些常见的GC?
  • 3. Minor GC 和 Full GC有什么区别?
  • 4. 如何判断一个对象是否死亡?
  • 5. 讲一下可达性分析算法的流程?
  • 6. 如何判断一个常量是废弃常量? 如何判断一个类是无用的类?
  • 7. 垃圾收集有哪些算法,各自的特点?
  • 8. 默认的垃圾回收器是哪一个?
  • 9. 说一下G1垃圾收集器的步骤,有什么缺点?
  • 10. 什么是类加载?何时类加载?类加载流程?
  • 11. 知道哪些类加载器?类加载器之间的关系?

Spring

题目答案-点击查看

  • 1. 简单介绍一下Spring?
  • 2. Spring的核心模块有哪些?
  • 3. 什么是Spring IoC ?
  • 4. 什么是依赖注入?有哪几种方式可以进行依赖注入?
  • 5. 什么是Spring AOP ?
  • 6. 什么是Spring Bean ? 说一下Bean的生命周期?
  • 7. Spring中Bean的作用域有哪些?
  • 8. 什么是Spring中的代理(Proxy)?JDK动态代理和CGLIB代理有什么区别?
  • 9. Spring是怎么解决循环依赖的?
  • 10. 说一下你对Spring MVC的理解?Spring MVC的工作原理?
  • 11. Spring中是如何实现事务管理的?
  • 12. 拦截器和过滤器了解吗?

SpringBoot

题目答案-点击查看

  • 1. Spring 和 Spring Boot有什么区别?
  • 2. Spring Boot 的主要优点是什么?
  • 3. 什么是Spring Boot Starter?
  • 4. 介绍一下@SpringBootApplication注解?
  • 5. Spring Boot是如何实现自动配置的?
  • 6. Spring Boot中读取配置文件的方式有哪些?
  • 7. Spring Boot中加载配置文件的优先级是怎样的?
  • 8. 如何在Spring Boot中实现日志记录?

MyBatis

题目答案-点击查看

  • 1. 什么是MyBatis?它与Hibernate有什么区别?
  • 2. 说一下MyBatis的执行流程?
  • 3. MyBatis是否支持延迟加载?
  • 4. MyBatis中一级缓存和二级缓存的区别?
  • 5. MyBatis中的动态SQL是什么?
  • 6. 如何在MyBatis中实现分页?
  • 7. MyBatis如何实现大规模数据插入MySQL数据库中?
  • 8. MyBatis-Plus了解吗?

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值