zoukankan      html  css  js  c++  java
  • 深入了解java虚拟机---类加载机制----初始化阶段

    准备阶段是给变量赋系统的初始值。而初始化阶段就是给变量赋程序员自己设的值

    初始化阶段是<clinit>()方法的执行过程。过程如下

    1.编辑器收集所有的赋值动作和静态块合并形成<clinit>方法。收集是按照代码出现的顺序决定的。并且静态初始化块只能访问定义在之前的变量,对于在之后的变量可以赋值,但是不能访问

    2.先执行父类的<clinit>方法,再执行本类的<clinit>方法。而且不需要显式调用,虚拟机会保证父类<clinit>方法先执行。虚拟机执行的第一个<clinit>方法是java.lang.object

    注:没有赋值操作和静态初始化块的类没有<clinit>方法

    除了类,还有接口。接口可以有赋值.操作。但不同的是不需要先执行父接口的<clinit>方法,只有在用到后才执行(有点像懒加载)

    没有虚过一天,真好
  • 相关阅读:
    Python 15 爬虫(一)
    Python 14 Mysql数据库(二)
    Python 13 JQuery&Bootstrp
    Python 12 CSS&JavaScript&DOOM
    Python 11 HTML
    Python 10 MySQL数据库(一)
    Python 9 Redis
    Python 8 协程
    Python 7 并发编程
    SNMP协议详解
  • 原文地址:https://www.cnblogs.com/dailinfu/p/7308950.html
Copyright © 2011-2022 走看看