zoukankan      html  css  js  c++  java
  • 【java】详解JDK的安装和配置

    目录结构:

    contents structure [+]

    什么是JDK

    JDK就是Java Development Kit,java开发工具包,由sun公司开发。

    JDK的三个版本

    • 桌面系统或应用程序的标准版(Java 2 Platform Standard Edition,J2SE)
    • 小型设备和智能卡的Micro版本(Java 2 Platform Micro Edition,J2ME)
    • 服务器应用程序和服务的平台企业版(Java 2 Platform EnterPrise Edition)

    JDK包含的主要内容

    • Java工具
    • Java运行环境(Java虚拟机)——运行Java程序的基础
    • Java的基础类库——开发Java应用程序的基础

    JDK的安装

    JDK是免安装的,从官网下载完成即可。

    JDK的配置

    进入到系统的环境变量对话框中:


    1. 配置Java-HOME

      1. )该变量说明JDK的安装路径,如没有就新建一个JAVA_HOME
    2. 配置PATH

      1. )在变量值最前端加上“%JAVA_HOME%in;”——该变量就是告诉系统Java命令所对应的可执行文件的位置
      2. )%JAVA_HOME%表示的含义就是引用第1步已经配置好的JAVA_HOME的值
    3. 到底自己需不需要配置CLASSPATH

      1. 在网上,有一些教程配置了CLASSPATH,有些没有配置CLASSPATH,那么到底如何判断自己是否需要配置CLASSPATH环境变量呢?如使用JDK1.4以及以前的版本,则需要在CLASSPATH环境变量中加上一点“.”,用于告诉JRE需要在当前路径下搜索java类,除此之外还有编译和运行JAVA程序需要的lib目录下的dt.jar和toors.jar包。但是JDK1.5及其以上的版本,JRE可以自动搜索当前路径下的类路径,和编译、运行程序需要的JAVA的dt.jar和tools.jar。现在最新的版本是1.8,因此可以不需要配置CLASSPATH环境变量。如果没有配置CLASSPATH,那么JRE会在当前路径下搜索类文件,和自动加载dt.jar和tools.jar文件。如果配置了CLASSPATH,那么JRE将会按照CLASSPATH的路径搜索类文件和加载需要的dt.jar和tools.jar文件,换句话说,如果我们的CLASSPATH没有配置当前路径,也就是没有配置一点“.”,那么即使在DOS窗口中调到了类文件的目录下,JRE也找不到类文件(因为JRE有CLASSPATH了,将会严格按照CLASSPATH的值运行,CLASSPATH没有告诉JRE在当前路径下,所以JRE并不会在当前路径下寻找),这时候可以通过:

        java -classpath . java类

        在当前路径下加载java类。

    4. CLASSPATH的通用配置

      1. 如果需要配置CLASSPATH,那么通常配置成如下“.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar”。
        1. 字符串的最开始有一个点“.”,它也是路径的一部分,代表当前路径
        2. CLASSPATH有两个作用,第一个作用就是代表当前路径,第二个作用就是指出程序运行时需要的类和一些工具
        3. 》CLASSPATH也可只需配置当前路径,也就是只配置“.”。
    5. PATH和ClassPath(路径作用)的作用分析

      1. 当我们在cmd窗口中用命令“javac Hello.java”,由于我们配置了PATH,因此计算机可以通过环境变量找到javac,然后会生成Hello.class文件,这时候我们通过命令“java Hello”就可以运行程序,ClassPath就是在运行“java Hello”的时候告诉计算机这里的Hello(Hello.class)的位置。但是由于JDK1.5以上版本的JRE会自动搜寻当前目录下的类文件,因此CLASSPATH可以配置也可以不配置ClassPath。

     在DOS查看Path和CLASSPATH的值

    在系统的dos命令框中,输入path可查看到配置的path,输入set classpath可查看到classpath的值。


  • 相关阅读:
    C++虚函数机制(转)
    C/C++中extern关键字详解(转)
    (转)Javascript定义类(class)的三种方法
    使用HtmlAgilityPack实现对网页内容的抓取
    (转)Lucene Document getBoost(float) 和 setBoost(float)
    (转)Ajax中Get请求与Post请求的区别
    (转)Lucene.net实现自定义排序
    Lucene.net基本功能核心代码
    (转)使用Lucene.Net实现全文检索
    C#将html table 导出成excel
  • 原文地址:https://www.cnblogs.com/HDK2016/p/6128483.html
Copyright © 2011-2022 走看看