Java程序编译运行过程

整体流程

1.首先由源程序文件编译成class文件。注意这里的源程序并不仅限于java程序,其他语言如果能够编译成class文件,并且符合jvm规范也能够在jvm上运行。

2.jvm将class文件拷贝到内存,解释成相应的机器语言运行。我们常用的hotspot虚拟机在运行时会挑选出一些热点代码(以函数为单位),将这些热点代码直接编译成机器码存储起来,下次执行的时候,就不需要jvm解释,而是直接运行机器码。

总结:由于java语言先编译成字节码,在运行时又会对代码解释成相关平台的机器语言。所以java常被成为半编译半解释的混合型语言。

编译型语言:在程序运行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序时,就不用再进行翻译了。

解释型语言:是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【TeeChart .NET教程】(七)使用函数

2019独角兽企业重金招聘Python工程师标准>>> 上一篇:【TeeChart .NET教程】(六)使用系列 【下载TeeChart.Net最新版本】 (一)功能类型 1.1 功能类型 TeeChart Pro功能是一个系列,几乎可以是任何…

Django的简介

一.MTV模型 Django的MTV模式: Model(模型):和数据库相关的.负责业务对象与数据库的对象(ORM) Template(,模板):放所有的HTML文件 模板语法:目的是将变量(数据库内容)如何巧妙的镶嵌到HTML页面中 View(视图):负责业务逻辑,并在适当的时候调用Model和Template 此外Django还有一个…

狗窝里的小日子- 3 ...

来,把平时作的菜菜整理下: 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.

5种流行的Linux发行版:你更喜欢哪一个呢?

现如今,对于各种类型的用户(如桌面用户、服务器管理员、图形设计者等)而言Linux已经成为一种最流行的操作系统。Linux是免费且开源的,任何人都可以建立和编译它的源代码,并将它分发给别人。这就是为什么Linux会有很多个…

基于ASP.net耳机网店商城系统(前台页面+后台页面)

源码https://github.com/doublekai/user web文件夹 转载于:https://www.cnblogs.com/doublekai/p/9778246.html

狗窝里的小日子- 4 ...

来,把平时作的菜菜整理下: 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.

[Web 前端] 解决因inline-block元素导致的空白间距和元素下沉

cp from : https://www.jianshu.com/p/617e78a27c88 ** 前言: ** CSS 中的 display:inline-block 是笔者最为喜欢的元素之一,可以将原本占据一行的块级元素,转变为可以并列显示的行内块级元素。 display:inline-block 常被用来代替float进行页…

狗窝里的小日子- 5 ...

来,把平时作的菜菜整理下: 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.

Linux(RadHat)基础学习—FTP服务

RedHat下的ftp服务 1.ftp服务的启动 1.编辑文件:vim /etc/sysconfig/selinux第6行selinuxdisabled保存退出。重启主机。 2.安装vsftpd yum install vsftpd -y 安装完成: 开启ftp服务: systmctl start vsftpd systemctl enable vsftpd 3.防火墙…

手机贴膜利润超百倍 消费者为无用功能高价买单

摘要:市场研究机构IDC的最新报告预计,2013年智能手机出货量将首次超过功能手机,国家工信部的数据显示,截至2011年底,我国智能手机用户已超过1.9亿。记者调查发现,在从事手机贴膜的摊点上,摊主多…

java内存区域及静态常量池、运行时常量池介绍

java内存区域介绍 我们先来介绍下虚拟机运行时数据区的结构: 我们项目中的每一个线程在运行时,都会有拥有自己独立的栈数据和程序计数器。程序计数器可以看作字节码命令的指示器,记录了下个需要执行的字节码指令,栈数据主要分为本…

狗窝里的小日子- 6 ...

来,把平时作的菜菜整理下: 61. 62. 63. 64. 65. 66. 67. 68. 69. 70.

数据库常见面试题总结

参考如下: 数据库常见面试题(开发者篇) 数据库优化 SQL数据库面试题及答案 常见面试题整理--数据库篇转载于:https://www.cnblogs.com/threetop/p/9425172.html

狗窝里的小日子- 7 ...

来,把平时作的菜菜整理下: 71. 72. 73. 74. 75. 76. 77. 78. 79. 80.

[转]CNN目标检测(一):Faster RCNN详解

https://blog.csdn.net/a8039974/article/details/77592389 Faster RCNN github : https://github.com/rbgirshick/py-faster-rcnn Faster RCNN paper : https://arxiv.org/abs/1506.01497 Bound box regression详解 : http://download.csdn.net/download/zy1034092330/9940097…

狗窝里的小日子- 8 ...

来,把平时作的菜菜整理下: 81. 82. 83. 84. 85. 86. 87. 88.

【模式识别与机器学习】——3.9势函数法:一种确定性的非线性分类方法

目的 用势函数的概念来确定判别函数和划分类别界面。 基本思想 假设要划分属于两种类别ω1和ω2的模式样本,这些样本可看成是分布在n维模式空间中的点xk。 把属于ω1的点比拟为某种能源点,在点上,电位达到峰值。 随着与该点距离的增大&a…

超详细 - SVN下载安装及使用教程

SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。 Subversion是什么? 它是一…

docker 中不能用vim编辑文件

2019独角兽企业重金招聘Python工程师标准>>> docker 中不能用vim编辑文件 2017年08月28日 16:54:29 阅读数:2061 更新来源 apt-get update 1安装vim apt-get install -y vim 转载于:https://my.oschina.net/u/3367404/blog/1923901

洛谷 2759 奇怪的函数

【题解】 取个对数然后二分即可。对于一个数x&#xff0c;x^x的位数就是(int)(lg(x)*x1). 1 #include<cstdio>2 #include<cstring>3 #include<algorithm>4 #include<cmath>5 #define LL long long6 #define rg register7 #define N 2000108 using name…