栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java面试大全详细八股文(2022)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java面试大全详细八股文(2022)

Java系列
  • 一、Java
    • (一)Java基础
      • 1、重载与重写:方法
        • 1. 本类方法重载(Overload):参变名不变、多方法
        • 2. 父子类方法重写(Override):魂变形不变
      • 2、字符类:修改
        • 1. String常量:
        • 2. StringBuffer变量:(线程安全)慢、多线程
        • 3. StringBuilder 变量:(非线程安全)快、单线程
      • 3、自动装箱与拆箱:类型转换
        • 1.装箱:基本数据类型转为包装类型
        • 2.拆箱:包装类型转为基本数据类型
      • 4、== 与 equals
        • 1.运算符:==数据
        • 2.Object方法:equals对象
      • 5、final 关键字
      • Object类的常见方法
      • Java 中的异常处理
      • 获取用键盘输入常用的的两种方法
      • 接口和抽象类的区别是什么
    • (二)集合类:
      • Arraylist 与 LinkedList 异同
      • ArrayList 与 Vector 区别
      • HashMap的底层实现
      • HashMap 和 Hashtable 的区别
      • HashMap 的长度为什么是2的幂次方
      • HashMap 多线程操作导致死循环问题
      • HashSet 和 HashMap 区别
      • ConcurrentHashMap 和 Hashtable 的区别
      • ConcurrentHashMap线程安全的具体实现方式/底层具体实现
    • (三)线程与并发
      • AQS 原理
      • AQS 对资源的共享方式
      • AQS底层使用了模板方法模式
      • 说一说自己对于 synchronized 关键字的了解
      • 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗
      • 讲一下 synchronized 关键字的底层原理
      • 说说 JDK1.6 之后的synchronized 关键字底层做了哪些优化,可以详细介绍一下这些优化吗
      • 谈谈 synchronized和ReenTrantLock 的区别
      • 说说 synchronized 关键字和 volatile 关键字的区别
      • 为什么要用线程池?
      • 实现Runnable接口和Callable接口的区别
      • 执行execute()方法和submit()方法的区别是什么呢?
      • 如何创建线程池
      • 介绍一下Atomic 原子类
      • JUC 包中的原子类是哪4类?
      • 讲讲 AtomicInteger 的使用
      • 能不能给我简单介绍一下 AtomicInteger 类的原理
  • 二、JVM虚拟机
  • 二、服务器
    • Tomcat,Apache,JBoss区别
    • 协议:GET,POST请求之间的区别?
  • 三、框架
  • 四、分布式

一、Java (一)Java基础 1、重载与重写:方法 1. 本类方法重载(Overload):参变名不变、多方法
一个类多态
方法重载、构造函数
一个类里:方法名字相同、参数必须不同
必须有一个独一无二的参数类型列表
同一个类里面多个方法名相同但他们参数的数量不同或数量相同而类型和次序不同
2. 父子类方法重写(Override):魂变形不变
子类与父类的一种多态性表现
外壳不变、核心重写
完全相同:返回值类型、方法名、参数个数、参数类型
子类对父类的允许访问的方法的实现过程进行重新编写
不变:返回值、形参
类:继承、实现
声明为 final 的方法不能被重写
声明为 static 的方法不能被重写、但是能够被再次声明
构造方法不能被重写
不能继承一个类、则不能重写该类的方法
2、字符类:修改 1. String常量:
final类(常量/不被继承)
字符串常量一旦声明则不可改变
字符串对象可以改变
不方便频繁修改
字符串操作:地址发生改变
String类通过apend()方法转换成StringBuilder和StringBuffer类
CharSequence接口的子类
可以空赋值
2. StringBuffer变量:(线程安全)慢、多线程
方便频繁修改
字符串变量:内存地址不发生变化
StringBuffer类和StringBuilder类通过to.String()方法转换成String类型
CharSequence接口的子类
多线程操作字符串  
对象能够被多次的修改、并且不产生新的未使用对象
不可空赋值
多线程操作字符串缓冲区下操作大量数据
3. StringBuilder 变量:(非线程安全)快、单线程
方便频繁修改
字符串变量:内存地址不发生变化
StringBuffer类和StringBuilder类通过to.String()方法转换成String类型
CharSequence接口的子类
单线程操作字符串
对象能够被多次的修改、并且不产生新的未使用对象
不可空赋值
单线程操作字符串缓冲区下操作大量数据
3、自动装箱与拆箱:类型转换 1.装箱:基本数据类型转为包装类型
装箱过程:调用包装器的valueOf(value)方法实现
2.拆箱:包装类型转为基本数据类型
拆箱过程:调用包装器的 xxxValue()方法实现
4、== 与 equals 1.运算符:==数据
基本数据类型:比较存储的值——值
引用数据类型:比较所指向对象的地址值——内存地址
2.Object方法:equals对象
比较两个对象的内容是否相等
不能用于比较基本数据类型
比较:所指向的对象的地址值
重写之后比较的是对象的值
5、final 关键字
类:
类变量(静态属性)
方法:
局部变量(本地变量):
成员变量(实例变量、属性):
Object类的常见方法 Java 中的异常处理 获取用键盘输入常用的的两种方法 接口和抽象类的区别是什么 (二)集合类: Arraylist 与 LinkedList 异同 ArrayList 与 Vector 区别 HashMap的底层实现 HashMap 和 Hashtable 的区别 HashMap 的长度为什么是2的幂次方 HashMap 多线程操作导致死循环问题 HashSet 和 HashMap 区别 ConcurrentHashMap 和 Hashtable 的区别 ConcurrentHashMap线程安全的具体实现方式/底层具体实现 (三)线程与并发
线程池
多线程
多线程状态图、死锁、活锁、Synchronized、高并发场景问题
AQS 原理 AQS 对资源的共享方式 AQS底层使用了模板方法模式 说一说自己对于 synchronized 关键字的了解 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗 讲一下 synchronized 关键字的底层原理 说说 JDK1.6 之后的synchronized 关键字底层做了哪些优化,可以详细介绍一下这些优化吗 谈谈 synchronized和ReenTrantLock 的区别 说说 synchronized 关键字和 volatile 关键字的区别 为什么要用线程池? 实现Runnable接口和Callable接口的区别 执行execute()方法和submit()方法的区别是什么呢? 如何创建线程池 介绍一下Atomic 原子类 JUC 包中的原子类是哪4类? 讲讲 AtomicInteger 的使用 能不能给我简单介绍一下 AtomicInteger 类的原理 二、JVM虚拟机 二、服务器 Tomcat,Apache,JBoss区别 协议:GET,POST请求之间的区别? 三、框架

Spring

四、分布式
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/879985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号