一、java简单介绍
1.java版本:
目前java长期版本有三个:java8、java11、java17
java8=JDK1.8,java11=JDK11,java17=JDK17
2.GC
GC是java的垃圾回收机制,如果没有这个机制,内存会被占满,不同版本的javaGC性能也不同
java8的GC为Parallel Scavenge
java11的GC为GI
java17的GC为zgc
3.JDK,JRE,JVM之间的关系
JDK:Java开发工具箱,JRE:Java运行环境,JVM:Java虚拟机
JDK=JRE+java开发工具,JRE=JVM+核心类库
JVM不能独立安装,JDK和JRE可以独立安装,安装JDK时会自动安装JRE和JVM,安装JRE时会自动安装JVM。JDK用于开发,JRE用于运行java程序,若只是运行java程序,可以只安装JRE无需安装JDK
二、环境搭建
配置JAVA_HOME
需要在系统变量中手动添加JAVA_HOME变量,变量名为JAVA_HOME,变量值为JDK存放的路径,不用到bin文件夹,比如:C:\Program Files\Java\jdk1.8.0_92
如图:
然后需要到path中配置%JAVA_HOME%\bin(系统在寻找java时会从path中从上到下寻找,优先找到的java路径会被系统使用,之后不会继续向下寻找其他路径的java)
如图:
配置好环境变量后,自己所使用的编程工具就会自动识别出jdk,并且命令提示符中输入java -version系统也会识别出优先找到的java版本
三、编译与反编译
1.以 . java结尾的文件:源文件,. class结尾的文件:字节码文件
2.比如javac Hello.java命令可以将Hello文件编译为Hello.class文件,编译完后可以用java Hello来运行(需要在命令提示符中手动编译和手动运行)
如图为java源程序:
3.javap -c Hello.class可以对Hello.class文件反编译为代码形式(.class结尾的文件是我们看不懂的形式,通过反编译可以变为我们能看懂的形式)
四、练习
简单说几个java转移符号:
- \n 换行,将当前位置移到下一行开头
- \r 回车 ,将当前位置移到本行开头
- \t 水平制表(HT) (跳到下一个TAB位置)
使用编程工具要比手动编译手动运行方便(推荐使用idea)
这里做了个小练习,在idea中右键+run即可编译并运行
public class Homework01 {
public static void main(String[] args) {
System.out.println("\t\t\t\t*\t\t\t\t\t\t*");
System.out.println("\t\t\t*\t\t*\t\t\t\t*\t\t*");
System.out.println("\t\t*\t\t\t\t*\t\t*\t\t\t\t*");
System.out.println("\t*\t\t\t\t\ti love you\t\t\t\t\t*");
System.out.println("\t\t*\t\t\t\t\t\t\t\t\t\t*");
System.out.println("\t\t\t*\t\t\t\t\t\t\t\t*");
System.out.println("\t\t\t\t*\t\t\t\t\t\t*");
System.out.println("\t\t\t\t\t*\t\t\t\t*");
System.out.println("\t\t\t\t\t\t*\t\t*");
System.out.println("\t\t\t\t\t\t\t*");
}
}