首页 > 技术文章 > Java的入门知识和环境配置

benon94 2019-04-29 23:48 原文

前言:

  第一代编程语言:机器语言(主要编写二进制码,以看打孔机为代表)

  第二代编程语言:低级语言(主要指汇编语言)

  第三代编程语言:高级语言(C语言,C++,Java等)

 

JAVA的各个版本:

JavaSE:standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。

J2EE:enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。

J2ME:micro edition,微型版,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。

 

Java的特点:

  简单性:1.不支持多继承;2.没有指针;3.没有操作符的重载;

  面向对象:需要采用面向对象的思想设计程序和编写代码。

  可移植性:相同的源代码可不做任何改变在不同的平台上运行。

  多线程:支持多线程同时执行,任何一个线程都有自己的run()方法。

  健壮性:1.强类型机制;2.异常处理机制;3.垃圾回收机制。

  安全性:Java 提供了一个安全机制以防止恶意代码的攻击。

  分布式:Java 语言支持 Internet 应用的开发,在 Java 的基本应用编程接口中就有一个网络应用编程接口。

 

JVM(Java Virtual Machine)Java虚拟机---(使用C++编写,无法单独下载安装)

JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

在不同的操作系统中安装对应的JVM,这样使得Java源代码无视平台的差异,在不同平台均可运行。

JAVA语言非常重要的特点就是与平台的无关性,而使用JAVA虚拟机是实现这一特点的关键。

Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

 

JRE(Java Runtime Environment) Java运行环境

JRE是Java Runtime Environment缩写,指Java运行环境。

JRE包含JVM(JAVA虚拟机)和JAVA程序所需的核心类库、支持文件。

*如果想要运行一个开发好的JAVA程序,只需要安装JRE即可。

 

JDK(Java Development Kit) Java开发包(Java开发环境)

JDK是JAVA语言的软件开发包,是提供给JAVA开发人员使用的。

JDK包含:

  JRE(JVM+JAVA核心类库)

  ---前面已经说过,JVM是运行java程序的必备系统环境

  JAVA工具(编译工具javac.exe、运行工具java.exe、打包工具jar.exe、文档生成器javadoc、查错工具jdb – debugger)

  ---javac.exe用于将.java源代码文件编译生成类文件,java.exe用于运行生成的类文件.class。

 

什么叫环境变量?

比如系统自带的记事本程序notepad,在命令提示符窗口,任何路径下输入notepad,都能打开记事本程序。

这就是因为notepad有设定了环境变量。

故需要在系统中设置javac编译器的环境变量,使之在任何目录都能运行javac工具。

首先,我们要明白Windows如何在硬盘搜索某个命令呢?

  1.从当前目录开始搜索,一般是当前登入的Windows系统账户名:

    

 

   2.从环境变量Path指定的路径当中搜索。

当使用第一种方法时,每次都要输入需要执行命令所在的绝对路径地址,这会很麻烦。

因此,我们使用第二种方法,将需要执行的常用命令的绝对路径地址都加入到Path中,这样就可以直接执行了。

注意:环境变量有分“用户变量”和“系统变量”,如果只设置前者,那只能在当前用户使用,只有设置后者时,才能在所有用户中生效。

Java环境配置步骤:

1.Oracle官网下载JDK适合的版本并安装;

2.在系统属性中打“环境变量”窗口;

3.新建"JAVA_HOME"变量;-->自定义系统变量

这个变量的作用在于代表jdk的安装目录。

(无论jdk的安装目录如何变化,都可以用一个统一的名字来代表它,这样一来就不用经常去修改Path变量了。

因为Path变量很重要的,一旦修改出错,就会引起很多的问题,所以要尽量减少修改Path变量的次数。)

变量值即JDK的安装路径,如:C:\Program Files\Java\jdk1.8.0_211

4.编辑"Path"变量;-->修改系统变量中的Path变量

添加变量值:%JAVA_HOME%\bin%JAVA_HOME%\jre\bin

*其实也可以直接将JDK的安装路径添加到Path变量中来,但这样一来一旦JDK的目录变了,那path变量也要跟着变化。

而Path变量是系统最重要的变量,一旦出错了将导致许多程式不能运行,存在一定的风险。

5.新建"CLASSPATH"变量;-->自定义系统变量,定义类文件的目录,告诉JVM去什么地方执行Java程序

变量值:变量值:.;%JAVA_HOME%\lib;JAVA_HOME%\lib\tools.jar (注意最前面有一个点,不要漏了)

 CLASSPATH的作用有于将Java的类文件的目录告诉系统,使之在任何目录下都能运行类文件。

最前面加点的作用在于,既会去指定的目录查找类文件,也会在当前目录查找类文件。如果没有那个点,那JVM只会查找指定目录。

最后,在命令提示窗口内输入:java,有显示许多的命令配置,即说明配置成功。

 

总结:

  1.Path变量里面记录都是可执行文件,它使得我们在任何目录都可以运行javac这个命令(前提是你要先进入要运行的java文件所在的目录);

  2.CLASSPATH变量记录是的java运行文件所在的目录,使得我们在任何目录下都可以执行class类型的文件。

 

Java程序执行过程:

1.将Java源代码编写到源文件中,源文件的扩展名为.java。(可使用各种文本编辑工具编写源文件,比如notepad,只要最后修改扩展名即可)

2.使用javac.exe工具对源文件进行编译,生成.class文件。(.class文件的文件名即为类名) -->使用javac命令调用JDK中的编译工具,并检查语法错误

 编译源文件的时候记得 一定要加上后缀.java才行。(编译的过程其实就是检查语法的过程)

3.使用java.exe工具运行.class文件生成结果输出。

 java命令会启动JVM虚拟机,JVM再启动类加载器classLoader,类加载器去硬盘上搜索对应的class文件,找到该class文件并加载进内存中。

 JVM将class文件解释成二进制。

4.操作系统执行二进制和底层硬件平台进行交互。

 * 任何一个应用程序都要进内存中运行。

 注意:

  1.一个.java源文件可生成多个.class文件;

  2..java源文件的删除,不会影响程序的运行,只是后续需要修改程序时没有了源代码,所以才不建议删除;

  3.使用javac.exe编译.java源文件时,需要加上后缀.java才能成功。但使用java.exe运行.class文件时,只需要类名即可,不用加后缀.class。

推荐阅读