问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

简述Java程序从编写到运行的基本步骤,并说明Java的基本工作原理

发布网友 发布时间:2022-04-30 19:49

我来回答

3个回答

热心网友 时间:2023-10-09 21:24

Java编译原理:
Java 虚拟机(JVM)是可运行Java 代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。
  一.Java源文件的编译、下载 、解释和执行
  Java应用程序的开发周期包括编译、下载 、解释和执行几个部分。Java编译程序将Java源程序翻译为JVM可执行代码?字节码。这一编译过程同C/C++ 的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定硬件平台运行而产生的。因此,在编译过程中,编译程序通过查表将所有对符号的引用转换为特定的内存偏移量,以保证程序运行。Java编译器却不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。这样就有效的保证了Java的可移植性和安全 性。
  
  运行JVM字节码的工作是由解释器来完成的。解释执行过程分三部进行:代码的装入、代码的校验和代码的执行。装入代码的工作由"类装载器"(class loader)完成。类装载器负责装入运行一个程序需要的所有代码,这也包括程序代码中的类所继承的类和被其调用的类。当类装载器装入一个类时,该类被放在自己的名字空间中。除了通过符号引用自己名字空间以外的类,类之间没有其他办法可以影响其他类。在本台计算机上的所有类都在同一地址空间内,而所有从外部引进的类,都有一个自己独立的名字空间。这使得本地类通过共享相同的名字空间获得较高的运行效率,同时又保证它们与从外部引进的类不会相互影响。当装入了运行程序需要的所有类后,解释器便可确定整个可执行程序的内存布局。解释器为符号引用同特定的地址空间建立对应关系及查询表。通过在这一阶段确定代码的内存布局,Java很好地解决了由超类改变而使子类崩溃的问题,同时也防止了代码对地址的非法访问。
  
  随后,被装入的代码由字节码校验器进行检查。校验器可发现操作数栈溢出,非法数据类型转化等多种错误。通过校验后,代码便开始执行了。
  
  Java字节码的执行有两种方式:
  1.即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码。
  2.解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程 序的所有操作。
  通常采用的是第二种方法。由于JVM规格描述具有足够的灵活性,这使得将字节码翻译为机器代码的工作
  
  具有较高的效率。对于那些对运行速度要求较高的应用程序,解释器可将Java字节码即时编译为机器码,从而很好地保证了Java代码的可移植性和高性能。

热心网友 时间:2023-10-09 21:24

要细说起来的话东西很多了。给你一个大纲,照着做

搭建java代码环境:

a).百度下载jdk和eclipse。他们两个位数要和电脑系统位数一样。

b).默认安装jdk(点下一步到结束就行),安装后配置环境变量,方法网上到处都是。

c).解压eclipse,双击运行就能新建java project 并编写java代码了。eclipse的基础使用方法网上也很多。

以上a,b,c三步按照顺序正确完成即可。



java的基本工作原理:

java是通过java虚拟机进行编译和运行的。 

        Java虚拟机是编译和运行Java程序等的各种命令及其运行环境的总称。

        Java源程序在编译之后生成后缀为“.class”的文件,该文件以字节码(bytecode)的方式进行编码。这种字节码实际上是一种伪代码,它包含各种指令,这些指令基本上是与平台无关的指令。

        Java虚拟机在字节码文件(及编译生成的后缀为.class的文件)的基础上解释这些字节码,及将这些字节码转行成为本地计算机的机器代码,并交给本地计算机执行。

热心网友 时间:2023-10-09 21:25

要细说起来的话东西很多了。给你一个大纲,照着做
搭建java代码环境:
a).百度下载jdk和eclipse。他们两个位数要和电脑系统位数一样。
b).默认安装jdk(点下一步到结束就行),安装后配置环境变量,方法网上到处都是。
c).解压eclipse,双击运行就能新建java project 并编写java代码了。eclipse的基础使用方法网上也很多。
以上a,b,c三步按照顺序正确完成即可。

java的基本工作原理:
java是通过java虚拟机进行编译和运行的。
Java虚拟机是编译和运行Java程序等的各种命令及其运行环境的总称。
Java源程序在编译之后生成后缀为“.class”的文件,该文件以字节码(bytecode)的方式进行编码。这种字节码实际上是一种伪代码,它包含各种指令,这些指令基本上是与平台无关的指令。
Java虚拟机在字节码文件(及编译生成的后缀为.class的文件)的基础上解释这些字节码,及将这些字节码转行成为本地计算机的机器代码,并交给本地计算机执行。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
极联股份和曲径科技有关系吗 ...热,太阳晒 热,激动,一般就几分钟就好了,全身都会痒 我一发热就浑身奇痒无比,求命丫! ...发热出汗的时候,全身就会痒起来,像被蚂蚁咬一样。 土地挂牌价都包含哪些 如何计算挂牌地价 挂牌地价包含哪些 长期戴清镜有什么坏处 LOL里AD AP ADC APC 等是什么意? 英雄联盟lol怎么判断一个英雄是ad、ap还是adc 标题请大家简单描述一下,编写Java数据库程序的一般步骤? qq炫舞绑定怎么解除 我用我微信登的QQ炫舞,可以不告诉别人和密码,让他登我号? java中如何统计一个字符串的长度 我在饿了么送快餐总共送了五百多元,因为车坏了辞职没做,公司不给工钱,怎样讨回? 美团快餐和饿了么谁好 excel某个单元格里面的数据长度统计公式是什么? 在wamp 里怎么安装mysql 美国斯坦福大学有建筑学专业吗? 光大信用卡一审和二审额度 设计专业学生,毕业后计划到美国读工业设计专业硕士,请推荐几所不错的... 工业设计在外国就业怎么样 斯坦福大学好不好?世界排第几? 光大信用卡销卡再重新办额度会高吗 我有一张光大银行信用卡,今天又办了张光大信用卡,第2张卡是有另外的额度还是共享第一张卡的额度? 美国留学工业设计专业申请条件有哪些 美国有哪些大学工业设计专业比较好? 去洛阳两日游,该如何规划路线? 求助洛阳附近景点,可以自驾一日游的那种,求大神们推荐啊 河南洛阳有啥好玩的景区? 开发和运行java程序需要经过哪些主要步骤和过程? 使用记事本编写JAVA程序,并运行输出结果,具体的实现步骤是什么? 开发Java程序的步骤包括运行、编写、编译,它们的先后顺序是 作为初学者,java的学习步骤该怎样 java 开发项目的一半流程~~~ 第一步做什么第二部做什么。。等等。。。 oppo厂电话是多少 11万的车能贷款吗,能贷多少?,每个月利息多少? 为什么安装wamp后不能连接到我自己的mysql数据库 本人有台小汽车价值11万,能否在银行抵押贷款吗? 不受拘束的意思是什么 不拘束什么意思 不拘束,意思? 无所拘束的意思是什么? 不要有拘束是什么意思 不用拘束,不用将就什么意思? 不受拘束是什么意思? 意思是尽量有着自己的情感,不加拘束的词语是什么? 不要拘束以常规是什么意思? 无拘无束不要太拘束是什么意思? 不受约束,是什么意思,请好朋友帮忙解答,感谢