URL ClassLoader 是 Java 用来加载远程类的类加载器。在 flink 中,启动时使用 -C 参数可以向集群中所有节点上的每个用户代码类加载器添加一个URL,这依靠的就是 URL ClassLoader 。ClassLoader 只能加载 classpath 下面的类,而 URL ClassLoader 可以加载任意路径下的类。它继承自 SecureClassLoader,SecureClassLoader 继承自 ClassLoader 。
URL ClassLoader 可以从下面三个方面加载类
- 文件(文件系统目录)
- JAR 包
- HTTP(远程 HTTP 服务器)
使用方法如下
URLClassLoader myClassLoader = new URLClassLoader(new URL[]{url1},Thread.currentThread().getContextClassLoader());
参考网站
URLClassLoader类加载器
flink Command-Line Interface
URLClassLoader使用方法和实例