Java基础
题目范围:第 1-79 题,共 79 道题目
核心考点:面向对象 · 反射机制 · 泛型 · 异常处理 · String内存 · 序列化 · 动态代理 · Lambda表达式
💡 提示: 使用左侧导航栏浏览本分类下的所有题目,或使用页面顶部的搜索功能快速查找。
Table of contents
- 面向对象有哪些特征?
- 如何理解Java中的多态?
- 接口和抽象类的区别,如何选择?
- 接口能继承接口吗?抽象类能实现接口吗?抽象类能继承具体类吗?
- 为什么建议多用组合少用继承?
- 简述面向对象的六大原则与一条法则
- Java是值传递还是引用传递?
- 什么是深拷贝和浅拷贝?
- 如何实现对象克隆?
- 什么是反射机制?为什么反射慢?
- 反射中 Class.forName 与 ClassLoader 有何区别?
- int 和 Integer 有何区别?Integer 缓存如何实现?
- 两个 Integer 对象比较时,为什么 100 等于 100 而 1000 不等于 1000?
- 能否将 int 强制转换为 byte?若超出 byte 范围会怎样?
- 语句 float f = 3.4; 是否正确?
- char 类型变量能否存储中文汉字?为什么?
- & 与 && 有何区别?
- 如何以最高效率计算 2 乘以 8?
- 除了对 2 取余,如何快速判断一个数的奇偶性?
- Object 中定义了哪些方法?
- equals 与 == 有何区别?
- 有了equals为什么还需要hashCode方法
- 两个对象的 hashCode 相同,equals 是否一定为 true?
- 两个不相等的对象是否可能拥有相同的 hashCode?
- Comparator 与 Comparable 有何区别?
- String、StringBuilder和StringBuffer的区别?
- String为什么设计成不可变的?
- String是如何实现不可变的?
- String有长度限制吗?是多少?
- String中intern的原理是什么?
- 为什么JDK9中把String的char[]改成了byte[]?
- JDK9中对字符串的拼接做了什么优化?
- 字符串常量是什么时候进入到字符串常量池的?
- 如何将字符串反转?
- 数组是否有 length() 方法?String 是否有 length() 方法?
- BigDecimal(double)和BigDecimal(String)有什么区别
- 为什么不能用BigDecimal的equals方法做等值比较
- 为什么不能用浮点数表示金额
- final、finally、finalize 有何区别?
- public、private、protected 以及 default 访问修饰符有何区别?
- 可以在 static 环境中访问非 static 变量吗?
- 能否在 static 方法内部调用非 static 方法?
- 静态内部类与非静态内部类有何区别?
- 什么是匿名内部类?如何访问其外部定义的变量?
- this 和 super 关键字的作用是什么?
- 构造器可以被重写吗?
- 重载与重写的区别是什么?
- 描述类的实例化顺序(父类静态成员、构造函数、子类静态成员、构造函数)
- 自定义注解有哪些场景?如何实现?
- Error 与 Exception 有何区别?CheckedException 与 RuntimeException 有何差异?
- 什么是受检异常与非受检异常?
- 所有异常的共同祖先是什么?常见的运行时异常有哪些?
- 请列出 5 个常见的运行时异常
- try-catch-finally-return 的执行顺序是什么?
- break 与 continue 有何区别?
- switch 能作用于 byte、long、String 吗?
- for-each 与常规 for 循环的效率如何对比?
- 什么是泛型?有什么好处?
- 什么是类型擦除
- 泛型中K、T、V、E、Object等分别代表什么含义
- 泛型中上下界限定符extends和super有什么区别
- 什么是序列化与反序列化
- Java序列化的原理是什么
- 你知道fastjson的反序列化漏洞吗
- serialVersionUID有何用途?如果没定义会有什么问题?
- 什么是AIO、BIO和NIO?
- Lambda表达式是如何实现的
- Stream的并行流一定比串行流更快吗
- Arrays.sort使用什么排序算法实现的
- SimpleDateFormat是线程安全的吗?使用时应该注意什么
- JDK6、JDK7、JDK8 分别提供了哪些新特性?
- 什么是代理?为什么要使用动态代理?
- 动态代理有哪些实现方式?各自的优缺点是什么?
- JDK 动态代理与 CGLIB 的实现有何区别?
- 在 DCL 单例写法中为什么要做两次检查?
- 单例对象在什么情况下可能被破坏?
- 抽象工厂模式与工厂方法模式有何区别?