1. Java基础学习笔记


1.1. 简介

该学习笔记包含 Java 中常见的基础知识。


1.2. 常见面试题目

Java 和 C++ 主要区别及优缺点

如何理解面向对象和面向过程

为什么 Java 不支持多继承

接口和抽象类的区别,如何选择

如何理解 Java 中的多态

Java 中有了基本类型为什么还需要包装类

为什么不能用浮点数表示金额

为什么不能用 BigDecimal 的 equals 方法做等值比较

BigDecimal(double) 和 BigDecimal(String) 区别

为什么对 Java 中的负数取绝对值结果不一定是正数

String、StringBuilder 和 StringBuffer 的区别

String 为什么设计成不可变的

String str = new String("abc") 创建了几个对象

String a = "ab"; String b = "a" + "b"; a==b 吗

String 有长度限制吗,是多少

RPC 接口返回中,使用基本类型还是包装类

常见的字符编码有哪些,有什么区别

常见的语法糖

Lambda 表达式是如何实现的

什么是泛型,有什么好处

什么是类型擦除

泛型中 E、T、K、V、N 等分别代表什么含义

泛型中上下界限定符 extends 和 super 有什么区别

什么是 SPI,和 API 的区别

什么是反射机制,为什么反射慢

Java 中创建对象有哪些方式

Java 的动态代理如何实现

Java 注解的作用

什么是序列化反序列化

Java 序列化原理

serialVersionUID 有何用途,没定义会有什么问题

fastjson 的反序列化漏洞

Java中异常分哪两类,有什么区别

异常注意事项

finally中代码一定会执行吗

Java 中的枚举有什么特点和好处

什么是 AIO、BIO 和 NIO

Java 是值传递还是引用传递

什么是深拷贝和浅拷贝

SimpleDateFormat是线程安全的吗?使用时应该注意什么?

现在 JDK 的最新版本是什么,新版本的新特性有哪些

什么是 UUID,能保证唯一吗

char能存储中文吗

while(true) 和 for(;;) 哪个性能好

ClassNotFoundException 和 NoClassDefFoundError 的区别

为什么 JDK9 中把 String 的 char[] 改成 byte[]

Arrays.sort 是使用什么排序算法实现的

String 是如何实现不可变的

字符串常量是什么时候进入到字符串常量池的

String 中 intern 的原理是什么

Java 中 Timer 实现定时调度的原理是什么

为什么建议多用组合少用继承

try 中 return A,catch 中 return B,finally 中 return C,最终返回值是什么

final、finally、finalize 有什么区别

为什么建议自定义一个无参构造函数

为什么不建议使用异常控制业务流程

为什么Java 中的 main 方法必须是 public static void 的

Java 中的 static 都能用来修饰什么

有了 equals 为啥需要 hashCode 方法

BigDecimal 和 Long 表示金额哪个更合适,怎么选择

怎么修改一个类中的 private 修饰的 String 参数的值

Stream 的并行流一定比串行流更快吗

JDK 9 中对字符串的拼接做了什么优化

反射与封装是否矛盾?如何解决破坏封装不安全的问题

results matching ""

    No results matching ""