Java Web入门之java--第一节 java 简介及开发环境安装

本篇博客是Java web入门的第一篇博客,这篇博客主要讲述java语言的一些简介。

  一)先从Java语言的诞生说起。

  1991年,Sun公司在一个叫做James Gosling的人的带领下,成立了一个项目组,名字叫做“Green”。当时这个项目组成立的时候,是计划开发一种能够运行在消费性电子设备上的编程语言。这种设备的特点是:1、运算能力和运算空间非常有限;2、不同的厂商设计产品时会使用完全不同的CPU,因此会有完全不同的架构。为了解决这个问题,当时Green希望设计出一种具有非常优秀的“跨平台”特性的语言。1992年,Green项目组最初的产品诞生。这个产品一开始被称之为“Oak”,但是后来发现,Oak已经是另外一种计算机语言的名字。于是,Oak语言更名为Java语言。

   1996年,Java语言发布了第一个正式版本:1.0版本。这时,Java语言能够编写的程序称之为Applet。这种Applet只能在集成了Java环境的浏览器中运行,当时主要为浏览器来增加各种动态效果,用来美化页面和增强用户与浏览器的交互。很快的,1.1版本发布。这个版本修正了1.0版本中大量的bug, 并完善了1.0版本中的很多缺失的部分。1998年12月,Java1.2版本发布。为了表明这是一个非常重大的更新,Sun公司把Java1.2版本,也称之为Java 2 Platform,来表示这是一个全新的Java平台。对1.0和1.1扩展之后得到的部分称之为“标准版”,也就是所谓的“Java 2 Standard Edition”,简称“J2SE”。标准版可以用来写Applet,也可以用来编写脱离浏览器,独立运行的程序(Application)。除了标准版之外,Java 2还包括“企业版”(J2EE)和“微型版”(J2ME)。企业版主要提供了服务器端编程的功能,而微型版主要提供了在一些资源受限制的平台上(例如手机)运行Java的功能。之后,Java语言发布了1.3和1.4版本。这两个版本主要修正了bug,完善了Java的类库。2004年,Java推出了一个新版本。这个版本是 1.1之后,Java第一次对语言的基础类库做出重大改进的版本。Sun公司把这个版本称之为5.0。这也就意味着,这个版本与原来的Java 2平台相比有着很多不同的地方,而原来的三个平台:J2SE、J2EE、J2ME也被改名成为了Java SE、 Java EE、Java ME。

那么,Java语言究竟有什么特性,能够在众多语言中脱颖而出呢? 

   1)纯面向对象

  相对于另一种面向对象的语言C++,Java语言是一种非常纯粹的面向对象的语言。对于C++而言,写程序除了可以使用面向对象的方式之外,还可以采用面向过程、面向模板等多种方式;而相对的,Java语言只能采用面向对象的方式进行编程。

  2)简单 VS 复杂

  由于Java语言相对C++来说是一种纯粹的面向对象的语言,因此Java语言在理解和学习方面,都要比C++语言更简单。Java的简单性,指的是Java语言的这种特点:1、Java语言本身的特点非常简单,没有复杂和晦涩的语法细节;2、Java语言倾向于让程序员能够简洁清晰的完成任务。 而Java语言同时也是复杂的,体现在:1、虽然Java语言本身非常简单,但是它有大量强大而扎实的类库,这些类库极大的丰富了Java语言的特性;2、Java语言最主要的阵地是企业级应用,这种应用本身,由于涉及到多线程、分布式、数据库、网络等各种各样的领域,Java语言也提供了各种对应的特性,因此从这个角度来看,Java语言是复杂的。

  3)开放性

  Java语言是一种开放的语言:Sun公司已经对Java语言开源,任何人都可以读到Java语言的代码;并且任何程序员都可以对Java语言未来的发展提出自己的开发和建议。现在,Java社区有大量开源、免费的东西可供下载和使用,这在一定程度上也帮助了Java语言的发展和推广。

  4)跨平台性

    运行Java可以在各种平台上面,包括常见的Windows系统,也包括企业级应用需要的Unix系统。这种在不同平台下运行的能力使Java语言在企业级应用中有着深远的影响。

二)下面介绍Java语言的运行机制。

  直接操作计算机指令,使用的是机器语言以及汇编语言。但是,对于程序员来说,直接使用汇编语言来编写程序,开发起来非常的慢,也非常的辛苦。所以出现了计算机高级语言。所谓的计算机高级语言,实际上指的:人为的规定一些语法。然后,在遵循这些语法的前提下,写出一个文本文件,最后利用某种方式,把文本文件转化为机器指令进行执行。我们现在所谓的编程,往往指的就是编写文本文件的这个部分。这个文本文件一般我们称之为源文件。那么,应当如何把一个源文件转化为机器指令进行执行呢?在现代计算机语言中,主要有两种方式:一种是编译型,一种是解释型。编译型语言指的是,通过一个编译器软件,把源文件转化为可执行文件。可执行文件的内容,就是一些机器指令,以及相关的一些数据。在Windows中,可执行文件往往以.exe作为后缀名。在执行程序的时候,不需要源代码文件,只需要可执行文件即可。示意如下:

                                                         源文件 -- 编译器--> 可执行文件运行可执行文件 --> 机器指令

  与编译型语言相对的是解释型语言。解释型语言需要一个解释器软件,这个软件会读源文件,在读文件的过程中,同时完成将源文件内容翻译成机器指令以及执行的过程。换句话说,解释器将读取源文件、翻译成机器指令、执行指令这三步同时完成。示意如下:

                                                         文本文件 --解释器--> 直接翻译成机器指令

  由上可知,编译型语言在将源文件编译成可执行文件之后,运行程序只需要可执行文件,不再需要重复编译的过程。而解释型语言每次运行时必须重复翻译源文件,因此从运行效率上来说,解释型语言远远不如编译型语言。当然,解释型语言也有自己的优势:跨平台性较好。由于编译型语言运行时只需要可执行文件,而可执行文件又与平台紧密相连,这也就意味着,对于不同的平台,必须要有不同的可执行文件才行。而相对而言,解释型语言对于不同的平台,只需要有不同的解释器就可以了,源代码几乎不用进行修改。而 Java语言,则兼具有编译型和解释型两种语言的特点:Java语言运行时,采用的是先编译、后解释的方式运行。首先,Java源代码要写在后缀名为.java的源文件中。然后,通过一个编译器,编译生成.class文件,这个文件被称为“二进制字节码文件”。而.class文件并不能够直接在机器上执行。执行.class文件,需要一个解释器,这个解释器会把.class中的指令翻译成真正机器上的指令。也就是说,需要解释执行.class文件。 示意如下:

                                                        .java源文件 -- 编译 --> .class字节码文件 -- 解释执行 --> 真正的机器指令

字节码文件是平台中立的,也就是说,运行在不同平台上的.class文件内容相同,与所在平台无关。

  那么.class文件中保存的是什么内容呢?这个文件中保存的也是计算机指令,所不同的是,这些计算机指令不是真实计算机所拥有的指令,而是一些虚拟的指令。在解释执行.class文件的指令时,为了能让这些虚拟的计算机指令能够转换成真正的计算机指令,我们需要一个Java虚拟机(Java Virtual Machine,简称 JVM)。JVM事实上是一个软件,这个软件为Java程序模拟出一个统一的运行环境。Java程序只需要适应这个虚拟的环境,而与底层真正的硬件环境及操作系统环境无关。换句话说,JVM的作用在于,它屏蔽了底层不同平台的差异。Java虚拟机接收.class文件中的虚拟指令,这些指令很类似于真正的汇编语言指令,但这些指令与底层的操作系统平台和硬件平台无关,完全是另外设计出的一套独立体系。而不同平台下的Java虚拟机,在执行时,会把.class文件中的虚拟机指令翻译成对应平台上真正的计算机指令。因此,我们可以修改上面的示意如下:

                                                      .java源文件 -- 编译 --> .class字节码文件 –在JVM中解释执行--> 真正的机器指令

Java 语言这种“先编译,后解释”的运行机制,使得其同时拥有了编译型语言的高效性和解释型语言的跨平台性。

  三)JRE 与 JDK

   JRE,也就是Java Runtime Environment的缩写,指的是Java的运行环境。包括JVM和Java解释器。但是仅仅有JRE,只能是完成从.class文件到真正的机器指令这一步,而无法把一个源文件编译成一个.class 文件。

JDK,指的是Java Development Kit,Java开发工具包。从内容上说,JDK=JRE+工具(编译器、调试器、其他工具...)+ 类库,我们进行Java开发,至少应当有JDK。JDK的下载网站(链接为:https://www.oracle.com/java/technologies/javase-java-platform-install.html)。 对于Windows系统而言,下载JDK之后,安装起来与其他的软件安装时并没有太大区别, 在此不多赘述。

四)Java 开发环境配置

  当JDK安装完成之后,还需要对电脑进行一些环境变量配置,完成之后才能进行java程序开发。

  以大家常用的widows系统为例:

  右键点击“我的电脑” -- 选择“属性” -- 选择“高级系统设置” -- 选择“环境变量”

  在系统变量中,点击“新建”,增加JAVA_HOME系统变量,这个变量的值设为JDK的安装目录。假设JDK安装在D:\Java\jdk。 然后,在系统变量中,查找PATH变量(不区分大小写)。在Path变量的末尾,增加一 句:“;D:\Java\jdk\bin”。注意两个要点:1、在Path末尾增加,千万不要把原有的内容去掉;2、增加的值为Java安装目录下的bin目录。 最后,增加一个 CLASSPATH变量。值为“.”,注意不带双引号。

  当所有的环境变量都配置好了之后,打开Windows中的命令行,执行java -version。如果得到正确的版本信息,则说明配置正常。

  对于配置开发环境还有不了解的同学,可以自行百度。网上的图文教程很详细。下一节我们开始第一个java程序Hello World。话说程序员的道路都是从hello world开启的,请关注该篇博客的同学做好准备。

你可能感兴趣的:(Java Web入门之java--第一节 java 简介及开发环境安装)