zoukankan      html  css  js  c++  java
  • 虚拟机加载机制读后感

    周末花了两个小时左右阅读了一下,深入理解Java虚拟机第七章有关虚拟机加载的相关知识,主要要点记录如下。

    1,java虚拟机加载的过程(狭义的理解就是虚拟机将class文件加载到内存的方法区的过程)主要经历:

      加载=》验证=》准备=》解析=》初始化=》使用=》卸载

    2,其中初始化过程与我们平时写的应用关系最大。虚拟机规定了有且仅有一下五中条件,才会对类进行初始化。

          a, new对象以及对类的静态变脸进行读写

          b, 初始化子类之前需要初始化父类

          c, 程序启动时main函数所在的类

          d, 使用反射使用类的时候

          e,java.lang.invoke.MethodHandle实例解析的结果是REF_static。。。(不太理解)

    3,同一个class文件被不同的类加载器加载后instanceof,equals的结果都不等。

    4,委派双亲模型,在使用加载器的时候优先使用父类加载器,如果父类加载器没法加载,才使用自己的加载器。

    5,应用程序类加载器(程序的默认加载器)和线程上下文类加载器两中类型加载器。其中线程上下文类加载器可以通过setContextClassLoader进行设置,如果当前线程没有设置则继承父类的,如果都没有就使用应用程序类加载器。

  • 相关阅读:
    java IO流之详细总结
    位运算了解与复习多线程
    java 常见面试题总结(一)
    复习集合框架
    【面试题】java中高以上必会技能
    python-项目流程分析及优化查询方法
    python-day97--django-ModelForm
    python-day97--git协同开发
    python-day96--git版本控制
    python-day91--同源策略与Jsonp
  • 原文地址:https://www.cnblogs.com/superhedantou/p/5724329.html
Copyright © 2011-2022 走看看