我正在学习ClassLoaderJava,然后我想知道,为什么JVM有很多类加载器,为什么不只有一个?首先加载<Java_Runtime_Home>/lib,然后加载<Java_Runtime_Home>/lib/ext,最后加载classpath.
如果你有自定义类加载器,那么系统是第一个.
有人可以告诉我为什么JVM有很多类加载器?
这是Long中反向的实现:
public static long reverse(long i) {
// HD, Figure 7-1
i = (i & 0x5555555555555555L) << 1 | (i >>> 1) & 0x5555555555555555L;//1
i = (i & 0x3333333333333333L) << 2 | (i >>> 2) & 0x3333333333333333L;//2
i = (i & 0x0f0f0f0f0f0f0f0fL) << 4 | (i >>> 4) & 0x0f0f0f0f0f0f0f0fL;//3
i = (i & 0x00ff00ff00ff00ffL) << 8 | (i >>> 8) & 0x00ff00ff00ff00ffL;//4
i = (i << 48) | ((i & 0xffff0000L) << 16) |
((i >>> 16) & 0xffff0000L) …Run Code Online (Sandbox Code Playgroud) 这是在long中实现rotateLeft:
public static long rotateLeft(long i, int distance) {
return (i << distance) | (i >>> -distance);
}
Run Code Online (Sandbox Code Playgroud)
但是,我无法理解(i >>> -distance)是如何工作的!有人可以告诉我怎么样!谢谢.