文章目录
JAVA基础
- 面向对象有哪些特征?
- JDK与JRE的区别是什么?
- Java有哪几种基本数据类型?
- == 和equals比较有什么区别?
- public,private,protected,默认的区别什么?
- short s1=1; s1+=1;有错吗? s1=s1+1; 有错吗?
- float f = 1.9; 有错吗?
- &和&&有什么区别?
- 2*8最有效率的计算方法是什么?
- 怎么理解值传递和引用传递?
- Java到底是值传递还是引用传递?
- 一个".java"源文件的类有什么限制?
- final关键字有哪些用法?
- final、finally、finalize有什么区别?
- void和Void有什么区别?
- 为什么byte的取值范围为-128~127?
- char类型可以存储中文汉字吗?
- 重载和重写有什么区别?
- 构造器可以被重写和重载吗?
- Java中的断言(assert)是什么?
- Error和Exception有哪些区别?
- Java中常见的异常有哪些?
- Java中常见的运行时异常有哪些?
- 运行时异常和受检异常有什么区别?
- 什么时候会发生空指针异常?
- 你知道有哪些避免空指针异常的方法?
- throw和throws有什么区别?
- try里面return,finally还会执行吗?
- int和Integer有什么区别?
- 什么是包装类型?有什么用?
- 什么是自动装箱和拆箱?
- 你怎么理解Java中的自动类型转换和强制类型转换?
- 你怎么理解Java中的类型提升?
- 你怎么理解强、软、弱、虚引用?
- switch是否能用在long上?
- switch case支持哪几种数据类型?
- String的底层实现是怎样的?
- String是可变的吗?为什么?
- 为什么不能用 + 拼接字符串?
- StringBuffer和StringBuilder有什么区别?
- StringJoiner有什么用?
- 普通类和抽象类有什么区别?
- 静态内部类和普通内部类有什么区别?
- 静态方法可以直接调用非静态方法吗?为什么?
- 静态变量和实力变量有什么区别?
- 内部类可以访问其外部类的成员吗?
- 接口和抽象类有什么区别?
- 接口里面可以写方法实现吗?
- Java中的UUID是什么?
- Java类初始化顺序是怎样的?
- hashCode有什么作用?
- hashCode和identityHashCode的区别?
- 什么是Hash冲突?
- Java常用的元注解有哪些?
- Java泛型中的T、R、K、V、E分别指什么?
- Java金额计算怎么避免精度丢失?
- Java语法糖是什么意思?
- transient关键字有什么作用?
- 如何实现对象克隆?
- 对象克隆浅拷贝和深拷贝有什么区别?
- Java反射机制有什么作用?
- Java反射机制有什么优缺点?
- 什么是宏变量和宏替换?
- 什么是逃逸分析?
- 什么是伪共享?有什么解决方案?
- Java 8新增了哪些特性?
- Java 8中的Lambda表达式有什么作用?
- Java 8中的Optional类有什么作用?
- Java 8中的@Repeatable注解有什么作用?
- Java 8中的方法引用是指什么?
- Java 8中的Stream有什么作用?
- Java 8中的函数式编程怎么用?
- 如何获取一个Stream流对象?
- 什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。
集合
- 说说常见的集合有哪些?
- Comparable和Comparator接口的区别?
- 集合使用泛型有什么优点?
- List、Set、Map之间的区别是什么?
- 为什么Map接口不继承Collection接口?
- 常用的线程安全的Map有哪些?
- HashMap和Hashtable有什么区别?
- HashMap和TreeMap怎么选?
- HashMap的数据结构是什么?
- HashMap在JDK 8中有哪些改变?
- HashMap是怎么解决Hash冲突的?
- HashMap是怎么扩容的?
- HashMap如何实现同步?
- 有没有可能2个不相等的对象有相同的hashcode。
- ConcurrentHashMap的数据结构是什么?
- ArrayList是线程安全的吗?
- 常用线程安全的List集合有哪些?
- 循环删除List集合可能会发生什么异常?
- ArrayList和LinkedList有什么区别?
- ArrayList和Vector有什么区别?
- 什么是CopyOnWriteArrayList?
- 什么是fail-safe?
- 什么是fail-fast?
- fail-fast和fail-safe有什么区别?
- HashSet的底层实现原理是什么?
- 怎么确保一个集合不能被修改?
JVM
- JVM是什么?
- JVM内存区域分类有哪些?
- 堆和栈的区别是什么?
- JVM那块内存区域不会发生内存溢出?
- 什么情况下会发生栈内存溢出?
- 对象都是在堆上分配的吗?
- 常用的JVM参数有哪些?
- 什么是类加载器?
- 类加载器的分类及作用?
- 什么是双亲委派模型?
- 为什么要打破双亲委派模型?
- 可以自定义一个java.lang.String吗