JAVA虚拟机加载类是采用双亲委派加载机制加载。 双亲委派模型 模型如下图: 双亲委派模型中除了启动类加载器之外其余都需要有自己的父类加载器。 当一个类收到了类加载请求时: 自己不会首先加载,而是委派给父加载器进行加载,每个层次的加载器都是这样。 所以最终每个加载请求都会经过启动类加载器。只有当父类 ...
分类:
其他好文 时间:
2020-01-06 13:08:54
阅读次数:
90
代理属性访问通常作为类继承的一种替代,最简单的代理属性访问代码如下: 如果只有几个方法需要代理,可以实现类的__getattr__方法,如下: 另一个示例: 常见的约定是,代理只能委派不以下划线开头的属性(即代理仅公开所保留实例的“公共”属性)。 同样重要的是要强调__getattr __()方法通 ...
分类:
其他好文 时间:
2020-01-03 00:29:23
阅读次数:
72
都说在JAVA中,由不同类载入器载入的类在虚拟机中位于不同的命名空间下,不同命名空间下的类相互不可见。 这让我产生了一个迷惑:假设有一个类A使用了java.util.List类,为什么在执行时会没有错误。由于依照类载入的双亲委派机制,自己写的类A一般由系统类载入器载入,而java.util.List ...
分类:
编程语言 时间:
2019-12-31 12:32:23
阅读次数:
98
类加载器 启动类加载器:加载Java的核心类,比如System,String等。 拓展类加载器:加载jre的拓展类库。 应用程序类加载器:加载CLASSPATH下的jar包和类,也就是程序员自定义的类。 自定义加载器:用户自定义的加载器。 双亲委派 当类加载器收到一个类加载请求时,先尝试扔给让父加载 ...
分类:
其他好文 时间:
2019-12-30 19:31:13
阅读次数:
68
DOM简介 1.1什么是DOM: 文档对象模型(简称DOM),是W3C组织推荐的处理可扩展标记语言(HTML或XML)的标准编程接口 W3C已经定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容、结构和样式 1.2DOM树 文档:一个页面就是一个文档,DOM中使用document表示 元 ...
分类:
其他好文 时间:
2019-12-20 20:15:03
阅读次数:
70
一、 JVM的位置 JVM是运行在操作系统之上的,与硬件没有直接的交互,但是可以调用底层的硬件,用JIN (Java本地接口调用底层硬件接口,了解下就好,已经过时了) 二、JVM体系结构概览 1. 类装载器ClassLoader (4个知识点,①概念,②种类(3种系统自带,1种自定义),③双亲委派机 ...
分类:
其他好文 时间:
2019-12-19 12:45:05
阅读次数:
72
虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。 1. 类与类加载器 类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不 ...
分类:
其他好文 时间:
2019-12-10 14:59:28
阅读次数:
74
jvm的知识点汇总共6个大方向:内存模型、类加载机制、GC垃圾回收是比较重点的内容。性能调优部分偏重实际应用,重点突出实践能力。编译器优化和执行模式部分偏重理论基础,主要掌握知识点。
分类:
其他好文 时间:
2019-12-04 22:09:29
阅读次数:
150
合成复用原则由成为组合/聚合复用原则,尽量使用对象组合,而不是继承来达到复用的目的 合成复用原则就是在一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有的对象,使之成为新对象的一部分;新对象通过委派调用已有对象的方法达到复用功能的目的。简言之:复用时要尽量使用组合/聚合关系(关联关系 ...
分类:
其他好文 时间:
2019-11-28 22:46:34
阅读次数:
405
```java /** * 这个方法是基于当前桶中所有元素的数量进行计算的使用阈值为threshold.它不同于链表转化到tree时的链表长度(可以理解为树的高度)阈值TREEIFY_THRESHOLD */ final Node[] resize() { // 新容量与阈值计算 // 缓存桶引用 ... ...
分类:
其他好文 时间:
2019-11-18 18:28:34
阅读次数:
67