概念
JDK:Java Development Kit
JRE:Java Runtime Environment
JVM:Java Virtual Machine
jdk12安裝
國內鏡像:https://repo.huaweicloud.com/java/jdk/
下載jdk-12.0.2_osx-x64_bin.dmg,安裝完成後,登陸控制檯。
➜ ~ java -version
java version "12.0.2" 2019-07-16
Java(TM) SE Runtime Environment (build 12.0.2+10)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing)
mac jdk版本管理
reference:https://www.jianshu.com/p/f6bd1c9ddebc
當本機有多jdk時,可以用/usr/libexec/java_home -V 查看本機已安裝的jdk。
➜ ~ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
12.0.2, x86_64: "Java SE 12.0.2" /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home
9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
1.8.0_211, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
1.7.0_80, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home
切換JAVA版本可以通過export JAVA_HOME=`/usr/libexec/java_home -v 1.8`實現。
➜ ~ java -version
java version "12.0.2" 2019-07-16
Java(TM) SE Runtime Environment (build 12.0.2+10)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing)
➜ ~ export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
➜ ~ java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
也可以設置alias方便自己自由切換。編輯.zshrc,在最後加上
alias java12='export JAVA_HOME=`/usr/libexec/java_home -v 12`'
alias java8='export JAVA_HOME=`/usr/libexec/java_home -v 1.8`'
這樣我們就能自由切換版本了。
HelloWorld
使用編輯工具編寫一段簡單的java代碼。
public Class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
javac HelloWorld.java 生成HelloWorld.class。
java HelloWorld 輸出HelloWorld。
注意事項
- HelloWorld文件名和public類名必須一致。一個java文件中可以有多個類,但只能有一個public。多個類會生成多個class文件。
- public static void main(String[] args) 方法固定,爲java的入口。
- 方法參數只要類型爲String[],變量名和寫法可以不固定,不過一般用String[] args。
代碼風格
- 縮進,四格縮進。
- 註釋,儘可能多的提供註釋。
- 類名、變量名、方法名,駝峯命名法,英文命名,最好見變量只其意。
反編譯
將class文件反編譯成java代碼。
常用的反編譯工具:jd-gui、luyten