在线客服
扫描二维码
下载博学谷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自学教程课程大纲内容有什么?
零基础Java自学教程课程大纲内容有什么?零基础自学Java的教程分为四个阶段:Java零基础入门、从网页搭建入门、Java数据库开发、SSM到Spring Boot。Java的技术分支很多,要想全部掌握几乎不可能,但需要有从中精通1~2个部分。Java是通性的,Java的所有编程思路都是“面向对象”的编程。小编还整理了开发过程中涉及到的java开发工具
8241
2019-04-10 00:07:52
零基础学习Java很难吗?主要难点在哪里?
相对于大部分传统职业来讲,互联网要更加开放,绝大部分技术岗位都可以通过学习或者培训获得入行的门槛。Java开发在互联网技术岗位招聘中所占的市场份额是有目共睹的。每年都有很多专业的高校毕业生进入Java开发领域,但依旧无法达到市场招聘的需求。因此大量零基础的同学也选择通过学习和培训进入Java开发这个高薪岗位。那零基础学习Java难吗?主要难点在哪里呢?
5139
2019-10-31 18:40:13
如何管理Spring Bean的生命周期?具体步骤解析
如何管理Spring Bean的生命周期?回答这个问题之前,我们可以先来看看Bean的定义,Bean是一个被实例化,组装,并通过Spring IOC容器所管理的对象。换句话说,那些组成应用程序的主体以及由Spring IOC容器所管理的对象就是bean。另外,在Spring中bean默认都是单例的。想要管理Spring Bean的生命周期,大概要按照以下步骤去做:
5135
2020-01-14 10:43:38
学习Java语言有哪些优势?
对于IT行业的学习和从业者来说,Java语言的学习是绕不开的话题。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java语言的学习需要花费很大的心力和时间,想要更加高效地掌握Java,建议找一个靠谱的培训机构系统学习。
4496
2020-05-29 11:43:02
Java编程八大技能你还不会?
Java编程八大技能你还不会?随着大数据的快速发展,应用范围超广的Java编程语言越来越被看好。许多人包括在职程序员也兴致勃勃也报了Java编程课程,你是否也下定决心要进入Java开发呢?在大家进行Java培训学习之前,想和大家说明一个问题。Java技术的世界是多元而复杂的,需要程序员不断学习。想入行必须做好吃苦的准备。而要想作为互联网Java工程师这些基础技能必须要掌握。
3626
2020-06-12 14:31:18