Java(二)——Java运行机制

【Java 入门】Java 初识、编译运行机制及开发环境搭建 Java 入门篇 —— Java 开发语言初识,编译运行原理介绍,Java 开发环境的搭建,附详细演示与软件下载地址。 阅读详情

一、高级语言的运行机制

按照程序执行方式可以将高级程序设计语言分为编译型和解释型两种。

1. 编译型

利用特定的编译器,针对特定平台(操作系统),将高级语言直接一次性“翻译”成该平台硬件可以执行的机器码,并包装成该平台所能识别的可执行性程序格式,这个过程叫做编译(Complie)。编译后的生成的可执行性程序可以脱离开发环境,在特定平台运行。

因为编译型语言是一次性地编译成机器码,所以执行效率高,但是编译生成的可执行文件无法在其他平台运行,要想在其他平台运行,必须复制源代码在该平台上,至少重新编译。

现有的C、C++、Objective-C、Pascal等高级语言都属于编译型语言。

2. 解释型

解释型语言使用特定的解释器逐行解释源代码,生成机器码并立即执行,这意味着解释型语言将编译和解释两个步骤混在了一起,同时执行,每执行一次源代码,都要编译,这使得解释型语言的执行效率降低。但有一个优势,它的跨平台性好,只需要不同平台的解释器即可,不同平台的解释器负责生成特定的机器码,解释型语言可以方便地在不同平台之间进行移植,但这是以牺牲程序执行效率为代价的。

现有的Ruby、Python等高级语言都属于解释型语言。

3. 伪编译型

还有一种伪编译型语言,比如Visual Basic,该语言是一种半编译型语言,首先被编译成P-代码,并将解释引擎封装在可执行性程序内,当程序运行时,P-代码会被解析成真正的二进制代码。表面看起来,Visual Basic可以编译生成可执行的exe文件,而这个exe文件也可以脱离开发环境,在特定平台上运行,非常像编译型语言。实际上,在这个exe文件中,既有程序的启动代码,也有链接解释程序的代码,而这部分代码负责启动Visual Basic解释程序,再对Visual Basic代码进行解释并执行。

二、Java的运行机制

Java语言是现将源程序编译成一种平台无关的字节码文件(.class文件),然后由JVM去解释该字节码文件,生成特定平台的机器码。从而实现Java的平台无关性。

一个笔帽要盖在不同的两支笔上,就需要一个转换器,这个转换器对笔有着不同的接口,而对笔帽是统一的接口。 不同的平台就相当于不同的笔,而Java字节码文件就相当于笔帽,JVM就相当于这个转换器。可以把JVM看成有对上(Java字节码)和对下(平台)两个接口。JVM向上提供给Java字节码的接口完全相同;向下适应不同平台的接口则各不相同。

 

 

 

 

 

XCP实战系列介绍01-测量与标定底层逻辑介绍 XCP-测量与标定底层代码实现介绍,通过对相关API调用关系介绍加深开发人员对其功能的了解。 阅读详情

相关推荐

2017全国大学生电子设计大赛B题 | 板球控制系统(四)机械设计相关

转载请注明出处。   转眼2019了诶,可能有些同学又该问了,哇向阳哥,你这个鸽子放的好,转眼大半年了一年都没更新,我也知道啊,说好的源码呢,挖的机械的坑呢?咕咕咕咕我也不想啊,我这不是懒吗!过年有空了,又到了收红包泡妹子玩游戏.......呸,学习准备比赛码代码的时候了,终于有点空闲,于是乎今晚先把机械的大坑填了。     咱话先说在最前面。机械这玩意,靠经验,也考想象力,更要命的还是出了...

王向阳的博客 3万+

Java程序运行机制

Java程序运行机制

qq_45382625的博客 3800

正点原子ATK-LORA-01无线串口代码移植+STM32F103C8T6(标准库)

目录 一、ATK-LORA-01无线串口资料 二、代码移植 1.分析 (1)usart3(也可以是其他的串口)用于接收数据的串口 usart.h (2)time3(也可以是其他的定时器)用于时序的设置 (3)lora.c 三、演示 1.主机(发送方) (1)主机接线 (2)主机代码(发送方) (3)主机实物 插上无线串口通电即可发送​ 2.从机(接收方) (1)从机接线(LORA与主机相同) (2)从机代码(接收方) (3)从机实物 接上TTL和LORA并通电即...

m0_56942354的博客 8968

Java运行机制

Java的运行机制

m0_53917001的博客 1万+

Q学习(Q-learning)入门小例子及python实现

一、从马尔科夫过程到Q学习 # 有一定基础的读者可以直接看第二部分 Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov Decision Processes, MDPs)为理论基础。 标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ>表示,其中: S是一个离散有界的状态空间; A是一个离散的动作空间; P为状态转...

wlm_py的博客 4万+

CGAL-5.6的安装与编译(Win10+vs2022+CGAL-5.6+Boost1.82.0)

CGAL是Computational Geometry Algorithms Library(计算几何算法库)的缩写,C++的高效算法库。CGAL只是一个头文件库(从5.0版本开始),这意味着CGAL无需编译,只需安装好CGAL的依赖项即可。CGAL5.6。

baidu_34931359的博客 3902

Java的运行机制详解

其中JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要类加载器,字节码校验器以及Java的基础类库等。使用Java语言进行程序设计时,不仅要了解Java语言的特点,还要了解Java程序的运行机制。首先将扩展名为java的源文件进行编译,生成扩展名为class 的字节码文件,然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。为了让初学者能更好地理解Java程序的运行过程,接下来以1.4节中的例1-1为例,通过图1-17来详细地分析程序的执行过程。

代码是程序员的语言,博客是思想的桥梁,连接你我,共享智慧之光。 3219

[附源码]计算机毕业设计JAVA网上花店系统

附源码]计算机毕业设计JAVA网上花店系统项目运行环境配置:(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat。

ssm毕设程序设计 2445

java程序设计基础(一)

4.跨平台性:可以在不同的操作系统上执行java代码(Windows+macos+linux)1995年由sun开发,2009年被oracle收购。3.编程资源的广泛性:很多大厂作为推手。javaSE:java语言核心基础。1.简单性:相对c,c++而言。1.java的三个发展方向。javaEE:企业级开发。二,java语言的特点。2.开源性:开放源代码。

KIR_AO的博客 282

基于步科(Kinco HMI 2.5)的组态软件使用

本篇介绍Kinco HMI 2.5的组态软件使用,图标如下 目录   一、新建工程并配置连接 1.1 根据工程选择PLC与HMI型号 1.2 配置PLC连接与选项 二、组态画面编辑 2.1 打开画面窗口 2.2 编辑画面 2.3 组态变量与PLC程序变量连接 三、组态程序下载到HMI 3.1 连接 3.2 编译 3.3 下载 一、新建工程并配置连接 1.1 根据工...

ACanswer的专栏 1万+

Jetson Orin Nano Super开发板实战:视觉模型部署与性能优化指南

本文详细介绍了Jetson Orin Nano Super开发板在边缘AI视觉模型部署与性能优化的完整实战指南。内容涵盖JetPack 6.1环境配置、Docker容器化部署、YOLO11及Transformer模型的TensorRT优化技巧,并通过实测数据展示了性能提升与功耗管理策略,为开发者提供高效的视觉AI部署解决方案。

7h6j5k4l3的博客 1196

二、Java程序的运行机制

        Java语言是一种特殊的高级语言,它既具有解释型语言的特征,也具有编译型语言的特征,因为Java的程序需要进行先编译,后解释两个步骤。         1、高级语言的运行机制        计算机高级语言按程序的执行方式可以分为编译型和解释型两种。        编译型语言是指使用专门的编译器,是针对特定平台将某种高级语言源代码一次性“翻译”成可被该平台硬件执行的机器码,并包...

RJSong 806

自动识别象棋棋子的OpenCV应用

在计算机视觉领域,OpenCV是一个广泛应用的开源计算机视觉库,它提供了丰富的图像处理和分析工具。本文将介绍如何使用OpenCV实现自动识别象棋棋子的功能,并提供相应的源代码。通过以上代码,我们可以实现对棋盘图像中棋子的自动识别。需要注意的是,以上代码只是一个简单的示例,实际应用中可能需要根据具体情况进行参数调整和算法优化,以获得更好的识别效果。函数利用预处理后的图像,寻找图像中的轮廓,并根据轮廓的面积筛选出可能的棋子轮廓,最后在原图像中提取棋子区域。在主程序中,我们读取输入图像,并调用。

WzisTypescript的博客 908

二、Java语言的特点与运行机制

(1) 先编译:将 java代码通过编译器生成对应的 字节码文件( .class 结尾)(2) 后运行:将 .class 文件 通过解释器,逐行的解释并运行。2. 注意:实际运行的时候,运行的是 .class 文件。4. 跨平台性:可以在不同的操作系统上,执行java代码。1. Java的执行机制:先编译后解释运行。.java文件一次编译;3. 编程资源广泛性:很多大厂作为推手。Java的源文件:以 .java 文件。1. 简单性:相对 c、c++等。2. 开源性:开放源代码。

one2580的博客 182

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

《疯狂Java讲义》(二)---- Java程序的运行机制和JVM

1. 运行机制   Java源文件(*.java)-----使用javac编译----编译成*.class文件----使用java解释执行----特定平台的机器码 2. 原理   负责解释执行字节码文件的就是JVM。   所有平台上的JVM向编译器提供相同的编程接口,所以*.class文件都一致,与平台无关。而不同平台的JVM都是不同的,但提供了相同的接口。只要为不同平台实现了相应的虚拟机...

weixin_30530339的博客 77

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

zzdx软拙Java实验二

本次实验旨在掌握Java语言基础,包含三个编程任务:1) 计算并输出所有narcissus数(水仙花数),通过分解数字各位数并验证其幂次和实现;2) 输出杨辉三角,使用二维数组存储并通过递推公式生成,配合格式化输出形成金字塔结构;3) 运行简单Java程序以巩固开发流程。实验提供了完整代码实现和运行结果截图,成功验证了算法正确性。通过本次实验,加深了对Java语法、数组操作和数学运算的理解,掌握了基础编程技能。

m0_75003194的博客 518

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

什么是Java虚拟机?为什么Java被称为平台无关的编程语言

什么是Java虚拟机?为什么Java被称为平台无关的编程语言

qq_40091033的博客 175

Java类什么时候加载

对于Java类到底是什么时候加载一直没有认真考虑过,今天来总结下: 共两种情况 1.在实例化对象的时候(new一个对象的时候). 2.在调用静态方法的时候(类名.class除外) ...

laoerliang的博客 575

java base()题目_java练习题

系名____________班级____________姓名____________学号____________密封线内不答题1、编译并运行以下代码的输出结果是?(1)// Filename; SuperclassX.java package packageX;public class SuperclassX {protected void superclassMethodX() { }prote...

weixin_42330839的博客 274

java两种实现线程的方法

第一种: 【1】将任务代码移到实现了Runable接口的类的run方法中。这个接口非常简单,只有一个方法:public interface Runnable { void run(); }由于Runnable是一个函数式接口,可以用lambda表达式建立一个实例:Runnable r = ()->{task code};【2】由Runnable创建一个Thread对象:Thread

A__loser的博客 345

二、Java语言的特点

相对 c、c++。Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持goto语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。

general_pp的博客 1550

说一下java的运行机制_Java运行机制是什么?

不管是学习Java还是其他什么变成语言,我们不仅要了解它的特性,充分的使用Java语言完成各种程序开发工作,还要了解Java的运行机制。只有了解其底层的运行机制,才能更好的利用Java完成各项工作。Java运行机制是什么?Java程序运行时,必须经过编译和运行两个步骤。首先将后缀名师“.java”的源文件进行编译,最终生成后缀名为“.class”的字节码文件。然后Java虚拟机将编译后的字节码文件...

weixin_29066121的博客 1850

题目:Java的运行机制

题目

m0_46864334的博客 935

JAVA的运行机制

目录 一 、类的结构 二、运行机制 1、JVM、JRE、JDK之间的关系 JVM: JRE: JDK: 2、java执行的过程 01) 编译原理: ...

CyAurora的博客 893
上一篇: Java(一)——Java语言发展简史
下一篇: Java(三)——Java垃圾回收机制
Undergoer_TW
博客等级 码龄11年 185粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值