引言

作为一个程序猿,我们每天都会写各种各样的java代码,不知道大家有没有思考过一个问题,我们写的这些java代码到底是怎么进入JVM的呢?别着急,本文就带着大家一探究竟。

  • Java文件进入JVM经历了怎样的人生?
  • 什么是双亲委派模型?
  • 总结

一、Java文件进入JVM经历了怎样的人生?

我们在IDEA中开发的业务代码都是一个一个的.java文件,经过编译之后生成对应的.class文件,而后通过类加载器将类文件加载到JVM当中。

类加载过程会经历加载、验证、准备、解析、初始化、使用、卸载七个阶段。我们一步一步来分析下这几个步骤都做了什么事情。

(1)加载
首先我们先要搞清楚类加载的时机是怎样的,实际上类加载并不是服务一启动就将所有的类加载到内存中,而是在使用到某个类时才会将其进行加载操作,看吧,原来JVM是个偷懒的小家伙。实际加载指的就是ClassLoader通过类的完全限定名知道对应的class文件,将其读入到内存中,同时为其创建java.lang.Class对象。