- 一、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请求之间的区别?
- 三、框架
- 四、分布式
一个类多态 方法重载、构造函数 一个类里:方法名字相同、参数必须不同 必须有一个独一无二的参数类型列表 同一个类里面多个方法名相同但他们参数的数量不同或数量相同而类型和次序不同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
四、分布式


