在线客服
扫描二维码
下载博学谷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基础语法之if语句学习笔记
众所周知,流程控制语句可以分为三类,分别是顺序结构、分支结构和循环结构,而分支结构又可以分为if语句和switch语句。顺序结构可以说是程序中最简单最基本的流程控制,这里就不展开详细讲解了。本文重点要讲解分析的是分支结构的if语句,内容包括了if语句的格式、执行流程和具体示例。想要学习Java基础语法的小伙伴,可以看看下面整理的if语句的笔记,希望对大家入门Java能够有所帮助。
6945
2019-12-06 12:40:32
电脑编程入门自学Java指南
随着Java近些年来的强劲发展,想要转行学习Java的初学者也越来越多了。然而,入门自学Java并不是一件轻松的事情。众所周知,万事开头难,尤其是没有编程语言基础的学习者,不仅仅需要付出更多的心血和汗水,还需要科学地制定学习规划,下面小编为大家准备了一份电脑编程入门自学Java指南,内容包括了Java的学习内容和路径,赶紧来一起看看吧!
4949
2019-12-30 15:15:34
Spring Cloud Alibaba实战项目教程哪有?
Spring Cloud Alibaba实战项目教程哪有?博学谷Spring Cloud Alibaba微服务架构电商项目实战教程详细讲解 Spring Cloud Alibaba 核心技术,包括:Nacos、Sentinel、Dubbo、Seata、RocketMQ以及 Feign、Gateway、OAuth2、Skywalking、Docker 等其他必备主流技术。
7562
2020-06-16 11:29:44
BAT大厂Java常见面试题分享
马上就要到今年的秋招季节了,不知道大家有没有准备好面试,能不能准确把握面试官的考核点,能否准确理解并说出技术技能的底层原理和应用,能否在面试前猜中考点?如果大家对于面试还没有做好充足的准备,建议大家都来看看博学谷的《BAT 大厂Java常见面试题》课程,相信对大家准备面试,或多或少会有一些帮助。
5087
2020-07-23 15:23:19
“男怕入错行”行业选择有多重要?选Java我没后悔
人生由选择堆积而成,你经历的所有选择造就了你现在的样子。这句话只对了一半,决定人生走向的,只有这几个关键节点:毕业后选择什么行业;选择和谁一起经历人生旅程;定居哪个城市...
2724
2022-06-16 14:42:11