• JDK JRE JVM


    一 JDK的下载

      百度搜索JDK直接进入官网下载即可

               官网链接  https://www.oracle.com/technetwork/java/javase/downloads/index.html

    二 JDK的版本 

         目前的JDK的版本已经更新到了13.x的版本,Java语言最早发布的时候肯定是提出的1.x版本,当1.x版本更新出来以后,程序员需要去使用Java,使用的时候会出现问题,Java官方不断的去修改

          当JDK更新到5.x的版本,是一个大更新,更新了非常多的东西,例如:泛型,增强for循环,可变参数,注释....,目前开发人员喜欢使用的是JDK 8.x版本,因为这个版本比较稳定,没有太多的Bug

    三 JDK的安装

           JDK安装成功以后,桌面不会有任何的快捷方式,怎么检测安装成功,JDK默认安装到 C:Program FilesJava 路径下,当在该目录下,有这2个文件夹代表安装成功

       

    四 Java运行机制

                     Java语言的运行分为编译和运行2个阶段

         编译阶段:

               通过javac.exe命令将.java文件编译成.class文件

         运行阶段:

               通过java.exe命令调用JVM去运行.class文件

           

    五  使用CMD命令提示符进行Java编译和与运行   

         第一步:创建记事本 编辑内容,修改文件类型为.java 

                                

                   第二步: 配置环境变量

                               配置方式可以百度,以下推荐一篇

                                 https://blog.csdn.net/renlianggee/article/details/90023464

                  第三步:通过javac.exe命令编译.java文件  生成.class文件

                                

                第四步:通过java.exe命令运行.class文件

                              

     六  JDK的目录结构

              java的结构

                                   

             jdk的目录结构

                           

                    jre的目录结构

                               

      七  JDK安装以后为何里面会有2套JRE

                一套存在 C:Program FilesJavajdk1.8.0_101jre 路径下,另一套存在 C:Program FilesJavajre1.8.0_101,这是2套运行环境,我们在安装JDK的时候,安装包会提示我们是否安装一套JRE,那么这2套一般什么用呢,当我们运行Java代码的时候,需要通过javac.exe和java.exe去进行编译和运行2个阶段,那么这个javac.exe和java.exe是一个包装器,它相当于一个快捷方式,类似于我们的电脑如果打开一个软件,需要点击桌面的快捷方式,那么这个javac.exe和java.exe去相当于这个快捷方式,我们通过它去掉用工具去运行我们写的代码,那么真正运行我们的代码的东西是放在 C:Program FilesJavajdk1.8.0_101lib 路径下的 tools.jar, 你可以尝试把这个jar包改个名,然后重新运行,会报错Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac /Main. 这个tools.jar是由Java代码写的,它运行也需要一套运行环境,所以2套JRE,一套用来运行我们自己写的代码,一套用来运行那些负责编译和运行的工具

                       如果是开发人员,电脑最少需要有一套JRE 一套JDK,当然我们在安装的时候,一般建议把2套JRE都安装了,如果你是普通的用户,电脑有一套JRE就可以运行代码了

    八 JDK JRE JVM

      JDK(java development kit)
      JDK是Java开发工具包,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。

      JRE( java runtime environment)
      JRE是java的运行环境,包含JVM标准实现及Java核心类库。

      JVM(java virtual machine)
      JVM是java虚拟机,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。

      3者的关系

               JDK = JRE + 开发工具

               JRE = JVM + 类库

                      

    九  JDK下3个lib区别

      JDK下的lib包括java开发环境的jar包,是给JDK用的,例如JDK下有一些工具,可能要用该目录中的文件。例如,编译器等。 
      JRE下的lib只是运行java程序的jar包,是为JVM运行时候用的。包括所有的标准类库,和扩展类。 
      JDK下的JRE下的lib是开发环境中,运行时需要的jar包。最典型的就是导入的外部驱动jar包。因为编译时,系统找的是jdk下的jre。而不是最外层的jre

     十 JAVA实现跨平台的原因

        Java 能够跨平台运行的核心在于 JVM 。不是 Java 能够跨平台,而是它的 jvm 能够跨平台。我们知道,不同的操作系统向上的 API 肯定是不同的,
        那么如果我们想要写一段代码调用系统的声音设备,就需要针对不同系统的 API 写出不同的代码来完成动作。
        Java 引入了字节码的概念,jvm 只能认识字节码,并将它们解释到系统的 API 调用。
        针对不同的系统有不同的 jvm 实现,有 Linux 版本的 jvm 实现,也有 Windows 版本的 jvm 实现,但是同一段代码在编译后的字节码是一样的。
        引用上面的例子,在 Java API 层面,我们调用系统声音设备的代码是唯一的,和系统无关,编译生成的字节码也是唯一的。但是同一段字节码,
        在不同的 jvm 实现上会映射到不同系统的 API 调用,从而实现代码的不加修改即可跨平台运行。

          

                  

        

  • 相关阅读:
    MySQL RR隔离 读一致性
    C++奥赛一本通刷题记录(高精度)
    CodeVs天梯之Diamond
    CodeVs天梯之Gold
    CodeVs天梯之Silver
    CodeVs天梯之Bronze
    【2018.1.14】本蒟蒻又回来了
    test
    UVa12545
    UVa1149
  • 原文地址:https://www.cnblogs.com/wangxiucai/p/12530229.html
Copyright © 2020-2023  润新知