黑马程序员----JAVA概述----与JAVA的第一次见面

------<ahref="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


JAVA概述:

 

是SUN公司N1995年推出的一门高级编程语言。SUN不是太阳公司而是(Stanford University Network,斯坦福大学网络公司)的简称。后被oracle收购。


是一种面向对象的编程语言。

 

随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。


是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。

  

JRE.JDK是什么:

 

 JRE:JAVA运行环境,包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

 

JDK:JAVA开发工具包,JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。

  

所以安装了JDK,就不用在单独安装JRE了。


JDK ,JRE ,JVM关系示意图:

  


配置ClassPath:

用鼠标右击“我的电脑”,选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”。


classpath=D:\jdk1.8.0_40\jre\lib

临时配置方式:通过dos命令中set命令完成

 
set :用于查看本机的所有环境变量的信息。

 
set  变量名 :查看具体一个环境变量的值。

 
set  变量名=:清空一个环境变量的值。

 
set  变量名=具体值 :给指定变量定义具体值。

 

配置path:

新创建一个环境变量 JAVA_HOME 记录住jdk的目录。


如JAVA_HOME=D:\jdk1.8.0_40


在path中通过%%动态的获取JAVA_HOME的值即可。

  

path=%JAVA_HOME%\bin;%原来就有的路径不要改%

 
%JAVA_HOME%:动态获取名称为JAVA_HOME环境变量的值。

 

那么为什么要配置path和classpath呢?


 配置PATH是为了操作更方便。配置path后Widnows应用程序可以在dos命令下任意目录调用,否则某些系统程序不能直接起动。


 如配置好path环境变量后,javac.exe和java.exe在dos命令行中任意目录都可以使用。操作省事多了。



classpath是专门给类文件配置路径。当想运行的class文件不在当前目录下时,需要配置class路径。


JVM优先查找classpath路径下的.class文件。

 

程序编写执行过程:

  

1、将Java代码编写到扩展名为.java的文件中。

 

2、通过javac命令对该java文件进行编译。

 

3、通过java命令对生成的class文件进行运行。

 

 


lib目录下放置着jar包。程序中的import语句找的就是这些文件!


例如:import javax.servlet.RequestDispatcher;


    
问题在于,在cmd模式下编译,系统会提示:CheckAccount.java:5:软件包 javax.servlet不存在!


    
在安装jdk之后,仔细观察下安装路径下的文件夹,其中共计两处包含jre目录!共有三处lib目录!


包含javax.servletjar包就应该被安置在其中的某一处。首先在tomcat的安装目录下,


找到servlet-api.jar(位于D:\Program Files\Apache SoftwareFoundation\Tomcat 6.0\lib\servlet-api.jar)


这个包用winrar解压之后看到内部结构为:


        javax\servlet\http


    
import语句的结构一致!



    
我的硬盘里,lib文件夹的位置如下:


        D:\ProgramFiles\Java\jdk1.6.0_02\jre\lib


        D:\ProgramFiles\Java\jre1.6.0_02\lib


        D:\ProgramFiles\Java\jdk1.6.0_02\lib


    
分别为jdk下的libjre下的libjdk下的jre下的lib


    经过验证,把servlet-api.jar包拷贝进入jdk下的jre下的lib下的ext目录后,import语句顺利通过编译!


即:C:\Program Files\Java\jdk1.5.0_08\jre\lib\ext相关的,其他从外部导入的jar包,都放在这个目录下。


例如:在工程中导入mysql驱动jar“mysql-connector-java-3.0.17-ga-bin.jar”


其本质是拷贝了该jar包到ext目录下。其他情况,再添加oracle驱动jar包也类似处理。


再来解释下,为什么会有两处jre目录?三个lib目录分别什么作用?



    
安装JDK后,Java目录下有jdkjre两个文件夹,但jdk下还有一个jre文件夹,


而且这个jre比前面那个jrebin目录下多了个server文件夹!


    
普通用户装jre即可。开发人员需要安装jdk,其中包括jre。所以jdk目录下包括jre目录。两个jre大体相同,有细微的差别。


    
两套 jre ,是针对不同的工作职责!不同的jre负责各自范围的内容。


    
当用户只需要执行 java的程序时,那么C:\ProgramFiles\Java\jre1.5.0_08 jre ok


    
当用户是 java程序员,则需要 java开发环境。编译时,系统就会优先去找C:\ProgramFiles\Java\jdk1.5.0_08\bin


下的“ java javac”这些命令所在目录或者他们的父目录的jre。即开发环境下运行的是jdk下的jre


再说三个lib目录:


    
JDK下的lib包括java开发环境的jar包,是给JDK用的,例如JDK下有一些工具,可能要用该目录中的文件。例如,编译器等。


    JRE
下的lib只是运行java程序的jar包,是为JVM运行时候用的。包括所有的标准类库,和扩展类。


    JDK
下的JRE下的lib是开发环境中,运行时需要的jar包。最典型的就是导入的外部驱动jar包。


     因为编译时,系统找的是jdk下的jre。而不是最外层的jre 

 

 

  JDK下的jre 是工作的时候编译执行需要的运行环境

  而单独的JRE外部直接拿一个java程序(*.jar) 运行用到的运行环境


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值