• java的运行机制, JVM


    java程序的运行机制

         java语言比较特殊,由java语言编写的程序需要经过编译步骤,但这个编译步骤并不会生成特定平台的字节码,而是生成一种与平台无关的字节码(即*.class文件)。然,这中字节码并不是可执行的,必须使用java解释器来解释执行。因此我们认为,java语言是编译型语言,也是解释型语言

       java程序的执行过程必须经过先编译,后解释的步骤。(在dos命令中,用javac,进行编译,用关键字java解释执行)

    JVM(Java Virtual Machine)

         Java语言里负责解释执行字节码文件的是Java虚拟机,即JVM。所有平台上的JVM向编译器提供相同的编程接口,而编译器只需要面向虚拟机,生成虚拟机能理解的代码,然后由虚拟机来解释执行。在一些虚拟机的实现中,还会将虚拟机代码转换成特定系统的机器码执行,从而提高执行效率。

        不同平台上的JVM是不同的,当使用java编译器编译java程序时,生成的是与平台无关的字节码,这些字节码不面向任何具体平台,只面向JVM。JVM是java程序跨平台的关键部分。

    开发java的准备

      
      

           关于JDK

                JDK提供了开发java应用程序的开发包,,它提供了编译,运行java程序所需的各种工具和资源,包括java编译器,java运行时环境,以及常用的java类库等。
      

          JRE,与jvm的关系

        JRE(java运行时环境)包含JVM,jvm是运行java程序的核心虚拟机,而运行java程序不仅需要核心虚拟机,,还需要其他的类加载器,字节码校验器以及大量的基础类库。JRE处理包含jvm外,还包含运行java程序的其他环境支持。一般而言,如果只是运行java程序,我们可以只安装jre,无需安装jdk

           注:开发java程序,则应该选择安装JDK,当然,安装了JDK后,就包含了JRE,也可以运行java程序。但如果只是运行java程序,则需要在计算机上安装JRE,仅安装JVM是不够的。实际
                     上,   SAN网站上提供的就是JRE的下载,并不提供单独JVM的下载  

      

  • 相关阅读:
    redis持久化之AOF和RDB
    pycharm快捷键
    500系列错误
    400系列错误
    Linux常用命令大全
    从浏览器输入一个地址,发送请求,经历了哪些过程(面试问题)
    401的错误分析
    301和302的区别
    数据库 语法收集 (主 mysql,次oracle,日常积累)
    python 发送邮件 smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') 以及授权码设置步骤
  • 原文地址:https://www.cnblogs.com/Linger-wj/p/3800773.html
Copyright © 2020-2023  润新知