首页
友情链接
智能助手
智能助手
归档
瞬间
小程序&公众号
小程序
公众号
Login
Menu
首页
友情链接
智能助手
智能助手
归档
瞬间
小程序&公众号
小程序
公众号
青云博客
记录、分享
Archives
2024 / 04
synchronized的实现原理
2024-04-22
Java
#java
synchronized是Java语言中最基本的线程同步机制,它通过互斥锁来控制线程对共享变量的访问。 具体实现原理如下: synchronized的实现基础是对象内部的锁(也称为监视器锁或管程),每个锁关联着一个对象实例。 当synchronized作用于某个对象时,它就会尝试获取这个对象的锁,如
synchronized锁优化
2024-04-22
Java
#java
synchronized还有一种重要的优化方式,即锁的优化技术。在Java 6及以上版本中,JVM引入了偏向锁、轻量级锁和重量级锁的概念来提高锁的性能。这些优化方式的原理如下: 偏向锁:偏向锁是指当一个线程获取到锁之后,会在对象头中记录下该线程的标识,下次再进入同步块时,无需进行额外的加锁操作,从而
ThreadLocal有哪些应用场景
2024-04-22
Java
#java
ThreadLocal是Java中的一个类,它提供了一种在多线程环境下实现线程局部变量存储的机制。 它的应用场景包括线程池、Web开发中的请求上下文信息管理、数据库连接管理和日志记录等等。
讲讲你对CountDownLatch的理解
2024-04-22
Java
#java
CountDownLatch是Java中用于多线程协作的辅助类,它可以让一个或多个线程等待其他线程完成某个任务后再继续执行。 CountDownLatch通过一个计数器来实现,计数器的初始值可以设置为等待的线程数量。每个线程在完成任务后都会调用countDown()方法来减少计数器的值。当计数器的值
讲讲你对ThreadLocal的理解
2024-04-22
Java
#java
ThreadLocal是Java中的一个类,用于在多线程环境下实现线程局部变量存储。它提供了一种让每个线程都拥有独立变量副本的机制,从而避免了多线程之间相互干扰和竞争的问题。 在多线程编程中,共享变量的访问往往需要考虑线程安全性和数据隔离问题。ThreadLocal通过为每个线程创建独立的变量副本来
讲讲你对CyclicBarrier的理解
2024-04-22
Java
#java
CyclicBarrier是Java中的一个多线程协作工具,它可以让多个线程在一个屏障点等待,并在所有线程都到达后一起继续执行。与CountDownLatch不同,CyclicBarrier可以重复使用,并且可以指定屏障点后执行的额外动作。 CyclicBarrier的主要特点有三个。 首先,它可以
浅谈CopyOnWriteArrayList
2024-04-22
Java
#java
1.Copy-On-Write 是什么? Copy-On-Write它是一种在计算机科学中常见的优化技术,主要应用于需要频繁读取但很少修改的数据结构上。 简单的说就是在计算机中就是当你想要对一块内存进行修改时,我们不在原有内存块中进行写操作,而是将内存拷贝一份,在新的内存中进行写操作,写完之后呢,就
for-each与常规for循环的效率区别
2024-04-22
Java
#java
在Java中,for-each循环(也称为增强型for循环)和常规for循环有一些差异,包括它们在执行效率上的区别。下面是它们之间的一些比较: 执行效率:在大多数情况下,常规for循环的执行效率比for-each循环高。这是因为for-each循环需要额外的步骤来获取集合或数组中的元素,而常规for
如何实现对象克隆
2024-04-22
Java
#java
在Java中,实现对象的克隆有两种方式: 浅拷贝和深拷贝。 浅拷贝:通过创建一个新对象,并将原对象的非静态字段值复制给新对象实现。新对象和原对象共享引用数据。在Java中,可以使用clone()方法实现浅拷贝。要实现一个类的克隆操作,需要满足以下条件: 实现Cloneable接口。 重写Object
List操作的一些常见问题
2024-04-22
Java
#java
Previous
1 / 53
2 / 53
3 / 53
4 / 53
5 / 53
6 / 53
7 / 53
8 / 53
9 / 53
10 / 53
11 / 53
12 / 53
13 / 53
14 / 53
15 / 53
16 / 53
17 / 53
18 / 53
19 / 53
20 / 53
21 / 53
22 / 53
23 / 53
24 / 53
25 / 53
26 / 53
27 / 53
28 / 53
29 / 53
30 / 53
31 / 53
32 / 53
33 / 53
34 / 53
35 / 53
36 / 53
37 / 53
38 / 53
39 / 53
40 / 53
41 / 53
42 / 53
43 / 53
44 / 53
45 / 53
46 / 53
47 / 53
48 / 53
49 / 53
50 / 53
51 / 53
52 / 53
53 / 53
Next