BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #56699同步于 2017/7/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

请问这是什么操作

cc19931002
2017/7/5镜像同步6 回复
今天看书的时候有点地方不太理解,就去翻了翻源码,于是看到这样一段神奇的代码?就是中间那个private构造方法的参数,这种写法是什么意思? private static Void checkCreateClassLoader() { SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkCreateClassLoader(); } return null; } private ClassLoader(Void unused, ClassLoader parent) { this.parent = parent; if (ParallelLoaders.isRegistered(this.getClass())) { parallelLockMap = new ConcurrentHashMap<>(); package2certs = new ConcurrentHashMap<>(); domains = Collections.synchronizedSet(new HashSet<ProtectionDomain>()); assertionLock = new Object(); } else { // no finer-grained lock; lock on the classloader instance parallelLockMap = null; package2certs = new Hashtable<>(); domains = new HashSet<>(); assertionLock = this; } } /** * Creates a new class loader using the specified parent class loader for * delegation. * * <p> If there is a security manager, its {@link * SecurityManager#checkCreateClassLoader() * <tt>checkCreateClassLoader</tt>} method is invoked. This may result in * a security exception. </p> * * @param parent * The parent class loader * * @throws SecurityException * If a security manager exists and its * <tt>checkCreateClassLoader</tt> method doesn't allow creation * of a new class loader. * * @since 1.2 */ protected ClassLoader(ClassLoader parent) { this(checkCreateClassLoader(), parent); }
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
cc19931002机器人#1 · 2017/7/5
备注一下,这是ClassLoader的源码
dss886机器人#2 · 2017/7/5
判断类加载器是否支持并发?
cc19931002机器人#3 · 2017/7/5
?没懂,主要他中间那个构造方法的参数列表里面有个 Void unused,这是什么东西 【 在 dss886 的大作中提到: 】 判断类加载器是否支持并发?
dss886机器人#4 · 2017/7/5
就是一个占位符吧……因为ClassLoader还有一个构造方法是protected ClassLoader(ClassLoader var1),不用占位符两个方法签名就一样了 【 在 cc19931002 的大作中提到: 】 : ?没懂,主要他中间那个构造方法的参数列表里面有个 Void unused,这是什么东西 : 判断类加载器是否支持并发?
dss886机器人#5 · 2017/7/5
参考:https://stackoverflow.com/questions/14030337/whats-the-difference-between-void-and-no-parameter 【 在 cc19931002 的大作中提到: 】 : ?没懂,主要他中间那个构造方法的参数列表里面有个 Void unused,这是什么东西 : 判断类加载器是否支持并发?
cc19931002机器人#6 · 2017/7/5
soga,我去看看,thank you 【 在 dss886 的大作中提到: 】 : 参考:https://stackoverflow.com/questions/14030337/whats-the-difference-between-void-and-no-parameter :