当前位置: 首页 > news >正文

做cpa建什么网站桂林网页

做cpa建什么网站,桂林网页,怎么用lofter做网站,广州网站建设专家归档 GitHub: JDK-SPI-服务提供者接口 SPI 源码说明 java.util.ServiceLoader /*** 服务加载器&#xff1a;给定接口&#xff0c;查找实现类。实现可迭代接口 */ public final class ServiceLoader<S> implements Iterable<S> {/*** 返回 ServiceLoader 实例 *…

归档

  • GitHub: JDK-SPI-服务提供者接口

SPI 源码说明

  • java.util.ServiceLoader
/*** 服务加载器:给定接口,查找实现类。实现可迭代接口 */
public final class ServiceLoader<S> implements Iterable<S> {/*** 返回 ServiceLoader 实例 */public static <S> ServiceLoader<S> load(Class<S> service, ClassLoader loader) {return new ServiceLoader<>(service, loader);}/*** 构造器 */private ServiceLoader(Class<S> svc, ClassLoader cl) {// 记录要查找的接口类service = Objects.requireNonNull(svc, "Service interface cannot be null");// 记录加载器loader = (cl == null) ? ClassLoader.getSystemClassLoader() : cl;...reload(); // (重新)加载}/*** 重新加载 */public void reload() {providers.clear(); // 清空lookupIterator = new LazyIterator(service, loader); // 创建懒加载迭代器}/*** 实现可迭代接口:返回迭代器 */@Overridepublic Iterator<S> iterator() {/*** 一个新的迭代器实现。对懒加载迭代器 lookupIterator 进行封装 */return new Iterator<S>() {Iterator<Map.Entry<String, S>> knownProviders = providers.entrySet().iterator();...public S next() { // 先从已加载的里面选if (knownProviders.hasNext())return knownProviders.next().getValue();return lookupIterator.next(); // 最后才开始加载}...};}}
  • java.util.ServiceLoader.LazyIterator
    /*** 懒加载-迭代器。实现迭代器接口 */private class LazyIterator implements Iterator<S> {/*** 构造器 */private LazyIterator(Class<S> service, ClassLoader loader) {this.service = service;this.loader = loader;}/*** 获取下一个服务实现对象 */public S next() {if (acc == null) {return nextService(); // 获取下一个服务实现对象} ...}/*** 获取下一个服务实现对象 */private S nextService() {...String cn = nextName; // 下一个服务实现类的类名。nextName 在 hasNextService() 方法里面设置Class<?> c = null;try {c = Class.forName(cn, false, loader); // 初始化类} catch (ClassNotFoundException x) {...}...try {S p = service.cast(c.newInstance()); // 实例化一个对象providers.put(cn, p); // 添加到提供者(providers)Map 里,方便上面的判断return p;}...}/*** 判断是否有下一个服务 */private boolean hasNextService() {...if (configs == null) {try {// String PREFIX = "META-INF/services/";String fullName = PREFIX + service.getName();...configs = loader.getResources(fullName); // 加载所有的文件} ...}while ((pending == null) || !pending.hasNext()) {if (!configs.hasMoreElements()) {return false;}pending = parse(service, configs.nextElement()); // 逐个文件加载填充 pending}nextName = pending.next(); // 设置下一个要加载的类的类名return true;}}
http://www.yayakq.cn/news/313175/

相关文章:

  • 四川住房和城乡建设部网站首页网站demo制作工具
  • 全国网站制作公司排名微信文章采集 wordpress
  • jsp网站开发分享网站天津港建设公司官网
  • 做网站怎么云存储注册域名后网站建设
  • 企业网站推广的方法有哪几种网站自动抢注
  • 北京南站官网关于农产品电子商务网站的建设
  • 城网站建设网站建设页头的设计
  • 长春网站排名提升大连零基础网站建设培训中心
  • 网站每年服务费365建站器
  • 邢台路桥建设总公司没有网站吗阳江兼职招聘网
  • 网站空间那个好网站制作 网络推广
  • 香河住房和城乡建设局网站wordpress get_tag
  • 外贸网站做的作用是什么深圳商城网站设计费用
  • 作品设计思路范文seo优化报价公司
  • 新闻聚合网站开发 技术昆明做网站的公司
  • 做装修那个网站好杭州聚翔网络有限公司
  • 哪个是网站建设里面的微信 host 微网站模版
  • 网站界面设计的相关指南用什么软件上传网站
  • 用废旧盒子做家用物品网站网页制作主题成品
  • 普通网站建设广州专业网站建设公司
  • 网站服务公司便捷网站建设哪家便宜
  • 网站怎么做速排cms网站是什么意思
  • 网站开发属于计算机系统开发吗电脑商城网站模板
  • 前程无忧企业官方网站房屋中介网站怎么做
  • 网站规划与设计范文网站后台更新了 前台不现实
  • 潍坊市安丘建设局网站网站统计分析
  • 网站 成品下载广西网络推广公司哪家好
  • 长沙住房建设部网站健康养生网站源码
  • 自己的公网ip可以做网站建设在线购物网站
  • 湖北建设厅举报网站国内的电商平台