Java虚拟机笔记-类加载器的命名空间
类加载器的命名空间 参考:https://blog.csdn.net/sureyonder/article/details/5564181 http://www.importnew.com/17093.html 命名空间类加载体系为不同类加载器加载的类提供不同的命名空间,同一命名空间内的类可以互相访问,不同命名空间的类不知道彼此的存在(除非显式提供访问机制)。同一类可以再不同的命名空间内,但无法在同一命名空间内重复出现。 命名空间是这样定义的:实际完成加载类的工作的加载器为定义类加载器,而加载的双亲委托路径上的所有加载器为初始类加载器,某个加载器的命名空间就是所有以该加载器为初始类加载器的类所组成。 可以预见,子加载器的命名空间包括其父/祖先加载器的命名空间和只有自己才可以加载的类所组成。根据加载体系结构的安全机制,同一命名空间内的类可 以互相访问,所以父加载器所加载的类不一定可以访问子加载器所加载的类,但子加载器所加载的类必然可以访问父加载器加载的类。父加载器加载的类就好像小箱...
线段树模板
「LYOI2018 Summer」Hzy’s Rabbit Array 参考: wyy603 「LYOI2018 Summer」Hzy’s Rabbit...
Java虚拟机笔记-自定义类加载器
jvm自定义类加载器 JDK加载类流程参考:https://juejin.im/post/5a1fad585188252ae93ab953 loadClass123456789101112131415161718192021222324252627282930313233343536373839404142protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException{ synchronized (getClassLoadingLock(name)) { /** * 1.检查类是否已经加载过 * @param name 类的二进制名字 * @return 类对象(Class<?>),如果没有加载该类,则返回null */ Class c = findLoadedClass(name); if (c...
容斥与抽屉定理
容斥与抽屉定理 容斥定理定理参考:百度百科 在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。 两个集合的容斥关系公式:A∪B =|A∪B| = |A|+|B| - |A∩B |(∩:重合的部分) 三个集合的容斥关系公式:|A∪B∪C| = |A|+|B|+|C| - |A∩B| - |B∩C| - |C∩A| + |A∩B∩C| 例如三个集合的关系: (图里面的A+B+C划红色部分应该是划去{2,3,4,2,1,2},即划去A∩B,B∩C,A∩C) 一般情况: 51nod1284 容斥定理,先求反面,即1-N有多少是2 3 5 7的倍数,然后再用总数减去反面的数量即为所求。 1cnt =...
Java虚拟机笔记-ClassLoder部分文档解读
ClassLoder部分文档解读 Documentation123java.lang public abstract class ClassLoaderextends Object 123A class loader is an object that is responsible for loading classes. The class ClassLoader is an abstract class. Given the binary name of a class, a class loader should attempt to locate or generate data that constitutes a definition for the class. A typical strategy is to transform the name into a file name and then read a "class file" of that name from a file...
Java虚拟机笔记-类加载器双亲委托派制2
继续学习jvm类加载器双亲委派机制 循环获得ClassLoader1234567891011121314151617181920public class Main{ public static void main(String[] args) throws Exception{ //获取系统类加载器 ClassLoader classLoader = ClassLoader.getSystemClassLoader(); System.out.println(classLoader); System.out.println("-------------------"); while(null != classLoader){ //获取加载器的父亲 classLoader = classLoader.getParent(); ...
单调栈
...