在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
可能刚刚接触编程的初学者会发现,编写一个Java程序其实很简单,但是Java程序的运行过程却是非常复杂的。关于Java程序工作原理这部分知识,虽然不要求编程学习者完全掌握,你但是至少需要了解它的大致过程。下面小编将好好介绍一下Java程序的开发与运行原理,大致分为以下三步:编写源文件、编译以及运行。

1、编写源文件
编写的代码,称为“源代码”或“源码”。一般情况下,我们会把源代码保存到后缀名为.java的文本文件里,这样的文件叫源文件。 为了方便,我们会保持文件名与类的名字一致(包括大小写)。
2、编译
源文件是程序员编写的,我们能够轻松识别每一行代码的意思,但是,在计算机中,CPU只能识别二进制指令。所以,现在要做的工作就是,需要在源文件和计算机指令之间进行转换。由于Java语言的结构和特性,设计者们先将源文件转换成一种特殊的二进制文件,然后将这个二进制文件交给Java运行时环境(JRE)去执行。转换成二进制文件的过程,叫做编译(这个过程使用了 javac 命令),生成的二进制文件,叫做字节码文件(后缀名是 .class )。如Test.java经过编译就会生成Test.class。这个过程全部由Java编译器自动完成,不需要程序员进行任何特殊操作。
3、运行
Java程序的开与运行原理,并不是将字节码文件(.class文件)简单的交给操作系统去执行,那是因为不同的操作系统中数据的大小、范围和计算方式有很大不同,会导致同一段代码在不同系统之间运行效果差别很大,这不是设计者们想要看到的。

Java的设计者们想到了一个聪明的办法,就是针对不同的操作系统,分别编写了一个可以正确执行Java程序的虚拟机(JVM),然后把这个虚拟机内置到 Java 的运行时环境(JRE)中,这样,同一段Java代码,就可以在不同的操作系统上运行出相同的效果了。将字节码文件(.class)交给Java运行时环境(JRE)执行的过程,叫做Java程序的运行(这个过程使用了 java 命令)。
总的来说,Java程序的开发与运行原理就是把源文件编译成字节码文件,然后运行,在终端显示结果。因此,从编写源代码,到程序输出结果,这个过程看似简单,其实需要大家学习和掌握的内容还有很多~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java基础 "=="和 equals 方法究竟有什么区别?
Java基础 "=="和 equals 方法究竟有什么区别?==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。
10095
2019-05-23 11:31:26
abstract class 和 interface 有什么区别?
“abstract class 和 interface 有什么区别?”这个问题在Java基础的笔试题中是比较常见的。下面就是关于这个问题博学谷老师整理的答案。
9923
2019-08-14 10:19:51
Dubbox和Dubbo哪个好?为什么?
Dubbox和Dubbo哪个好?其实Dubbox和Dubbo都是很好的服务框架,简单来说,Dubbox和Dubbo本质上没有区别,Dubbox是Dubbo的升级版本。这样说来,好像Dubbox更好一些,为什么?毕竟它是升级的版本,扩展了Dubbo没有的内容。现在,我们来详细分析一下它们两者的区别吧!
14484
2019-08-06 10:12:07
英语不好能学好Java开发吗?
学好Java开发对英语的要求并不高,编程常用的高频词并不多,有的单词是程序员随便写的不要求是完整的英文单词()变量名可以用部分英文,拼音,数字组成。系统已有的成员方法的名字,有的英文还挺长,可以借助开发工具输入提醒功能进行自动录入,不需要你记住很长的方法名字。
6780
2019-12-04 10:56:53
微服务和分布式的区别什么?有什么特点?
微服务设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上也可以是同一个服务器。分布式属于微服务,将模块拆分成一个独立的服务单元通过接口来实现数据的交互。分布式和微服的架构很相似,只是部署的方式不一样而已。
6234
2021-03-10 11:10:50
