第二讲 Java语言概述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yerenyuan_pku/article/details/79660357

计算机语言

在了解Java语言概述之前,我们得知道什么是计算机语言。语言是人类进行沟通交流的各种表达符号,方便人与人之间进行沟通与信息交换。那什么是计算机语言呢?

  • 人与计算机之间进行信息交流沟通的一种特殊语言。
  • 计算机语言中也有字符、符号等等。
  • 常见的计算机语言如C、C++、C#、Java等。

计算机软件都是用各种计算机语言编写的。最底层的叫机器语言,它由一些0和1组成,可以被某种电脑直接理解,但人就很难理解。上面一层叫汇编语言,它只能由某种电脑的汇编器软件翻译成机器语言程序,才能执行。人能够勉强理解汇编语言。人常用的语言是更上一层的高级语言,比如C、C++、C#、Java等。这些语言编写的程序一般都能在多种电脑上运行,但必须先由一个叫作编译器或者是解释器的软件将高级语言程序翻译成特定的机器语言程序。编写计算机软件的人员叫程序设计员、程序员、编程人员,他们当中的高手有时也自称为黑客。

Java语言

Java语言概述

有关Java语言的概述,我相信网上都有很多详细的阐述,所以我就不细述了,在这里只记录关键的几点。

  1. SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。注意:Java之父是詹姆斯·高斯林(James Gosling),即下面的大神。
    这里写图片描述
    学Java,不要学了半天,连人家亲爹都不认识。
  2. 一种面向Internet的编程语言。
  3. 随着Java技术在Web方面的不断成熟,已经成为Web应用程序的首选开发语言。
  4. 完全面向对象,安全可靠,与平台(指操作系统)无关的编程语言。

Java语言平台版本

Java语言在其发展历程中,有如下三种平台:

  • J2SE(Java 2 Platform Standard Edition) 标准版
    是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。比如Java版的扫雷。
  • J2ME(Java 2 Platform Micro Edition) 小型版
    是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费类产品,如手机中的应用程序。
  • J2EE(Java 2 Platform Enterprise Edition) 企业版
    是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如Servlet、Jsp等,主要针对于Web应用程序开发。

Java语言其中一个特点——跨平台性

  • 什么是跨平台性?
    通过Java语言编写的应用程序在不同的系统平台(这里所说的平台即操作系统)上都可以运行。
  • 原理是什么?
    只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine,用于解释并执行Java程序的一个应用软件)即可,由JVM来负责Java程序在该系统中的运行。
    图解(可能大家看的更为清晰明了):
    这里写图片描述
    因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性,也称为Java具有良好的可移植性。
    注意:JVM是分版本的,因为JVM需要调用平台(即操作系统)底层的函数。也可这样说,JVM是不跨平台的(而Java语言是跨平台的),因为它的存在就是Java程序和操作系统之间的一个过渡,所以它得分版本。

Java语言的环境搭建

JDK与JRE的概述

JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机只需要安装JRE即可。
JDK(Java Development Kit Java开发工具包)
JDK提供给Java开发人员使用,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等。

简单而言:使用JDK开发完成的java程序,交给JRE去运行
下面来看一个Java官方介绍Java的图:
这里写图片描述
从图中可以看到:

  • JDK在包含JRE之外,提供了开发Java应用的各种工具,比如编译器和调试器。
  • JRE包括JVM和JAVA核心类库和支持文件,是Java的运行平台,所有的Java程序都要在JRE下才能运行。
  • JVM是JRE的一部分,Java虚拟机的主要工作是将Java字节码(通过Java程序编译得到)映射到本地的CPU的指令集或OS的系统调用。JVM会根据不同的操作系统使用不同的JVM映射规则,从而使得Java平台与操作系统无关,实现了跨平台的特性。

可能上面这张图包含了太多元素,我用一张更加简化的图就能更清晰地看到三者之间的关系:
这里写图片描述
在实际开发过程中,我们首先编写Java代码,然后通过JDK中的编译程序(javac)将Java文件编译成Java字节码文件,JRE加载和验证Java字节码文件,JVM解释字节码,映射到CPU指令集或OS的系统调用,完成最终的程序功能。

JDK的下载与安装

略(关于JDK的下载与安装,大家可以自行搜索)!不过本系列教程所使用的是jdk1.8.0_181

环境变量的配置

在计算机操作系统中可以定义一系列变量,这些变量可供操作系统上所有的应用程序使用,它们被称作系统环境变量。在学习Java的过程中,需要涉及到两个系统环境变量path和classpath。下面我分别来讲解如何配置这两个环境变量。

配置环境变量Path

以Win7操作系统为例,下面将以图文并茂的形式来介绍Path环境变量的配置。

  • 打开 控制面板→所有控制面板项→系统,选择【高级系统设置】
    这里写图片描述
  • 选择 高级→环境变量
    这里写图片描述
  • 选择【新建】,在变量名和变量值输入框内分别输入JAVA_HOME和 C:\Program Files\Java\jdk1.8.0_181(之前jdk的安装目录) ,点击【确定】
    这里写图片描述
    这里写图片描述
  • 最后找到Path变量,点击编辑,在最后添加;%JAVA_HOME%\bin
    这里写图片描述
    这里写图片描述
    注意:%JAVA_HOME%中的%%动态获取某一个已存在的环境变量(如JAVA_HOME)的值。

如上配置完环境变量Path之后,我们回过头来想一下,为何要这样配置呢?因为根据windows系统查找可执行程序的原理,我们可以将java工具所在路径定义到Path环境变量中,如果当前目录下没有命令,可以让系统帮我们去找运行执行的程序。如此一来,Path环境变量的值可能就诸如这样:

Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%SystemRoot%\system32;%SystemRoot%

Path环境变量临时配置方式

使用set命令可查看或者设置环境变量的值。

  • 查看本机所有环境变量的值:C:\>set
  • 查看其中一个环境变量,set命令后面跟上已有的环境变量名即可:C:\>set Path
  • 若想在Path环境变量的值的基础上再添加一个新的值?则可以使用这样的命令:C:\>set Path=haha;%Path%
  • 将环境变量设置清空:C:\>set Path=

在dos命令行环境中临时配置java的工具目录,可以使用set命令设置,例如C:\>set Path = C:\Program Files\Java\jdk1.8.0_181\bin,只不过这种dos命令行环境配置只在当前窗口有效,当前窗口一关,即失效;而如果使用C:\>start命令新开一个dos窗口,会沿袭原窗口的环境变量值。

配置环境变量classpath

同样以Win7操作系统为例进行讲解。开头步骤省略,与配置环境变量Path类似,再次选择【新建】,在变量名和变量值输入框内分别输入CLASSPATH.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar,点击【确定】。
这里写图片描述

临时配置classpath环境变量

临时配置环境变量classpath,需要使用C:\>set classpath(类文件路径)=D:\java(类文件所在目录)命令,其原理为:一执行这条命令,java命令会启动JVM,而JVM就只去classpath路径下去找有没有要执行的.class文件,如果有就执行,如果没有就报错。若要是没配置classpath,JVM只在当前目录找,其实JVM就已默认把classpath设置为当前目录了。
注意:

  1. classpath值后有;(分号)——JVM就先去classpath路径下去找有没有要执行的.class文件,如果有就执行,如果没有再去找当前目录下有没有要执行的.class文件。
  2. classpath值后没有;(分号)——JVM就只去classpath路径下去找有没有要执行的.class文件,如果有就执行。

所以记住:配置classpath最后最好不要加分号
当然也能配置多路径,例D:\java>set classpath=C:\;D:\(先找C盘,再找D盘,C盘没找着,找D盘,C盘找着,就不找了),依然需要在当前目录下找一次,则可写为:D:\java>set classpath=.;C:\;D:\(.代表当前路径即D:\java)。
将环境变量设置清空,可以使用C:\>set classpath=命令。

path与classpath的区别

我们需要注意path与classpath的区别:

  • classpath变量是java类文件的目录,即可把Java的运行程序配置到该环境变量当中,专门供JVM使用。
    java.exe:调用JRE里面的JVM,因为运行java程序需要JVM,即java.exeJVMwindows系统底层函数main()函数
  • path变量记录的是可执行文件(如.exe文件)所在的目录,对可执行文件先在当前路径下去找,如果没有找到就去path环境变量配置的路径中去找。

验证Java语言环境搭建是否成功

Windows环境下,进入【开始菜单】,在搜索栏输入cmd, 回车后进入命令行窗口,在命令中输入java -version,查看到当前的Java版本。如果看到类似下面的控制台输出,则说明JDK安装成功:

C:\Users\李阿昀>java -version
java version “1.8.0_181”
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

注意,实际显示的版本号可能会有所区别,只要是1.8系列的版本就没有问题。

猜你喜欢

转载自blog.csdn.net/yerenyuan_pku/article/details/79660357