JAVA的跨平台原理

JAVA的跨平台原理


Java是一种简单易用、完全面向对象、有平台无关性、安全可靠的、主要面向Internet的开发工具。Java自从1995年正式面世以来,它的快速发展已经使整个Web世界发生了翻天覆地的变化。随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的Java Server Page(JSP)技术的推出,更是让Java成为基于Web应用程序的首选开发工具。

Java是第一套允许使用者将应用程序通过Internet从远端服务器传输到本地机上并执行的一种语言:是一种应用程序提供者不需要知道使用者的计算机硬件与软件环境的语言。

Java对Internet编程的影响就如同C语言对系统编程的影响一样。


Java虚拟机(JVM)是可运行Java字节码的假想计算机,Java的跨平台性是相对于其他编程语言而言的。



同C语言编程一样,我们首先也要编写Java源程序,然后由Java编译程序将Java源程序编译为JVM可执行的代码,即Java字节码。Java源程序编译后生成的字节码文件就相当于C源程序编译后的Windows上的exe文件,在JVM上运行的是Java字节码文件,也就是扩展名为.class的文件。

Windows执行exe可执行文件的过程就是从exe文件中取出一条条计算机指令,交给CPU去解释执行。JVM执行Java字节码文件的过程,也是JVM虚拟机从Java字节码文件中取出一条条的字节码指令交给”CPU“去执行。硬件与软件是可以相互转化的,字节码的”CPU“可以是硬件,也可以是某个系统上运行的一个软件,这个软件称为Java字节码解释程序(也就是Java虚拟机)。

可见,只要实现了特定平台下的解释器程序,Java字节码就能通过解释器程序在该平台下运行,这是Java跨平台的根本。当前,并不是在所有的平台下都有相应的Java解释器程序,这也是Java并不是在所有的平台下都能运行的原因,它只能在已实现了Java解释器程序的平台下运行。

最新文章

  1. uploadify使用教程
  2. Android 环境搭建
  3. ACM/ICPC 之 BFS-广搜进阶-八数码(经典)(POJ1077+HDU1043)
  4. linux的vim按了ctrl+s之后假死的解决办法
  5. SQL生成随机数
  6. winform 自定义控件以及委托事件的使用
  7. WPF让人哭笑不得的资源(二)
  8. iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):2 H264数据写入文件
  9. AndroidManifest笔记
  10. awk的日志模块追加日期时间字段的方案
  11. JS 数字 、中文、 英文、判断
  12. gcc编译
  13. KMP算法的细节问题
  14. POJ_3304_Segments_线段判断是否相交
  15. 多输入select
  16. OSGI target环境配置过程
  17. 【分片无法挂载】Elasticsearch分片和副本无法挂载(分片移位)
  18. iOS UI-界面传值(三种方法)
  19. Redis数据库 : 基础
  20. SprngBoot对静态资源的映射

热门文章

  1. this.parentMenu.dataRecord.data.testID的作用
  2. SharePoint 2013 强制安装解决方案
  3. java生成指定范围的随机数
  4. mysql服务端安装的系列问题处理
  5. 学习python 一些错误记录
  6. struts2在result中使用el表达式碰到的问题
  7. 常用js表单文本域验证
  8. Android Studio常用插件续
  9. 获取checkbox 的选中状态的id、checkbox的一些操作
  10. python filter内建函数