java vm 之 虚拟机启动对类的操作

Posted yunchong1019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java vm 之 虚拟机启动对类的操作相关的知识,希望对你有一定的参考价值。

  虚拟机在启动中对类的操作

  1. 虚拟机加载类(classloader克拉斯楼的),类进行处理以后是字节码,虚拟机认识就可以做下面的事情了。从硬盘到内存的过程
  2. 链接
    1. 对类进行验证,类的头部用两个字节保存了,这个信息,详情找个专业的文档链接放到这里。
    2. 为类分配内存,给对应的变量附言默认值 int 给他 个0  Integer 给他个null……
    3. 将特殊的字符进行解析,应该是跟Spring 对 @autowrite 的解析类似,有自己的套路,(找个合适的例子放到这里)
  3. 初始化变量赋予正确的值 比热 private String name="天之云" ,先做2.2,分配空间,赋予默认值null 到这里了给他“天之云”。

 类的初始化在何时发生呢?

  类(接口)在被java程序“首次主动调用”的时候才会被初始化。

   说的多好!

        首次~~主动~~调用

 那么如何调用称呼其为主动调用

  1. 类被实例化的时候 Object object=new Object();
  2. 访问某个类或接口的静态变量,或者对该静态变量赋值 object.name=b;(这里本尊有点疑问必须是静态的吗?)
  3. 调用类的静态方法 object.exit();
  4. 反射class.forName("com.william.test")
  5. 初始化一个类的子类。 Object a=new String();
  6. java虚拟机启动时被标明为启动类的类(Java Test)

  以上可以证明写了一个类但是没有主动调用,那么不必担心里面的逻辑了,因为程序走不到哪里。

以上是关于java vm 之 虚拟机启动对类的操作的主要内容,如果未能解决你的问题,请参考以下文章

java vm 之 虚拟机周期结束

vm里怎么制作win10虚拟机

如何查看VM虚拟机的显存

类的生命周期

在Windows下怎么 如何用vm虚拟机安装mac苹果操作系统 如何启动mac 苹果电脑root用户账户

java虚拟机