JavaSE_Java跨平台原理】的更多相关文章

Java语言的核心优势就是跨平台. C/C++语言都是直接编译成针对特定平台的机器码,如果要跨平台,需要借用相应的编译器重新编译.Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行.解释是通过Java虚拟机来执行的. 字节码文件不面向任何具体平台,只面向虚拟机. Java虚拟机是可运行Java字节码文件的虚拟计算机.不同平台的虚拟机是不同的,但它们都提供了相同的接口.因此,Java语言具有了一次编译,到处运行的特点,也就是说编译后的.c…
此篇博文主要源自网络xiaozhen的天空的博客:http://xiaozhen1900.blog.163.com/blog/static/1741732572011325111945246/ 1.是么是平台 Java是可以跨平台的编程语言,那我们首先得知道什么是平台,我们把CPU处理器与操作系统的整体叫平台. CPU大家都知道,如果计算机是人,那CPU就是人的大脑,它既负责思维运算,又负责身体各部件的命令控制.CPU的种类很多,除去我们熟知的Intel与AMD外,还有比如上面说到的SUN的Sp…
原文地址:http://www.cnblogs.com/gw811/archive/2012/09/09/2677386.html 1.是么是平台 Java是可以跨平台的编程语言,那我们首先得知道什么是平台,我们把CPU处理器与操作系统的整体叫平台. CPU大家都知道,如果计算机是人,那CPU就是人的大脑,它既负责思维运算,又负责身体各部件的命令控制.CPU的种类很多,除去我们熟知的Intel与AMD外,还有比如上面说到的SUN的Sparc,比如IBM的PowerPC等等,这些各个公司生产的CP…
JAVA的跨平台原理 JAVA的跨平台原理 Java是一种简单易用.完全面向对象.有平台无关性.安全可靠的.主要面向Internet的开发工具.Java自从1995年正式面世以来,它的快速发展已经使整个Web世界发生了翻天覆地的变化.随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的Java Server Page(JSP)技术的推出,更是让Java成为基于Web应用程序的首选开发工具. Java是第一套允许使用者将应用程序通过Internet从远端服务器传输到本地机…
Java的跨平台基于编译器和虚拟机.其中,CPU处理器和操作系统的整体称为平台.编译器把源文件编译成与平台无关的基于Unicode的字节码class文件,虚拟机把该文件解释成与平台有关的机器码指令,可以在相应平台上执行. 参考资料 为什么JAVA可以跨平台? Java跨平台原理…
知乎的一个提问:unity3d跨平台原理 一些资料: IL IL是.NET框架中中间语言(Intermediate Language)的缩写.使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执行的机器代码,而是一种中间语言IL(Intermediate Language) 优点: 使用中间语言的优点有两点,一是可以实现平台无关性,既与特定CPU无关:二是只要把.NET框架某种语言编译成IL代码,就实现.NET框架中语言之间的交互…
为了充分发挥硬件性能,手机游戏通常使用Native App开发模式,这就造成开发商要为iOS 和Android平台用户开发不同的应用,无论是产品迭代还是运行维护都非常麻烦.Cocos2d-x在iOS,Android等移动平台之上,封装了一层C++接口,从而屏蔽了平台的差异性,通过平台宏来控制使用哪个平台的代码,向开发者提供C++接口调用.这些接口主要包括UI.事件和网络,封装UI主要是使用OpenGL ES的接口来写UI,封装事件和网络,均是使用C++接口对原生接口进行一层封装. 因此Cocos…
简单讲一下java的跨平台原理: (1)为什么跨平台: 由于各OS支持的指令集各不相同,就需要程序在不同的平台执行不同的代码 (2)JAVA是如何实现的: ava开发了适合不同的OS及不同位数的java虚拟机,提供了一个统一的接口(java API),也就是说只需要在不同的OS上安装不同的java虚拟机,这样就可以在所有的平台上运行java源码代码. 在没有java虚拟机的时候: 在不同的OS需要编写不同的程序: 当时用了java虚拟机: 在不同的Os只需要一套程序,通过不同版本的虚拟机即可:…
Unity3D的跨平台原理核心在于对指令集CIL(通用中间语言)的应用. 机理 首先需要知道,Unity中的Mono是基于 通用语言架构(Common Language Infrastructure,CLI)和C#的ECMA标准实现的,与微软的.NET框架有着诸多类似之处,因此分析Unity的跨平台性,本质即为分析.NET框架下C#语言从编译到运行的过程.首先抛出几个重要概念: CIL:通用中间语言(Common Intermediate Language),属于通用语言架构和.NET 框架的低…
Qt跨平台原理: 和java一样,针对每一种OS平台,QT都有一套对应的底层类库,而接口是完全一致的. 因此只要是在QT库上开发的程序,放在任何一种平台下都可以编译运行(前提条件是:程序中没有使用某OS特有的机能,需要先在平台上安装qt).也就是说在OS和应用层之间,增加了一个平台层来保证可移植性. Qt跨平台是指 代码跨平台而不是编译出来的文件跨平台(区别于java的jar包),同一份代码需要放到另一个平台上时,需要重新编译.…
快捷键和功能键A:键盘功能键* a:Tab* b:Shift* c:Ctrl* d:Alt* e:空格 * f:Enter* g:Window* h:上下左右键* i:PrtSc(PrintScreen)屏幕截图 B:键盘快捷键a:Ctrl+A 全选b:Ctrl+C 复制c:Ctrl+V 粘贴d:Ctrl+X 剪切e:Ctrl+Z 撤销f:Ctrl+S 保存DOS命令行的进入方式* A:xp下如何打开DOS控制台?* a:开始–程序–附件–命令提示符* b:开始–运行–cmd–回车* c:win…
Java跨平台原理(字节码文件.虚拟机) C/C++语言都直接编译成针对特定平台机器码.如果要跨平台,需要使用相应的编译器重新编译. Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行.解释是通过Java虚拟机来执行的. 字节码文件不面向任何具体平台,只面向虚拟机. Java虚拟机是可运行Java字节码文件的虚拟计算机.不同平台的虚拟机是不同的,但它们都提供了相同的接口. Java语言具有一次编译,到处运行的特点.就是说编译后的.cla…
介绍 C/C++语言都直接编译成针对特定平台机器码.如果要跨平台,需要使用相应的编译器重新编译. Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行.解释是通过 Java虚拟机来执行的. 字节码文件不面向任何具体平台,只面向虚拟机. Java虚拟机是可运行Java字节码文件的虚拟计算机.不同平台的虚拟机是不同的,但它们都提供了相同的接口. Java语言具有一次编译,到处运行的特点.就是说编译后的.class可以跨平台运行,前提是该平台具…
1993 , JAVA初衷: 机顶盒 1994 年互联网刚刚兴起,.(高司令\ 高斯林),改造成了面向互联网的计算机语言.java重要特性之 ------- 跨平台(一次编译,到处运行).平台:操作系统. java的环境的搭建:      jre: java运行环境. jre = java虚拟机 + 核心类库(辅助java虚拟机运行的文件)      jdk: java开发工具集 jdk = jre + java开发工具(Java编译器等). 安装jdk的路径要注意: 不能带有中文路径或者是空格…
An ahead-of-time (AOT) compiler is a compiler that implements ahead-of-time compilation. This refers to the act of compiling an intermediate language, such as Java bytecode, .NET Common Intermediate Language (CIL), or IBM System/38 or IBM System i "T…
Java语言有一个很重要的原理叫:跨平台性. 在介绍Java语言的跨平台性之前首先要介绍一个很重要的概念:JVM: JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. JVM可以安装在不同的平台上,即不同的操作系统上,如:Windows.Linux.Mac.这样同一个Java程序就可以在不同的操作系统上执行,这样就实现了Java语言的跨平台性,也成为Java具有…
首先简单的解释一下Java跨平台的特征,相当于说写一个Java程序论述上可以运行在不同的操作系统平台上面(此处的平台我们就简单的看成是操作系统平台).下面我们用一些事例来说明它的好处. 我们先了解一些基本常识,计算机的由硬件和软件组成,软件又分为系统软件和应用软件.在硬件上面先安装系统软件,在系统软件上面安装应用软件,并且它们相互之间存在是否兼容的问题,如下(图3-1)所示: (图3-1) 软件之间的兼容性问题我们看下面一个示例(图3-2): (图3-2) 我们在下载软件的时候经常会看到上图这样…
相信大家已经了解到Java具有跨平台的特性,可以"一次编译,到处运行",在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的.那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM).JVM也是一个软件,不同的平台有不同的版本.我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件.Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行.也就是说,只要在不同平…
终于开始了期待已久的java,了解java首先要了解下计算机语言的发展历史 机器语言--->汇编语言--->--->高级语言(面向过程的语言和面向对象的语言) 机器语言 每一个计算机只能理解他自己的机器语言.机器语言对于计算机来说就是自然语言了,由计算机硬件的设计者定义.机器语言通常有数字串组成(最终被简化成01),对于人类来说,机器语言过于繁琐. 典型的机器语言: 汇编语言 为了编程的方便,以及解决更加复杂的问题.程序员开始使用英文的缩写的助记符来表示基本的计算机操作.这些助记符构成了…
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM). JVM也是一个软件,不同的平台有不同的版本.我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件.Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行.也就是说,只要在不同平台上安…
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM). JVM也是一个软件,不同的平台有不同的版本.我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件.Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行.也就是说,只要在不同平台上安…
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM). JVM也是一个软件,不同的平台有不同的版本.我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件.Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行.也就是说,只要在不同平台上安…
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM). JVM也是一个软件,不同的平台有不同的版本.我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件.Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行.也就是说,只要在不同平台上安…
相信大家已经了解到Java具有跨平台的特性,可以"一次编译,到处运行",在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM). JVM也是一个软件,不同的平台有不同的版本.我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件.Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行.也就是说,只要在不…
不同操作系统不同的虚拟机,屏蔽不同系统指令集的差异. 开发程序只需要遵循java规范:…
你好 我是大福 你现在看的是大福笔记 今天复习了Java语言的概述 内容包括Java 语言的历史.语言特点及平台版本 JRE和JDK的区别 这篇文章的主题是总结下对Java语言特点中的跨平台原理. 在这之前,我们先了解下计算机语言为什么不能跨平台. 跨平台分两个层面 硬件层面 系统层面 先说硬件层面 计算机只能识别由"0"和"1"组成的二进制数. 那么随便给计算机一组0101的二进制数计算机就能识别么? 当然不是! 以人为例 人是可以识别声音的. 这样一个场景:房间…
在前面讲解编程语言的时候我们看到,通过引入编译器,解决了使用机器语言编程带来的问题.但这有待来了另一个问题:不同的平台(你可以理解成CPU不同.操作系统不同)所能理解的二进制机器指令是不一样的,编译器只能针对某个特定目标平台进行编译,一旦编译完成生成的可执行程序只能在目标平台上运行,换到其它平台就不能运行了. 针对这一问题,Java使用了另一种方案,这也是Java的一大特色:“write once, run anywhere”,即“一次编译,到处运行”.就是说你不用专门为每个平台写一份代码,你写…
本章主题:从骨子里看Java的跨平台;本文内容部分摘自https://www.cnblogs.com/roger-yu/p/5827452.html 有过基础Java知识的开发人员都知道Java是跨平台的,可我们知道Java为什么要跨平台吗,Java的跨平台又是如何实现的呢?下面我们来一一了解. 1.什么是平台 Java是可以跨平台的编程语言,那我们首先得知道什么是平台,Java是一个高级开发语言,通过操作系统提供的接口进行开发,所以这里的平台主要指的就是操作系统了. 操作系统是充当用户和计算机…
java的介绍和定性 java的优缺点分析 jdk的组成结构 jvm的工作原理 java的跨平台原理 java的编译和运行过程…
什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台. CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种零部件的命令控制.CPU的种类非常多,目前我们使用的主流的CPU是由Inter和AMD公司生产的各种CPU.这些CPU使用相同或不同的指令集,指令集就是CPU中用来计算和控制计算机系统的一套指令的集合.指令集又分为精简指令集和复杂指令集,每种CPU都有其特定的指令集.开发应用程序,首先要知道程序在什么CPU上…