返回顶部
首页 > 资讯 > 精选 >Java语言的运行机制怎么理解
  • 701
分享到

Java语言的运行机制怎么理解

2023-06-02 22:06:44 701人浏览 薄情痞子
摘要

这篇文章主要介绍“Java语言的运行机制怎么理解”,在日常操作中,相信很多人在Java语言的运行机制怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java语言的运行机制怎么理解”的疑惑有所帮助!接下来

这篇文章主要介绍“Java语言的运行机制怎么理解”,在日常操作中,相信很多人在Java语言的运行机制怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java语言的运行机制怎么理解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一:高级语言的运行机制

计算机不能直接理解高级语言,只能理解机器语言(如汇编),所以必须把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译有两种方式:编译和解释

1.编译型语言(如C,C++)

使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性"翻译"成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式。优点: 运行效率较高, 缺点:编译生成的程序无法移植

2.解释型语言(如Ruby,Python)

使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行的语言。解释型语言通常不会整体性的编译和链接处理,解释型语言相当于把编译型语言中的编译和解释过程混合到一起同时完成。

优点:跨平台较容易,缺点:效率较低,不能脱离解释器独立运行。

二:Java语言的运行机制

Java语言的运行机制怎么理解

1.Java是编译型和解释型语言的结合体

a.首先采用通用的java编译器将java源程序编译成为与平台无关的字节码文件(class文件)

b.由java虚拟机JVM)对字节码文件解释执行

java字节码具有平台无关性、可以在各种不同系统平台中运行,但是需要有不同版本的java虚拟机,不同系统平台的javajava虚拟机是不一样的。

2.Java 虚拟机(JVM)

a.JVM是Java字节码执行的引擎,为Java程序的执行提供必要的支持,还能优化Java字节码,使之转换成效率更高的机器指令。程序最终都要在JVM上执行,JVM中类的装载是由类加载器(ClassLoader)和它的子类实现的。

b.ClassLoader是Java运行时一个重要的系统组件,负责在运行时查找和装入类文件的类。

c.JVM屏蔽了与具体操作系统平台相关的信息,从而实现了Java程序只需生成在JVM上运行的字节码文件(class文件),就可以在多种平台上运行。不同平台对应着不同的JVM,在执行字节码时,JMV负责将每一条要执行的字节码送给解释器,解释器再将其翻译成特定平台环境的机器指令并执行。Java语言最重要的特点就是跨平台运行,使用JVM就是为了支持与操作系统无关,实现跨平台运行。

3.ClassLoader

a.JVM实现的一部分,包括bootstrapcalssloader(启动类加载器)

b.ClassLoader在JVM运行的时候家族Java核心的api: ExtClassLoader加载Java的扩展API,也就是lib/ext类; AppClassLoader加载机器上CLASSPATH设置目录中的class

c.ClassLoader加载流程:当运行一个程序的时候,JVM启动,运行bootstrapclassloader,该ClassLoader加载java核心API,然后调用ExtClassLoader加载扩展API,最后AppClassLoader加载CLASSPATH目录下定义的Class.

4.JRE

JRE是JavaRuntimeEnvironment,java运行时环境,它是java程序运行所必须的环境集合,主要由java虚拟机、java平台核心类和若干支持文件组成。其不包含开发工具、编译器、调试器以及其他工具

在执行java程序的时候,操作系统会按照下面顺序寻找JRE环境。

a.先查找当前目录下有没有JRE

b.再查找父目录下有没有JRE

c.接着在环境变量PATH制定的路径中查找JRE

d.注册表查看CurrentVersion的键值指向哪个JRE

JRE自带的基础类库主要在JRE\LIB\rt.jar文件中。在程序运行时,JRE由ClassLoader(类加载器)负责查找和加载程序引用到的基类库和其他类库。基础类库,Classloader会自动到rt.jar的位置;其他的类库,ClassLoader在环境变量CLASSPATH制定的路径中搜索

5.JDK

a.jdk是Java Development Kit,简称java开发工具包。

b.JDK是java的核心。它包括java运行环境、一堆java工具盒Java基础的类库(rt.jar)。

c.JDK包含JRE的全部内容外,还包含开发者用以编译、调试和运行java程序的工具

d.JDK、JRE、JVM之间是包含关系。范围由大到小依次为JDK、JRE、JVM。

到此,关于“Java语言的运行机制怎么理解”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Java语言的运行机制怎么理解

本文链接: https://lsjlt.com/news/231492.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java语言的运行机制怎么理解
    这篇文章主要介绍“Java语言的运行机制怎么理解”,在日常操作中,相信很多人在Java语言的运行机制怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java语言的运行机制怎么理解”的疑惑有所帮助!接下来...
    99+
    2023-06-02
  • 揭秘 go 语言的运行时机制
    答案: go语言的运行时机制通过垃圾回收、调度器和并发原语实现高效性。详细描述:垃圾回收: 自动清除不再使用的内存,避免程序员手动管理内存。调度器: 根据优先级和可用cpu核分配goro...
    99+
    2024-04-08
    go 运行时 go语言 垃圾回收器
  • java运行机制指的是什么
    这篇文章给大家分享的是有关java运行机制指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Java程序运行时,必须经过编译和运行两个步骤:首先将后缀名为java的源文件进行编译,最终生成后缀名为.clas...
    99+
    2023-06-06
  • 深度解析:Go语言中goroutine的本质和运行机制
    在Go语言中,goroutine是一种轻量级的线程,用于并发执行代码片段。与传统的线程相比,goroutine更加高效,具有更低的内存消耗和更快的启动速度。在本文中,我们将深度解析Go...
    99+
    2024-03-12
    本质 运行机制 go语言
  • c#语言怎么运行
    c# 程序通过编译器将代码编译为 il,然后由运行时执行,包括 jit 编译、垃圾回收和异常处理。运行 c# 程序可以通过控制台、windows 窗体或 web 应用程序。运行时加载程序...
    99+
    2024-04-04
    c#
  • java中MyBatis的运行机制是什么
    今天就跟大家聊聊有关java中MyBatis的运行机制是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程...
    99+
    2023-06-14
  • Java程序运行的机制是什么
    本篇文章为大家展示了Java程序运行的机制是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集...
    99+
    2023-05-31
    java ava
  • 深入了解Go语言中web框架的中间件运行机制
    目录一、中间件的基本使用1.1 iris框架中间件的使用1.2 gin框架中使用中间件1.3 echo框架中使用中间件示例二、中间件的实现2.1 iris中间件实现2.2 gin中间...
    99+
    2023-02-02
    Go语言web框架中间件运行机制 Go语言 中间件运行机制 Go语言web框架
  • c语言编译器手机版怎么运行
    手机上运行 c 语言编译器的两种方法:使用在线 ide:无需安装,但可能受限。推荐的在线 ide 包括 codeanywhere、onlinegdb 和 compiler ex...
    99+
    2024-04-05
    c语言 移动应用程序
  • JS的运行机制原理是什么
    本篇内容主要讲解“JS的运行机制原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS的运行机制原理是什么”吧!代码块: JS中的代码块是指由<script>标签分割...
    99+
    2023-06-17
  • c语言多线程同步机制怎么理解
    C语言多线程同步机制是指在多线程程序中,通过一些机制来保证多个线程之间的协调执行,避免出现竞争条件和死锁等问题。常见的多线程同步机制...
    99+
    2023-09-14
    c语言
  • JavaScript运行机制是怎么样的
    这篇文章主要介绍了JavaScript运行机制是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JS的运行机制1. js单线程Java...
    99+
    2024-04-02
  • 深入理解PHP逻辑运行机制
    当我们谈论PHP的逻辑运行机制时,我们实际上是在探讨PHP是如何解释和执行我们写的代码的。PHP是一种服务器端脚本语言,它可以与HTML一起工作,从而创建动态网页。在本文中,我们将深入...
    99+
    2024-03-06
    运行机制 php逻辑 理解深入 php脚本
  • 汇编语言无法在云主机上运行怎么解决
    汇编语言无法在云主机上运行的原因可能是因为云主机的操作系统不支持直接运行汇编代码。解决办法可以有以下几种:1. 使用虚拟机:在云主机...
    99+
    2023-09-20
    云主机
  • c语言怎么运行结果
    在 c 语言中,运行程序需要:编译源代码 (.c) 以生成可执行文件;链接可执行文件与库;在命令行中运行可执行文件。 如何运行 C 语言程序 在 C 语言中,运行程序涉及以下步骤: 1...
    99+
    2024-05-21
    c语言
  • php的运行机制和原理是什么
    PHP的运行机制和原理如下: 客户端请求:当用户在浏览器中输入一个URL并发送请求时,服务器会接收到该请求。 Web服务器:...
    99+
    2023-10-28
    php
  • 深入理解Go语言的并发机制
    深入理解Go语言的并发机制 在Go语言中,通过goroutine和channel实现并发是一种非常高效和简洁的方式。并发是指程序中的多个任务可以同时执行,而不需要等待其它任务结束。通过...
    99+
    2024-04-02
  • c语言运行窗口闪退怎么解决
    出现C语言运行窗口闪退的情况,可能是由于代码中存在错误或者运行环境配置不正确所致。以下是一些可能的解决方法:1. 检查代码错误:确保代码没有语法错误或逻辑错误,可以使用调试工具逐行检查代码。2. 检查编译器:确保使用的编译器与代码兼容,...
    99+
    2023-08-11
    c语言
  • Java反射机制怎么理解
    本篇内容主要讲解“Java反射机制怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java反射机制怎么理解”吧! 简介定义:Java语言中 一种动态(运行时)访问、检测 & 修改它...
    99+
    2023-06-03
  • JAVA语言中的反射机制是什么
    这篇文章主要为大家展示了“JAVA语言中的反射机制是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JAVA语言中的反射机制是什么”这篇文章吧。1、什么是反射?在java开发中有一个非常重要的...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作