摘要: 产生死锁需要同时满足四个必要条件: 1 互斥条件(Mutual Exclusion): 资源不能被多个进程共享,即资源一次只能被一个进程使用。 如果一个资源已经被分配给了一个进程,其他进程必须等待,直到该资源被释放。 2 持有并等待条件(Hold and Wait): 一个进程已经持有了至少一个资源 阅读全文
posted @ 2025-04-25 14:38 kuki' 阅读(56) 评论(0) 推荐(0)
摘要: G1 在 JDK 1.7 时引入,在 JDK 9 时取代 CMS 成为默认的垃圾收集器。 G1 把 Java 堆划分为多个大小相等的独立区域Region,每个区域都可以扮演新生代或老年代的角色。 同时,G1 还有一个专门为大对象设计的 Region,叫 Humongous 区。 这种区域化管理使得 阅读全文
posted @ 2025-04-25 13:51 kuki' 阅读(27) 评论(0) 推荐(0)
摘要: JVM 的垃圾收集器主要分为两大类:分代收集器和分区收集器, 分代收集器的代表是 CMS, 分区收集器的代表是 G1 和 ZGC。 CMS CMS 是第一个关注 GC 停顿时间的垃圾收集器,JDK 1.5 时引入,JDK9 被标记弃用,JDK14 被移除。 G1 G1 在 JDK 1.7 时引入,在 阅读全文
posted @ 2025-04-25 13:42 kuki' 阅读(38) 评论(0) 推荐(0)
摘要: 进程是一个正在执行的程序实例。每个进程都有自己独立的 地址空间、全局变量、堆栈、和文件描述符等资源。 线程是进程中的一个执行单元。一个进程可以包含多个线程, 它们共享进程的地址空间和资源。 每个进程在独立的地址空间中运行,不会直接影响其他进程。 线程共享同一个进程的内存空间、全局变量和文件描述符。 阅读全文
posted @ 2025-04-25 12:23 kuki' 阅读(18) 评论(0) 推荐(0)