java--1历史介绍与环境搭建

1.    Windows命令行中常见的命令
1). dir: 列出当前目录下的文件以及文件夹
2). md: 创建目录 
3). cd: 进入指定目录 (cd .. 退回上一级目录; cd /退到根目录)
4). del:删除文件(不是文件夹!!!要注意)
5). rd: 删除文件
6). exit: 退出dos命令
要注意的地方:
[1]. 以dos命令来删除文件、文件夹的时候,不走回收站!!
[2]. dos中要删除某个文件夹,必须保证该文件夹为空,否则无法删掉。
[3]. 如果用在删除文件的命令del后面加上文件夹的话,表示删除这个文件夹下的所有文件(不包含这个文件夹下的子文件夹)。
2.   Java语言概述
1). SUN的全称:Stanford University Network 斯坦福大学网络公司 (绝不是太阳公司哦!!)
2). Java语言是SUN于1995年推出的一门高级面向对象的编程语言
3). 面向互联网Internet的编程语言。网络兴起时,Java语言便被推出。
4). 随着Java技术在Web方面不断成熟,已成为Web应用程序首选的开发语言。
5). 完全面向对象,并且与系统的平台无关 (跨平台性)。
3.   Java语言的三种技术架构
1). J2EE: Java2 Platform EnterpriseEdition 企业版
2). J2SE: Java2 PlatformStandard Edition 标准版
3). J2ME: Java2 PlatformMicro Edition 小型版
Java5以后分别更新为JavaEE、JavaSE和JavaME
 
4.   Java语言跨平台性
1). 何为跨平台性?
通过Java语言编写的应用程序在不同的OS(Operating System 操作系统)上都能运行。
2). Java跨平台性的原理:
(1). Java应用程序的运行时由JVM(Java Virtual Machine)来支持运行的。

(2). 但是JVM是一个不跨平台的软件,不同的OS有对应的JVM。所以JVM是不跨平台的。
(3). JVM的不跨平台性保证了Java应用程序的跨平台性。

.    JRE和JDK
1). JRE: Java运行时环境
(1). 全称Java Runtime Environment。
(2). 包含JVM和Java应用程序运行时的核心类库等。
2). JDK: Java开发工具包
      (1). 全称Java Development Kit
      (2). 是提供给Java开发人员使用的。
其中包含了java、javac、jar等开发工具。同时也包含了JRE。
(3)JDK中包含JRE的原因
JDK中的bin目录下的javac、jar、java等工具也是由Java语言编写的,运行的时候依靠JVM。所以必须自带JRE。
注意:
[1]. 安装了JDK之后,不用再次单独特意安装JRE
[2]. JDK中有JRE,JRE中有JVM
[3]. 双击某个exe可能出现一闪而过的现象
       原因就是:这个exe不是通过GUI(图形用户界面)而是通过CLI(命令行用户界面)来和用户进行交互的。此时应该在DOS窗口中打开这个exe。
安装时候注意:
[1]. 由于JDK中包含JRE,所以在安装完JDK之后,会自动跳出提示是否再次安装JRE。
       此时如果不安装JRE,则你的JRE文件夹是在JDK文件夹下面的
       如果此时安装JRE,则会并列JDK文件夹并列创建一个JRE目录。如图所示。
      
[2]. 安装之后的JDK文件夹可以剪切走,作为绿色版的Java开发套件到别的机器上进行Java
开发使用。
2.   开发环境搭建(一) 配置环境变量path
1). *当你在dos中的使用某个exe命令的时候,windows操作系统怎么查找这个exe的位置呢?
       Step1.首先到DOS窗口运行命令的所在的当前的文件夹目录去查找这个exe是否存在。 如果找不到这个exe,转Step2
       Step2.操作系统此时到系统的环境变量path中去查找这个exe所在的路径。如果查找到了,就能执行这个命令。否则,就会出现错误提示:xxx不是内部或者外部命令
如果出现上面的错误提示,修正办法就是把这个exe所在的目录位置设置到环境变量
path中。
2). 将JDK的bin目录配置到path中的技巧:
假设要配置的bin目录是: “C:\Program Files\Java\jdk1.7.0_02\bin”
      (1). 区分目录中的变化的部分和不变的部分
              [1].目录中容易变化的部分设置到JAVA_HOME变量中
              这里面“C:\Program Files\Java\jdk1.7.0_02\”是容易随着每次安装java软件的版本
      的不同和安装软件的位置不同而变化的,所以把这部分起名叫做JAVA_HOME。
              把变量JAVA_HOME添加到系统中。(这个变量和path不一样。不是os自带的,第一次使用的时候并不存在,需要自行手动创建)
       
              [2].目录中相对不变的部分采用和JAVA_HOME组合的方式设置到path中。
              **path变量如果想引用其他环境变量的值,使用%环境变量名%
                组合之后的要设置到path中的值就是 %JAVA_HOME%\bin
              **这样做的好处:一旦jdk目录被修改了,直接修改这个仅仅具有一个取值的JAVA_HOME变量即可,而不用重新修改还有很多目录的path变量
      **设置JAVA_HOME的另一个好处:Tomcat服务器本身启动的时候,需要值为JDK下bin的JAVA_HOME环境变量
      **修改path的坏处:如果path无意中修改错了,很有可能会导致系统的很多系统软件和应用软件无法使用。
      (2). 将设置好的jdk的bin的值添加到path中
[1]. OS在path中查找exe的特点
OS在path中查找所需的exe的顺序就是从path的值的最开始查找。先查找到,就执行先查找到路径中的exe。
[2]. 为了使得OS能够率先查找到我们自己设定的jdk的目录,应该把自行设定的
%JAVA_HOME%\bin添加到path原有值的前面。如图:

3). 配置环境变量的两种方式
      (1). 永久配置
这种方式采用windows对话框来配置的。具体步骤就是:我的电脑(win7就是计算机)à属性à高级à环境变量   一劳永逸的配置:一次配置,永久生效
      (2). 临时配置
[1].应用场景:
想在别的电脑(没有安装过Java软件)上进行Java程序的开发,此时要求不能修改path变量。这个时候采用临时配置jdk最为方便。
[2].临时配置步骤:
Step1. 打开dos命令行窗口。(>set 某个环境变量的名字   可以查看这个环境变量的值)
Step2. 输入set path=xxxxx;%path%
其中:xxxxx是要设置jdk的目录  %path%是获取原始path变量中的值
**注意:这种临时配置jdk的方式仅仅在当前的dos和通过当前dos窗口通过start命令生成的新窗口有效。如果关掉这个dos窗口之后,重新手动打开一个新的dos窗口,刚才的set path无效。
 
4). 主函数main的作用
(1). 可以保证指定类独立运行。
(2). main方法是JVM运行一个程序的入口
注意:一个java源文件可以编写多个默认修饰符修饰的类。当使用javac工具进行编译这个.java源文件之后,会自动生成多个以每一个类名为名字的 .class文件。
3.   开发环境搭建(二) 配置环境变量classpath
 
如果想通过java.exe这个工具去运行某个字节码文件(.class),必须到这个字节码文件所在的目录下才能执行。否则会抛出异常
Exception in thread “main” java.lang.NoClassDefFoundError:xxx
想法: 能不能在任意目录下,都能执行某一固定文件夹下存放的.class的字节码文件?
做法:可以像配置javac和java一样,把这个指定的目录告诉系统的某个环境变量。让系统自行查找指定位置的字节码文件。
-------------------这就需要配置classpath环境变量。
配置classpath环境变量
(1). 临时配置
[1]. 在所在的命令行窗口中  输入set classpath=”字节码文件所在的目录;”。
之后便可以在任意文件夹下面运行刚才在classpath中指定的字节码文件所在的目录
[2]. JVM执行class文件的原理:就是在执行java xxx.class回车之后,JVM就回到classpath中去查找有没有名叫xxx.class的字节码文件。如果有,就执行。
[3]. 清空环境变量:在cmd中输入 “set 环境变量名=”,就可以清空对应的环境变量的值。
 
注意:**当执行“java A”的时候,如果在当前目录和classpath中指定的都有同名的A.class的文件,JVM会执行哪一个?JVM会先执行classpath中指定的名叫A.class的字节码文件。如果在classpath中找不到A.class,JVM才会到当前目录找A.class文件。
 
**如果set classpath=”字节码文件所在的目录;”结尾不加;则JVM仅仅会在classpath中查找,而不会在当前目录查找。
[4]. 设置classpath环境变量来更改JVM查找class文件的顺序
       setclasspath=.;其他字节码文件存放的目录
       其中,.代表执行命令的当前目录
       这是推荐的设置办法。这样JVM首先去当前目录查找需要的class文件。如果没找到,再去后面指定的目录中去查找。如果在当前目录和指定的目录都没找到指定的字节码文件,则java命令指定之后就会抛出异常。
(2). 永久配置
步骤和通过windows对话框的方式配置path变量一样。只不过classpath不是OS自带的变量。第一次使用需要首先手动创建这个变量。其余配置方式一样。
4.    classpath和path的不同点
前提:classpath值的末尾加了;
path: 某个命令的时候,首先到当前目录下面查找这个命令是否存在。存在的话,就执行。如果不存在,才会到path的值查找这个命令是否存在。(先当前,后path)
classpath正好和path相反。java A 执行之后,JVM会首先到classpath中指定的目录去查找有没有指定的类文件。如果有就执行。如果没有,才会到当前目录查找。(先classpath,后当前)
 

猜你喜欢

转载自zhyp29.iteye.com/blog/2305339
今日推荐