Java相關名詞介紹
Java 2 標準版(J2SE) 桌面,java基礎及其核心,主要開發桌面程序或控制程序。
Java 2 移動版(J2ME)移動端、手機,嵌入式開發。
Java 2 企業版(J2EE)企業版、服務器,web端開發。
JVM : 實現真正的可移植性,只要安裝了JVM的地方都可以運行Java程序。
給予Java的平臺:
構建工具:Maven、Jekins、Ant
應用服務器:Tomcat、Jetty、Jboss、Websphere、Weblogic
Web開發:struts2、spring、myBatis
Hadoop 大數據領域 、Android 手機端
Java動態性-->反射 ,大多框架基本都基於反射
JDK :Java Development Kit Java開發者工具
JRE: Java Runtime Environment Java運行環境
JVM : Java Virtual Machine Java虛擬機
JDK包含JRE包含JVM。Java、Javac編譯運行Java程序,Javadoc可以生成doc文檔,jar可以生成.jar的應用程序。
運行Java程序需要JRE環境,程序運行時會在JVM中運行,所以實現了Java的可移植性。java類初始化的時候調用java.lang.ClassLoader加載字節碼文件。
JDK的目錄
bin : 存放Java運行工具,如javac.exe、jar.exe
inclue : 因爲Java是c、c++語言編寫的,這裏存放了很多需要引用的c庫
jre : Java運行所需環境,包含JVM
lib : Java類庫
src.zip : 資源文件,放了很多Java類的源代碼
第一個Java程序 -- Hellow World
java大小寫敏感
注意類名與文件名要一致
public class Hello{
public static void main(String[] args){ # 程序通過main方法執行,程序入口
System.out.print("Hello World!");
}
}
public關鍵字: 聲明此函數爲公有方法,其他類可以訪問此主函數
static關鍵字: 告知編譯器main函數是一個靜態函數。也就是說main函數中的代碼是存儲在靜態存儲區的,即當定義了類以後這段代碼就已經存在了。如果main()方法沒有使用static修飾符,那麼編譯不會出錯,但是如果你試圖執行該程序時將會報錯,提示main()方法不存在。因爲包含main()的類並沒有實例化(即沒有這個類的對象),所以其main()方法也不會存存儲在靜態存儲區,程序執行時無法會無法在內存中找到此方法。而使用static修飾符則表示該方法是靜態的,不需要實例化即可使用
void關鍵字: main()函數的返回值爲無類型
String[] args: 參數String[] args是一個字符串數組,接收來自程序執行時傳進來的參數。如果是在命令行下,可以接受命令行參數
在terminal中生成字節碼.class文件並運行
javac Hello.java # javac filename.java 編譯成class文件
java Hello # java filename 運行class文件
Java程序運行機制
高級編程語言一般爲兩種類型,解釋型和編譯型(compile)這兩種類型特點Java都有
編譯型類似於將整個程序翻譯爲計算機可識別的文件並讓其運行,比如c\c++編譯一次直接運行
解釋型,即用一句解釋一句,會浪費性能,比如網頁 對速度要求不高 就可以用解釋型
整個流程大致爲:.java文件-->Java編譯器(javac預編譯)-->.class字節碼-->解釋器-->機器碼
IDEA空項目設置
創建的空項目需要設置 Project Structure, 在 File --> Project Structure
Project SDK:選擇自己的JDK
Project language level :設置爲8