概念
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