
JAVA
文章平均质量分 83
JAVA各种笔记
沐七小殿下
比上不足,比下还不足
展开
-
【JAVA面经】9.类的生命周期与JVM类加载器
Java 提供类,允许开发者实现自定义类加载器,常用于特殊的加载机制,如模块化加载或热部署。原创 2024-09-22 11:48:46 · 558 阅读 · 0 评论 -
【JAVA-面经】8.Java 中的 volatile 关键字详解
volatile是 Java 中非常有用的关键字,通过保障可见性和禁止指令重排序,解决了多线程中共享变量的可见性问题。在一些特定的应用场景中,volatile可以替代锁,减少性能损耗。但它并不能保证复合操作的原子性,也不能同步多个变量,因此在复杂的并发场景中,仍需要使用或Lock等机制。原创 2024-09-19 23:04:19 · 1258 阅读 · 0 评论 -
【JAVA-面经】7.Synchronized 锁的升级过程
锁的升级机制是 Java 虚拟机优化性能的一部分,从无锁状态到偏向锁、轻量级锁再到重量级锁的过程,都是为了在不同的线程竞争条件下提供最佳的同步性能。通过理解这些机制,我们可以更好地利用关键字,编写高效且线程安全的 Java 代码。原创 2024-09-19 18:56:33 · 515 阅读 · 0 评论 -
【JAVA-面经】1.创建线程的4种方式
Java 中创建线程的几种方式都是基于。原创 2024-09-18 20:59:41 · 477 阅读 · 0 评论 -
【JAVA-面经】6.公平锁和非公平锁
在 Java 并发编程中,锁是用于控制多个线程对共享资源访问的机制。和。它们的主要区别在于线程获取锁的顺序和方式。下面详细介绍这两种锁的概念、实现和优缺点。原创 2024-09-19 10:16:16 · 700 阅读 · 0 评论 -
【JAVA-面经】3.线程池中有哪几种状态,分别表示什么?
在 Java 的线程池()中,线程池的状态是通过一个int类型的变量来表示的,它记录了线程池的和。原创 2024-09-18 21:18:23 · 360 阅读 · 0 评论 -
【JAVA-面经】4.Synchronized 和 ReentrantLock的区别
特性锁的获取与释放隐式显式公平锁不支持支持公平与非公平两种模式中断响应不支持支持尝试获取锁不支持支持tryLock()多条件变量不支持支持多个Condition性能JVM 优化后性能较好提供更多功能和更灵活的控制使用场景适用于简单的同步场景适用于复杂的并发控制场景适合简单的同步需求,因为它的使用更为简洁且可以自动处理锁的释放。则提供了更强的控制能力,适合需要高级功能(如公平锁、中断、多个条件变量)的场景。原创 2024-09-18 21:33:29 · 1047 阅读 · 0 评论 -
【JAVA-面经】2.为什么不建议使用 Execuators 来创建线程池
Executors提供的方法虽然方便,但其默认的线程池配置容易在高并发和长期任务中引发资源耗尽等问题。为了更好的线程池控制、资源管理和避免潜在的隐患,建议直接使用并明确指定线程池参数。原创 2024-09-18 21:07:57 · 458 阅读 · 0 评论 -
【JAVA-面经】5.ThreadLocal的应用场景、底层实现及常见问题
是 Java 提供的一种线程局部变量,它为每个使用该变量的线程提供独立的副本。也就是说,一个线程对变量的操作只作用于当前线程的局部变量,不会影响其他线程。原创 2024-09-19 09:58:39 · 929 阅读 · 0 评论