Java面试知识点总结:JVM、IO、多线程、并发、锁等

需积分: 5 0 下载量 52 浏览量 更新于2024-06-26 收藏 8.93MB DOCX 举报
Java面试和兴知识点整理 以下是Java面试和兴知识点整理的详细知识点: **JVM** * JVM是可运行Java代码的假想计算机,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收、堆和一个存储方法域。 * JVM是运行在操作系统之上的,它与硬件没有直接的交互。 **JVM内存区域** * 程序计数器(线程私有):记录当前执行的字节码指令的地址。 * 虚拟机栈(线程私有):存储局部变量、方法参数和返回值等信息。 * 本地方法区(线程私有):存储native方法的信息。 * 堆(Heap-线程共享):存储对象实例,包括数组和对象。 * 方法区/永久代(线程共享):存储类信息、常量、静态变量和方法等信息。 **JVM运行时内存** * 新生代:存储短期对象,包括 Eden 区、ServivorFrom 区和 ServivorTo 区。 * 老年代:存储长期对象,包括永久代。 * MinorGC 的过程:复制 -> 清空 -> 互换。 **垃圾回收与算法** * 如何确定垃圾:引用计数法、可达性分析。 * 垃圾回收算法:标记清除算法、复制算法、标记整理算法。 * 分代收集算法:新生代使用复制算法、老年代使用标记整理算法。 * GC垃圾收集器:Serial 垃圾收集器、ParNew 垃圾收集器、ParallelScavenge 收集器、SerialOld 收集器、ParallelOld 收集器、CMS 收集器。 **JAVA四中引用类型** * 强引用:不回收的引用。 * 软引用:在垃圾回收时,软引用会被回收。 * 弱引用:在垃圾回收时,弱引用会被回收。 * 虚引用:在垃圾回收时,虚引用不会被回收。 **IO** * IO 操作:输入/输出操作。 * IO 类型:字节流、字符流。 **多线程** * 多线程概念:多个线程同时执行的过程。 * 多线程实现:Thread 类、Runnable 接口。 * 多线程同步:锁机制、wait/notify 机制。 **并发** * 并发概念:多个线程同时执行的过程。 * 并发实现:Thread 类、Runnable 接口。 * 并发同步:锁机制、wait/notify 机制。 **锁** * 锁概念:锁机制用于同步多线程的访问。 * 锁类型:悲观锁、乐观锁。 * 锁实现:synchronized 关键字、Lock 接口。 本文档详细介绍了Java面试和兴知识点,包括JVM、垃圾回收、IO、多线程、并发和锁等内容,希望对大家有帮助。