006Java程序运行机制

高级程序语言分为编译型和解释型两种,Java这两种特性都具备。

编译型还是解释型取决于翻译的时机

以看一本外语书为例:

  • 编译型:先把整本书翻译成中文版再看。
  • 解释型:请个翻译官,看一句翻译一句。

编译型由于是全部编译好再交系统执行,因此执行性能较高,通常用于开发操作系统等,典型语言是C/C++。

解释型由于是边解释边执行,因此速度没有那么高,适合网页等对速度要求不高的地方使用,典型语言是Java/Python。

Java在执行前,会通过Java编译器进行一次预编译,生成介于Java源代码与机器码之间的字节码文件(class文件),字节码文件运行的时候会被放进类装载器里面,这样就进入JVM虚拟机里面了。随后数据进入字节码校验器,用于校验程序有没有写错。最后通过一个解释器解释给操作系统,解释一步运行一步。

随着技术的发展,编译型与解释型的界限变得越来越模糊,很多语言既有编译型的特征又有解释型的特征。

最新文章

  1. <Oracle Database>逻辑结构
  2. 被废弃的 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit
  3. Sql Server 事务隔离级别的查看及更改
  4. iOS开发学习路线图
  5. Android 读取SIM卡参数
  6. JavaScript ArrayBuffer浅析
  7. 打包静态库.a文件的方法(ar,ranlib,nm命令介绍)
  8. 最受欢迎的8位Java大师
  9. Objective-C与Swift下的自定义打印函数(Debug和Release)
  10. Tornado 网站demo 二
  11. Python GUI之tkinter
  12. Linker Scripts3--简单的链接脚本命令2-Assigning Values to Symbols
  13. Hadoop 学习之Docker
  14. win7启动老是自动进入Boot Menu无法进入系统
  15. MongoDB-增删改
  16. mysql分享一:运维角度浅谈MySQL数据库优化
  17. 算法练习--- DP 求解最长上升子序列(LIS)
  18. 【BZOJ3935】Rbtree 树形DP
  19. Factory Method(工厂方法)
  20. Cockroachdb 一、系统环境

热门文章

  1. WinForm嵌入Web网站
  2. 自定义注解+反射提取对象到map中
  3. 怎么把百度地图的搜索结果全部导出到Excel文件
  4. Linux下mysql安装教程
  5. docker容器启动报错Unable to access jarfile
  6. 2022-3-28内部群每日三题-清辉PMP
  7. hashtable被弃用了
  8. .Net 6.0服务器环境配置以及IIS发布部署心得
  9. ZSTUOJ刷题12:Problem B.--深入浅出学算法007-统计求和
  10. Redis API存取