概述
Java是一种可以用于编写跨平台应用的面向对象编程语言。Java语言的雏形是Sun公司的James Gosling等人于1990开发的Oak语言,其目标针对是家用电器等小型系统的编程语言,应用于电视机、电话、烤面包机等家用电器的控制和通讯。随着90年代互联网的飞速发展,Sun公司顺应趋势改造Oak语言,并于1995年以Java的名称正式发布。Sun公司称Java编程语言是一种简单、面向对象、分布式、解释型、健壮安全、与系统无关、可移植、高性能、多线程和动态的语言。如今Java已经广泛应用于各个领域的编程开发,拥有全球最大的开发者社群。Java目前也是开发Web应用最为广泛的一种选择。
作为开发者,除了掌握Java语言,最重要的事情是首先把Java开发环境建立起来。Java为开发者提供了Java Development Kit(JDK),这是Java 语言的软件开发工具包。工欲善其事,必先利其器,首先我们需要把JDK安装好。
无论是用C#和VS2015开发Androd App还是用Java和Eclipse或者android studio开发Androd App,都需要先安装JDK和Android SDK。把这些安装完毕后,再在开发工具中配置一下安装的路径就行了。(AndroidSDK提供了开发Android应用程序所需的API库和构建、测试和调试Android应用程序所需的开发工具。)由于最近才开始学习,听闻android studio是google开发的,并有取代eclipse之势,所以直接用android studio了。
安装JDK
Oracle官网:http://www.oracle.com/technetwork/java/javase/downloads/index.html
注意正确选择下载版本,如果电脑是32位,那就选择32位版本,如果电脑是64位,那就选择64位版本
JDK的全称是Java SEDevelopment Kit,也就是Java开发工具箱。SE表示标准版。JDK是Java的核心,包含了Java的运行环境JRE(Java Runtime Environment),一堆Java工具和给开发者开发应用程序时调用的Java类库。
JDK是Java程序员开发必备,因为它是组件嘛,是积木嘛,没有积木怎么摆小房子。JRE是Java程序的运行环境,是JVM(Java虚拟机)的所在地,没有它Java程序是没法运行的。
安装于
我们可以打开jdk的安装目录下的Bin目录,里面有许多后缀名为exe的可执行程序,这些都是JDK包含的工具,通过配置JDK的变量环境,我们可以方便地调用这些工具及它们的命令。
JDK包含的基本工具主要有:
· javac:Java编译器,将源代码转成字节码。
· jar:打包工具,将相关的类文件打包成一个文件。
· javadoc:文档生成器,从源码注释中提取文档。
· java:运行编译后的java程序。
后续学习文档(API文档、开发人员指南):Java Platform Standard Edition 8 Documentation。
配置环境变量
安装完成后需要设置环境变量从而使编译器正常使用。
右击“计算机”选择“属性”选择左边“高级系统设置”选择上面“高级”选项卡点击右下角“环境变量”按钮。
接下来弹出的对话框会出现用户变量和系统变量。用户变量对当前登录账户有效,系统变量对所有用户都有效,读者可根据需要设置。
为了配置JDK的系统变量环境,我们需要设置三个系统变量,分别是JAVA_HOME,Path,CLASSPATH。下面是这三个变量的设置。
1、JAVA_HOME
先设置这个系统变量名称,变量值为JDK在你电脑上的安装路径:E:\install\Java\jdk1.8.0_101创建好后则可以利用%JAVA_HOME%作为JDK安装目录的统一引用路径。
2、Path
PATH属性已存在,可直接编辑,在原来变量后追加:;%JAVA_HOME%\bin
JDK环境变量的配置做Java开发的人都应该会,这里就不细讲了!
3、CLASSPATH
在系统变量里点击新建变量名填写CLASSPATH,变量值填写“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”。注意不要忘记前面的点和中间的分号。 有的是 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
为什么要配置环境变量
一句话:让Java程序能够找到回家的路。你安装好Jdk之后,相当于给Java程序建了一个家,运行Java程序的时候,需要有个明确的指引,才能让他找到家,否则找不到家就迷路了,就报错了。配置环境变量,就相当于给Java程序指出一条回家的路。那么,既然是给人家指出回家路,这条路就不能指错,所以配置环境变量时,一定要注意严谨,不能有一丝一毫的差池。
比较正式的解释:
配置path的原因是让你可以在控制台编译、运行你的java程序而不必进入到java程序目录去运行,例如控制台命令:java-version,要执行此命令,控制台会先在当前目录找java.exe程序,找不到会去path变量中指定的路径去找此命令,如果没有找到就不会执行,java.exe是在java程序目录中的bin目录下,所以path才会配到java程序的bin目录。path可以说主要是为了方便,让你无论在哪个目录下都可以直接使用javac等命令,否则就只有到bin目录下执行javac和java命令了。
classpath变量通常是新建的变量。在编译、运行java程序时会在它指定的目录下去找你所要用到的class,也是先在本目录下找,然后在指定目录下找,都找不到就会报错了。
JDK、JRE与JVM的关系
Java是一门编程语言,同时也是一个运行平台和开发平台。大家进入Java开发领域,一定会经常与JDK、JRE和JVM三个名词打交道。我们梳理一下这三个名词,对整个Java平台也会有更清晰的理解。
- JDK : Java Development ToolKit
- JRE:Java Runtime Environment
- JVM:Java Virtual Machine
简单来说,这三者是逐层包含的关系。来看一个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指令集或O的系统调用,完成最终的程序功能。