首页 > 编程语言 >Java程序的运行机制

Java程序的运行机制

时间:2023-01-12 13:34:10浏览次数:40  
标签:Java 操作系统 虚拟机 程序 编译 运行机制 字节


使用Java语言进行程序设计时,不仅要了解Java语言的显著特点,还需要了解Java程序的运行机制。Java程序员运行时,必须经过编译和运行两个步骤。首先将后缀为.java的源文件进行编译,最终生成后缀名为.class的字节码文件。然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。

Java程序的运行机制_程序设计

为了让初学者更好地理解Java程序的运行过程,接下来以1.3小节中的例1-1为例,进行详细的分析,具体步骤如下:

1、编写一个HelloWorld.java的文件

2、使用“Javac HelloWorld.java”命令开启Java编译器并进行编译。编译结束后,会自动生成一个Hello World.class的字节码文件。

3、使用“Java Hello World”命令启动Java虚拟机运行程序,Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟机针对加载到内存中的Java类进行解释执行,便可看到运行结果。

通过上面的分析不难发现,Java程序是由虚拟机负责解释执行的,而并非操作系统。这样做的好处是可以实现跨平台性,也就是针对不同的操作系统可以编写相同的程序,只需安装不同版本的虚拟机即可,如图所示。

Java程序的运行机制_Java虚拟机_02

从图可以看出,不同的操作系统需要使用不同版本的虚拟机,这种方式使得JAVA语言具有“一次编写,到处运行”的特性,有效地解决了程序设计语言在不同操作系统编译时产生不同机器代码的问题,大大降低了程序开发和维护的成本。

 

需要注意的是,Java程序通过Java虚拟机可以达到跨平台特性,但Java虚拟机并不是跨平台的。也就是说,不同操作系统上的Java虚拟机是不同的,即Windows平台上的Java虚拟机不能用在Linux平台上,反之亦然

标签:Java,操作系统,虚拟机,程序,编译,运行机制,字节
From: https://blog.51cto.com/u_8238263/6004048

相关文章

  • Python程序员需了解的:Django框架之环境安装
    虚拟环境安装:开发中问题:如何在同一台主机中,要开发多个不同的项目,而且需要用到同一个包的不同版本?尝试分析:在开发过程中,使用python的包时可以联网安装,使用sudopipinstall......
  • Java程序员必看之:eclipase中maven的配置
     需要准备:apache-maven-3.2.3.zip包  Repository.rar本地仓库                              ......
  • 初级程序员晋升中级程序员,只差这7个技能
    在程序员圈,一直流传着这样一个传说,用发量来判断程序员的级别,这明显是种调侃。那么,中级程序员,相对于初级程序员,有哪些不一样的特质呢?总得来说,比较于初级而言,中级程序员在执行......
  • 程序员面试阿里、腾讯、百度等大厂,面试经典问题你知道吗?
    1.并行和并发有什么区别?并行(Parallel):指两个或者多个事件在同一时刻发生,即同时做不同事的能力。例如垃圾回收时,多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。......
  • Jenkins部署Java应用到Tomcat服务器
    对于Java程序,Jenkins需要使用构建工具,如maven、ant等,其中maven比较流行。这里就用maven实现Java应用的部署。1GitLab准备Java代码2部署Tomcat并配置apt-get-yinstallto......
  • 一个妹子写给程序员男友的情书
    从2008年到2015年,我们一起走过了八年的时光曾经那个因为我一句“很委屈”就躲着偷偷哭的大男孩竟会成为陪伴我从豆蔻到白首的那个人你常常说,遇见我,是你最好的福气而我常常想......
  • P6751 [IOI2019]视觉程序 题解--zhengjun
    提供一种简介易懂的做法。首先曼哈顿距离的绝对值比较难处理,所以可以转成切比雪夫距离。具体地说,就是\((x,y)\)变成\((x+y,x-y)\)(接下来所述的坐标都是变换后的)。这......
  • 程序猿会不会找UI设计师做女朋友?
    看到这个标题,所有程序员就该吐槽了:程序员都是屌丝,女朋友都是淘宝上买的,哪里是做设计的!在这里,我就跟大家分享下程序猿为什么要找一个设计师做女朋友!! 1.作为看过各种片的程序......
  • 【收藏】不可错过的javascript迷你库
    最近看着下自己的githubstar,把我吓坏了,手贱党,收藏癖的我都收藏了300+个仓库了,是时候整理一下了。Unix主张kiss,小而美被实践是最好用的,本文将介绍笔者收集的一些非常赞的......
  • 《程序是怎样跑起来的第十一章》
    我们知道应用和硬件是有关系的,利用操作系统提供的系统调用功能就可以实现对硬件的控制。Windows控制硬件时借住的是输入(in通过指定端口号的端口输入数据,存储在CPU的寄存器)......