谁能为我讲清楚编译,装载,连接,初始化这之间的关系和顺序?越清楚越好。
谁能为我讲清楚编译,装载,连接,初始化这之间的关系和顺序?越清楚越好。特别是涉及到static类型的成员。
------解决方案--------------------没听说Java还有连接这个步骤。连接,在学C语言的时候,听说过。
编译,就是把按照Java语法规则编写的文本文件(源码文件)按照一定的规则转换成字节码文件(.class文件)的过程。
字节码文件能够被JVM识别,并解释执行。字节码文件的数据结构,是开放的,官方已经制定了标准。
装载,就是Java虚拟机将字节码文件的内容,读取到内存当中的过程。
------解决方案--------------------
Bruce Eckel可以 ,。。
------解决方案--------------------java是动态语言,没有链接这一步骤,只在类加载的过程中有连接过程.
编译就是将源文件编译为class文件.
类加载过程分为:加载,连接(又分为验证,准备和解析三步)和初始化,static成员在准备的过程中被分配内存并赋予默认值(位模式全部为0),在初始化的过程通过初始化方法(静态方法,静态块等)被赋予各种程序员想要给予的值.