前言:
- 學習java也有兩個月了,這裏就是想整理一下平時的筆記;
- 如果有錯誤希望能指出;
- 寫的筆記肯定沒有網上大神寫的那麼詳細,如果大家想看更系統的筆記可以去看一下菜鳥教程;
1. java程序運行流程
test.java----->javac.exe編譯----->test.class----->JVM虛擬機
-》JVM:java virtual machine
java虛擬機,運行java程序,JVM實現跨平臺核心,但是java程序
光由JVM運行環境,還需要java一些核心類庫
-》JRE:java runtime environment
組成:JVM +核心類庫
-》JDK:java development kit
java開發工具包,jdk包含jre和開發程序和調試程序
由java開發工具包,開發一些程序,由javac.exe編譯程.class文件
送入JVM進行運行
2. 配置環境變量
JAVA開發工具:Eclipse
JAVA開發環境配置的詳細步驟可以參考菜鳥教程
JAVA_HOME:依賴JDK的程序都是通過JAVA_HOME環境變量獲取jdk的安裝路徑
CLASSPATH:定義jdk的核心類庫的位置
3. Java程序都是運行在JVM上
JVM對java程序進行分存分配
JVM對每一個java程序分爲三部分:堆區、棧區、方法區
棧區:存儲局部變量
堆區:new 對象 存儲對象的屬性
4. JVM虛擬機如何運行.class程序
運行前: JVM虛擬機會向計算機申請初始內存空間
運行中: java程序運行之後,java程序會不斷向JVM請求內存,一旦JVM使用內存超過
了初始內存,JVM繼續向計算器請求更多的內存空間
內存溢出: 當JVM虛擬機向計算機請求的內存超出了預定範圍之後,則內存溢出
OutOfMemery