Skip to content

1.Java核心机制-Java虚拟机[JVMjavavirtualmachine]

  1. JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK中.
  2. 对于不同的平台,有不同的虚拟机。
  3. Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行” img.png

2.什么是JDK,JRE

  1. JDK的全称(JavaDevelopmentKit Java开发工具包).JDK=JRE+java的开发工具[java,javac,javadoc,javap等]
  2. JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
  3. JRE(JavaRuntimeEnvironmentJava运行环境)JRE=JVM+Java的核心类库[类],包括Java虚拟机(JVMJavaVirtualMachine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
  4. JDK、JRE和JVM的包含关系 JDK=JRE+开发工具集(例如Javac,java编译工具等) JRE=JVM+JavaSE标准类库(java核心类库) 如果只想运行开发好的.class文件只需要JRE

3.配置环境变量

3.1 为什么要配置环境变量?

如果没有配置环境变量直接使用java命令,会出现以下错误提示 img_1.png 错误原因:当前执行的程序在当前目录下如果不存在,系统会在系统中已有的一个名为path的环境变量指定的目录中查找。 如果仍未找到,会出现以上的错误提示。 所以进入到jdk安装路径\bin目录下,执行javac,会看到javac参数提示信息。

3.2 配置环境变量步骤

  1. 我的电脑 - 属性 - 高级系统设置 - 环境变量 img_2.png
  2. 添加JAVA_HOME变量,变量值为jdk安装路径(bin目录的上一级) img_3.png
  3. 编辑path变量,添加%JAVA_HOME%\bin img_4.png
  4. 打开cmd,输入java -version,出现以下信息,说明配置成功 img_5.png

4.Java执行流程分析

.java文件通过 javac命令 编译成.class文件,.class文件通过java命令执行。 img_6.png

5.java开发注意事项

  1. java源文件以.java为扩展名。源文件的基本组成部分是类(class)
  2. java程序的执行入口是main()方法。main()方法也是一个普通的静态方法。它有固定的额书写格式:
java
public static void main(String[] args){
    ....
}
  1. java语言严格区分大小写
  2. java方法由一条条语句构成,每个语句以分号(;)结束
  3. 大括号是成对出现的缺一不可 [习惯上先写{}再写代码]
  4. 一个源文件中最多只能有一个public类。其它类的个数不限
  5. 如果源文件包含一个public类,则文件名必须按该类名命名
  6. 一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public 类,这样入口方法就是非public的main方法

6.java常用转义字符

转义字符描述
\n换行符
\t制表符
\r回车符
\b退格符
\f换页符
\'单引号
\"双引号
"一个"
'一个'
\一个\
java
public class test
{
    public static void main(String[] args){
        System.out.println("书名\t作者\t价格\t销量\t\n三国\t罗贯中\t100\t10000");
    }
}

img_7.png

7.注释之文档注释

注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。

常用javadoc标签

标签描述示例
@author作者@author jack
@deprecated指名一个过期的类或成员@deprecated description
@docRoot指明当前文档根目录的路径Directory Path
@exception标志一个类抛出的异常@exception exception-name explanation
@inheritDoc从直接父类继承的注释Inherits a comment from the immediate surperclass.
@link插入一个到另一个主题的链接
@linkplain插入一个到另一个主题的链接,但是该链接显示纯文本字体Inserts an in-line link to another topic.
@param描述一个方法的一个参数@param parameter-name explanation
@return描述返回值类型@return explanation
@see指定一个到另一个主题的链接@see reference
@serial描述一个序列化属性@serial description
@serialData描述通过writeObject( )和writeExternal( )方法写的数据@serialData description
@serialField描述一个ObjectStreamField组件@serialField name type description
@since标记当引入一个特定的变化时@since release
@throws描述一个方法可能抛出的异常@throws exception-name explanation
@version标记当引入一个特定的变化时@version information
@value显示常量的值,该常量必须是static属性。Displays the value of a constant, which must be a static field.
java
/**
@author jack
@version 1.0
*/

public class test
{
    public static void main(String[] args){
        System.out.println("书名\t作者\t价格\t销量\t\n三国\t罗贯中\t100\t10000");
    }
}

执行命令

javadoc -d doc -encoding utf-8 -charset utf-8 -author -version test.java

img_8.pngimg_9.png

8.java代码规范

  1. 类方法的注释,要以javadoc的方式来写
  2. 非javadoc的注释,往往是给代码的维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等
  3. 使用tab操作实现缩进,默认整体向右边移动,使用shift + tab 整体向左移
  4. 运算符和 = 两边习惯性加一个空格。比如 2 + 4 * 5 + 345 - 89
  5. 源文件使用utf-8编码
  6. 行宽度不要超过80字符
  7. 代码编写使用次行风格和行尾风格 img_10.pngimg_11.png

9.DOS命令

Dos:DiskOperatingSystem磁盘操作系统,简单说一下windows的目录结构。[原理图] img_12.png

  1. 查看当前目录是有什么内容 dir dir d:\abc2\test200
  2. 切换到其他盘下:盘符号 cd : change directory 案例演示:切换到 c 盘 cd /D c:
  3. 切换到当前盘的其他目录下 (使用相对路径和绝对路径演示), ..\表示上一级目录 案例演示: cd d:\abc2\test200 cd ....\abc2\test200
  4. 切换到上一级: 案例演示: cd ..
  5. 切换到根目录:cd
    案例演示:cd \
  6. 查看指定的目录下所有的子级目录 tree
  7. 清屏 cls [苍老师]
  8. 退出 DOS exit
  9. 下面的几个指令了解即可 (md[创建目录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输入内容到文件],type,move[剪切]) => Linux

10.相对路径与绝对路径

相对路径: 从当前目录开始定位,形成一个路径 绝对路径: 从顶级目录d开始定位,形成的路径 需求: 从abc\test100访问hello.txt 相对路径: ....\abc2\test200\hello.txt 绝对路径: d:\abc2\test200\hello.txt img_13.png

Released under the MIT License.