1、Java帝国的诞生

一场旷日持久的战争。

2、Java特性和优势

  • 简单性

    Java是C++的纯净版,没有头文件、指针运算、内存管理等。

  • 面向对象

    万物皆对象。

  • 可移植性

    跨平台。(Write Once,Run Anywhere)一次编写,到处运行。

  • 高性能

  • 分布式

    通过计算机网络将后端工作分布到多台主机上,多个主机一起协同完成工作。

  • 动态性

    动态语言显著的特点是在程序运行时,可以改变程序结构或变量类型,典型的动态语言有Python、ruby、javascript等。

    Java语言本身是不具有动态性的,但它通过反射机制以及字节码操作获得类似动态语言的特性。

    动态性是Java的一个重要特性,我们未来要学习的很多框架,它们的底层都是基于反射来实现的。这一点也是C++无法实现的。

  • 多线程

  • 安全性

  • 健壮性

3、Java的三大版本

  • **JavaSE:**标准版,去占领桌面,JavaEE的基础(桌面程序、控制台开发等)

  • **JavaME:**移动版,去占领手机,快死了(手机、小家电、嵌入式开发等)

  • **JavaEE:**企业版,去占领服务器,如火如荼(Web端、服务器等)

    其中,JavaEE是我们学习的重点

4、JDK、JRE、JVM

  • JDK(Java Development Kit)Java开发工具包

  • JRE(Java Runtime Environment)java运行环境

  • JVM(Java Virtual Machine)java虚拟机

    JDK、JRE、JVM之间的关系

5、搭建开发环境

5.1、下载JDK

JDK版本不低于1.8。

JDK的下载地址为:https://www.oracle.com/java/technologies/javase-downloads.html

5.2、安装JDK

a. 双击java安装包,根据提示点击下一步:

b. 设置JDK的安装路径。

c. 处理告警信息。

由于最近JDK大版本更新比较快,2019年1月起官方停止维护1.8版本(不用担心,仍可放心使用),此时会出现如下图所示告警信息。

d. 点击“确定”按钮后,设置JRE的安装路径。

注:之前文章里也说过,JRE是用于运行时的包,它是JDK的一部分。

e. 安装完成,关闭窗口。

f. 验证是否安装成功。

输入命令行java -version,若可以看到JDK的版本信息(1.8.0_181),则说明安装成功。

5.3、配置环境变量

此时,在命令行窗口分别输入java -version和javac -version,会发现java -version命令可以运行,而javac -version命令却不能运行。

没有配置环境变量时的运行结果

之所以会出现该现象的原因是:JDK 1.8及以后的版本在安装完成后,会在系统变量Path下自动添加目录:C:\Program Files (x86)\Common Files\Oracle\Java\javapath”。

JDK1.8默认设置的环境变量

打开此目录,我们可以发现该文件夹下自动添加了java.exe,javaw.exe,javaws.exe 这三个文件。

JDK1.8配置的默认路径

其中:

  • java.exe用于启动console 控制台程序

  • javaw.exe用于启动 GUI程序

  • javaws.exe用于web程序。

因此,此时如果我们不使用命令行编译和运行程序,就不需要再配置环境变量了;如果你需要通过命令行来编译和运行程序,就需要像JKD1.8之前的版本一样自己手动配置环境变量,具体配置过程如下:

  1. 右击“我的电脑”,选择“属性”→“高级系统设置”→“环境变量”;

  2. 在“系统变量”中新建一个变量名为“JAVA_HOME”、值为”D:\Program Files\Java\jdk1.8.0_181“的系统变量;

    新建环境变量JAVA_PATH

  3. 配置Path变量。在环境变量中找到名称为Path的系统变量,在其中新建两个值“%JAVA_PATH%\bin”和“%JAVA_PATH%\jre\bin”;

    其中:%表示“引用”。

    配置Path变量
  4. 测试环境变量是否配置成功。在命令行窗口再次输入java -version和javac -version,会发现java -version和javac -version命令都可以正常运行了。

    配置环境变量后的运行结果

注意:不同版本JDK下JRE的位置不尽相同。jdk-1.8.0是把jre放在jdk的子目录下;jdk10是把jre放在jdk的同级目录下;而jdk11中的jre默认被隐藏了,需要我们使用命令行手动生成相应的jre目录。

5.4、JDK目录介绍

安装好的JDK目录:

JDK目录结构

JDK目录说明:

目录 说明
bin目录 包含一些用于开发Java程序的工具,例如:编译工具(javac.exe)、运行工具 (java.exe) 、打包工具 (jar.exe)等。
include目录 C语言的头文件,用于支持Java程序设计。
jre目录 Java运行时环境的根目录。
jre\bin目录 包含Java平台所使用工具和类库的可执行文件和DLL文件。
jre\lib目录 包含Java运行时环境所使用的核心类库。
lib目录 包含开发Java程序所使用的类库文件。
javafx-src.zip 该压缩文件里面存放的就是JavaFX(用于桌面应用、移动端和嵌入式系统,用的人相对较少)源代码。
src.zip 该压缩文件里面存放的就是Java所有核心类库的源代码。

6、HelloWorld

  1. 新建一个用来存放代码的文件夹。

  2. 新建一个java文件

    在文件夹中新建一个txt文件,并将该文件的文件名和后缀修改为Hello.java。

    注:如果我们设置了“隐藏已知文件类型的扩展名”,那么需要手动取消。

  3. 编写一段java代码

    1
    2
    3
    4
    5
    public class Hello{
    public static void main(String[] args) {
    System.out.println("Hello world,Java!");
    }
    }
  4. 编译

    在该文件夹下打开命令行窗口,使用javac命令编译java文件。

    1
    javac Hello.java

    此时会在当前文件夹下生产一个Hello.class文件

  5. 运行

    使用java命令运行生成的class文件。

    1
    java Hello

    此时会在命令行窗口输出:Hello world,Java!

    HelloWorld

    这样我们就完成了Java的第一个程序。

    附:可能会遇到的问题

    • 字母的大小写问题,Java是大小写敏感的
    • 尽量使用英文。
    • 文件名和类名必须保持一致,并且首字母大写
    • 不能出现中文字符。

7、Java程序运行机制

说到Java的运行机制,不得不提一下什么是编译型语言,什么是解释型语言。

7.1、编译型语言和解释型语言

  1. 编译型语言

    编译型语言是先将源代码编译成机器语言(机器可以读懂的语言),再由机器运行机器码,这样执行程序的效率比较高。C和C++就是典型的编译型语言。

  2. 解释型语言

    其实解释型语言是相对编译型语言存在的,解释型语言是在运行的时候才进行编译,每次运行都需要编译,这样效率比较低。JavaScript,Python就是典型的解释型语言。

  3. 解释型语言和编译型语言的区别

    举个简单的例子:同样一本英文书,找人翻译成中文版的书然后拿给你看就是编译,找一个翻译员在你旁边给你解读书的含义就是解释。两者各有利弊,编译型语言执行效率高,翻译一次可以多次运行。解释性语言执行效率低,每次运行都需要重新翻译。但是解释型的跨平台性相对要好,比如解释给一个懂中文和解释给一个懂日文的人就叫做兼容性。

7.2、Java的运行机制

Java语言是这两种类型的结合,既有编译过程,又是解释型语言。

Java首先使用文本编辑器编写后缀名为.java的源程序; 再利用编译器(javac)将源程序编译成字节码文件(*.class文件); 最后利用虚拟机(解释器,java) 解释运行。

Java程序运行机制

8、IDEA的安装和使用

8.1、什么是IDE

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

8.2、IDEA简介

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。

8.3、IDEA的下载和安装

  1. 在官网下载最新的IDEAUltimate版本

    • IDEA的的旗舰版(Ultimate版)支持JavaEE、Spring等功能,适合web和企业开发(我们的选择);
    • Community社区版删减很多东西,适合JVM和安卓开发。
    IDEA旗舰版与社区版对比
  2. 安装

    • 点击运行ideaIU-2020.2.3.exe,点击next;

      运行ideaIU
    • 选择安装路径;

      选择安装路径
    • 勾选创建桌面快捷方式,32位和64位建议都勾选,关联文件选择.java,点击next;

      关联文件
    • 点击install进行安装;

      安装
    • 安装完成,点击finish退出向导。

      安装完成

8.4、激活IDEA

  1. 运行IDEA,会先弹出一个注册框,勾选 Evaluate for free, 点击 Evaluate试用。

    注册
  2. 在“阿汤笔迹”公众号后台回复“IDEA2020激活”获取IDEA2020 版本的激活补丁。

  3. 进入 IDEA 中,先随便建个 Java 工程, 然后将最新的 IDEA 破解补丁 **jetbrains-agent-latest.zip(不要解压)**拖入 IDEA 界面中。jetbrains-agent-latest.zip拖入 IDEA 界面

  4. 拖入补丁后会弹框,点击 restart 重启 IDEA。重启 IDEA

  5. 配置助手会提示您,需要使用哪种激活方式,这里我们选择默认的 Activation Code,通过安装参数来激活,点击"为IDEA安装"。

    通过安装参数来激活
  6. 点击“是”,再次重启IDEA即可激活成功。

    ![再次重启 IDEA](./再次重启 IDEA.png)

  7. 进入 IDEA 界面后,点击 Help→Register,验证 IDEA 是否激活成功。(可以看到,已经成功激活至 2089 年)

    激活成功

8.5、IDEA的使用入门

  1. 创建一个新的项目。

    新建一个项目
  2. 我们这里创建一个基本的Java项目。在配置完环境变量后,IDEA会自动帮我们选择相应的SDK版本。

    注:若此处SDK安装目录配置不正确,需要我们手动修改。新建一个普通的Java项目

  3. 选择是否使用项目模板。(可选可不选)从模板创建项目

  4. 自定义项目名称、路径和包名。设置项目名称、路径和包

  5. 点击“finish”,我们使用IDEA创建的第一个Java项目就完成了。

  6. 输入代码:

    1
    System.out.println("Hello,Java!Hello,IDEA!");
  7. 编译、运行。程序就会在控制台输出:Hello,Java!Hello,IDEA!编译、运行

附:记住几个IDEA的快捷方式

  • 输入“psvm”+回车,便可以快速生成:

    1
    2
    3
    public static void main(String[] args) {

    }
  • 输入“sout”+回车,便可以快速生成:

    1
    System.out.println();

    (本讲完,系列博文持续更新中…… )

阿汤笔迹微信公众平台

关注**“阿汤笔迹”** 微信公众号,获取更多学习笔记。
原文地址:http://www.atangbiji.com/2020/11/02/firstAcquaintanceOfJava
博主最新文章在个人博客 http://www.atangbiji.com/ 发布。