瞭解Java代碼在計算機中經歷的過程
Java代碼在計算機中經歷的過程(大致會經歷着三個過程):
1.Source源碼階段:
源碼階段包含.java文件,.class文件(源代碼階段,代碼都是存儲在硬盤上)
例如:
public class Person{
private String name;
private int age;
public Person(){};
其他成員方法。。。等等
}
這是一個Person.java文件,通過javac
命令編譯成Person.class字節碼文件
其中在編譯的過程中,編譯器將會把Java文件拆分成若干個部分,比如:
一、成員變量一個部分:
private String name;
private int age;
二、構造方法一個部分:
public Person(){};
三、等等其他部分。。
2.Class類對象階段
從第一階段進階導第二階段,Java虛擬機會通過類加載器(ClassLoader)將.class字節碼文件加載進計算機的內存中,此時交由Java的中Class類對象進行管理(這裏的Class就是一個對象),他將用來描述所有字節碼文件的共同的一些特徵和行爲。
Class類對象中由三部分比較重要的東西(當然還有其他的很多東西)
第一部分:包含所有的成員變量
成員變量將會背封裝成Filed對象
Filed[] fileds
第二部分:構造方法
構造方法將會被封裝成Constructor對象
Constructor[] Constructors
第三部分:成員方法
成員方法將會被封裝爲Method對象
Method[] Methods
3.Runtime運行時階段
在運行時階段中,直接可以通過第二階段中的Class類對象來創建對象(這裏可以創建Person對象),其實運行時階段都是通過Class類對象來創建對象的,只是我們都沒有去深究過
總結:
Java反射機制:將類的各個組成部分封裝成其他對象。