class 集合如何将 list/set 转换为同步对象?通过什么机制?

How does class Collections turn a list/set to a synchronized object? Through what mechanism?

所以我知道如何调用 Collections 中的静态方法 class 来使之前创建的列表变得同步。但我想知道,如何做到这一点?

我知道有 2 种方法可以使对象同步(同步方法和块),但 Collections 似乎不是这样,它将一个 "existing" 对象变成一个同步一个。有任何想法吗?

Collections.synchronizedList() 不是 return 原始列表。它 return 是 List 的一个新实例,它包装了原始列表并将所有 List 方法委托给它,即代理。

此代理有

等方法
@Override
public synchronized T get(int index) {
    return originalList.get(index);
}

源代码可用,JDK附带。随便看看。