跨平台性:通过JVM 虚拟机实现。不同OS里面有不同的JVM。
核心机制:
-
JVM
-
Garbage Collection
JDK: Java development kit 开发工具 includes JRE Java runtime environment 运行环境
JDK = JRE + JAVA开发工具 (javac.exe, java.exe, javadoc.exe)
JRE = JVM + JAVA核心类库
设置环境变量
-
创建新变量 e.g. JAVA_HOME = D:\xxxxx\xxx
-
in PATH %JAVA_HOME%\bin 不要在path里面输入全部路径
运行JAVA文件
-
Source code 编译之后是字节码文件(Byte doc),字节码文件的名字是class name
-
编译是文件名加后缀,文件名可不区分大小写!
-
运行class文件(编译后的文件)时不能写后缀!!! java HelloWorld 不要写HelloWorld.class
-
运行时严格区分大小写!因为java层面,寻找类
*Windows 系统不区分大小写文件 so class3 == CLASS3
注释:
-
单行注释 // 不参与编译,字节码文件不包含注释信息
-
多行注释 /*-------*/ 不参与编译; 不可嵌套使用(/*与第一个出现的*/构成完整的多行注释!期间的/*会被当做多行注释内容
/*
balabal
balab
/* (被认为是多行注释的内容)
*/完整的一个多行注释
-
文档注释 /** ........ */ 被javadoc解析,生成网页文件形式的该程序的说明文档 @author, @version
javadoc -d name_of_dir -author -version name_of_java_doc.java
作用:
-
多程序解释说明,增强可读性
-
调试代码 hide suspecious code to find bug
API application programming interface 应用程序编程接口
API 文档 介绍如何使用api 文档注释写的
*Public class Haha {...} --> Haha.java
*class Wuwu {....} ---> Haha.java Not public class, class name can be diff from file name!
*只有String之后的【】和args可变,如单注展示的
-
printlin 先输出,后换行
-
每一个执行语句都以" ; "结尾
-
java里面缩进只是为了可读性,不是mandatory!
System.out.println(); //仅换行功能,不会创造出一个空行!
只要class文件包含了main方法,就都可以运行!
Java 开发工具:
-
文本编辑工具
-
集成开发环境 IDE
算法解决程序正确与否的问题;
数据结构解决效率问题。