{"push_id":1281485545,"size":4,"distinct_size":1,"ref":"refs/heads/master","head":"c407c982ade1f99eeedf42133ce7f70e62c86699","before":"9b16d71056122f03cedc45d55c3854068b1f773e","commits":[{"sha":"8fc0f92b3a061f7c202c485bd0fc8a6316cd2b70","author":{"name":"Bert Lee","email":"26246a54f1878cc74bfad48c4c91f1f28d1827f2@163.com"},"message":"[SPI机制] ServiceLoader：服务加载器，一个简单的\"服务-提供者\"加载设施\n\n服务是接口和抽象类的集合，服务提供者是服务的特定实现。\n\n服务提供者是由在资源目录META-INF/services中放置提供者配置文件的标识。该文件的名称是服务类型的完全限定二进制名称，该文件包含一个具体的提供者类的完全限定二进制名称的列表，每行一个。\n\n提供者在需要时被延迟地定位和实例化(延迟迭代器)。\n服务加载器维护一个到目前为止已加载实例化的提供者的缓存。\n\npublic void reload()：清除该加载器的提供者缓存，重新加载所有提供者(热加载机制)\n\nLazyIterator\npublic boolean hasNext()：加载所有与该服务相关的提供者配置文件\npublic S next()：实例化一个服务提供者对象，并缓存在本地(基于Class.newInstance()反射实现)\n\npublic Iterator<S> iterator()：返回延迟地加载该服务的可用提供者的迭代器\n\npublic static <S> ServiceLoader<S> load(Class<S> service, ClassLoader loader)：创建一个给定的服务类型和类加载器的服务加载器\n\npublic static <S> ServiceLoader<S> load(Class<S> service)：创建一个给定的服务类型的服务加载器(使用当前线程上下文类加载)","distinct":false,"url":"https://api.github.com/repos/EdwardLee03/jdk/commits/8fc0f92b3a061f7c202c485bd0fc8a6316cd2b70"},{"sha":"d79b7ad516d09d137ff661d26d5cd4a3e4e092cc","author":{"name":"Bert Lee","email":"26246a54f1878cc74bfad48c4c91f1f28d1827f2@163.com"},"message":"[SPI机制] ServiceLoader API 文档","distinct":false,"url":"https://api.github.com/repos/EdwardLee03/jdk/commits/d79b7ad516d09d137ff661d26d5cd4a3e4e092cc"},{"sha":"80e488cdfe7efa175ded96a5607d6df8f1620149","author":{"name":"Bert Lee","email":"26246a54f1878cc74bfad48c4c91f1f28d1827f2@163.com"},"message":"[包] java.lang：提供Java语言设计的基础类\n\n最重要的类是 Object，其是类层次结构的根\nClass 表示运行时的类实例\n\n基本类型的包装类：Integer, Long\n\nString and StringBuilder：提供公共的字符串操作\n\nClassLoader：类型的动态加载\nRuntime, System：主机环境调查\nSecurityManager：安全策略的执行\n\nThrowable 的子类表示错误和异常\n\nCharset：字符编码","distinct":false,"url":"https://api.github.com/repos/EdwardLee03/jdk/commits/80e488cdfe7efa175ded96a5607d6df8f1620149"},{"sha":"c407c982ade1f99eeedf42133ce7f70e62c86699","author":{"name":"Huagang Li","email":"26246a54f1878cc74bfad48c4c91f1f28d1827f2@163.com"},"message":"Merge pull request #2 from EdwardLee03/jdk-7u80\n\n合并 SPI 机制（ServiceLoader：服务加载器）和 java.lang 包（提供Java语言设计的基础类）","distinct":true,"url":"https://api.github.com/repos/EdwardLee03/jdk/commits/c407c982ade1f99eeedf42133ce7f70e62c86699"}]}
{"actor":{"display_login":"EdwardLee03"}}