Java 面试经常考什么?OOP、集合、多线程必考,多线程里的虚拟线程更是热门!
今天这篇文章猫头虎帮你梳理:
备考从基础到进阶,助你 Java 面试更进一步!
封装
public class Person {
private String name; // 私有属性
public String getName() { return name; } // 提供公共方法
public void setName(String name) { this.name = name; }
}
继承
多态
public class Animal {
public void sound() { System.out.println("Animal makes a sound"); }
}
public class Dog extends Animal {
@Override
public void sound() { System.out.println("Dog barks"); }
}
抽象
public abstract class Shape {
abstract void draw();
}
集合类型 | 关键特性 | 适用场景 |
---|---|---|
ArrayList | 动态数组,随机访问性能高 | 需要频繁读写操作的场景 |
LinkedList | 链表结构,插入和删除快 | 数据量大且需频繁插入删除的场景 |
HashMap | 基于哈希表,快速查找 | 需要高效键值对存储和查找的场景 |
TreeMap | 基于红黑树,键有序 | 需要对键进行排序的场景 |
特性 | 传统线程 | 虚拟线程 |
---|---|---|
内存占用 | 高 | 低 |
线程创建速度 | 较慢 | 快 |
适用场景 | 计算密集型任务 | IO 密集型高并发任务 |
ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();
executor.submit(() -> System.out.println("Hello Virtual Thread"));
executor.shutdown();
未来趋势: Java 多线程与集合体系将持续优化,从 JDK 8 的 Lambda 表达式到 JDK 21 的虚拟线程,技术进步为开发者提供了更多选择。通过不断实践与学习,你将更自信地应对 Java 面试!