Posted by & filed under Uncategorized.

About Aslent

Weili Guan has written 43 post in this blog.

En...Yh....

反复的听说JAVA是一种跨平台的语言,到底何为跨平台,JAVA又是如何实现跨平台的呢?

先来看一则小故事
最近YY上开设了JAVA俄语班、JAVA英语班、JAVA日语班等等,关于JAVA的系列课程教室。小花是JAVA行业的大牛,于是YY的管理员邀请小花在工作之余,为一些初来乍到的学者们讲课。很多同学听说小花讲课不错,都想听听小花的课,可是问题来了:各位学者来自不同国家,他们大多只懂自己的国语(爱国呀!),而小花只懂汉语,对于英语略懂点(超级爱国者),这怎么办呢?有两种办法,第一,他每次上课前,先准备好演讲稿,各种语言都用自己懂的汉语来标注;第二,每次上课,带个翻译(这个翻译比较列害,八种语言不在话下)。
话说,这两种方式有什么不同呢?演讲稿不能灵活的变通,比如本来讲课定为周六上午,演讲稿上的开场白是Good morning,ereryone!结果小花临时有事调到了下午 ,小花还照此不误的念了开场白,结果惹来众笑,大牛也不过如此嘛,小花在学生面前丢了面子;而带个翻译呢,不管在什么时候讲课,讲的什么内容,他都能给你翻译成相应的语言。

上面的故事与咱们的JAVA跨平台又有什么联系呢?下面看一幅图:

你仔细想想,看看JAVA跨平台到底与上面的故事有何联系,你是不是会想到:不同的国家就好比是平台,而翻译者就好比是虚拟机!

到底什么是跨平台,JAVA又是怎么实现跨平台的?
JAVA字节码通过虚拟机翻译(解释)给不同的平台,这个过程就叫做跨平台。JAVA字节码文件只有一个,但针对不同的平台会有不同的虚拟机,比如有Mac平台的虚拟机、Linux平台的虚拟机、Windows平台的虚拟机等等……究其原因,实现跨平台最根本的东西是虚拟机(JVM)。

Leave a Reply

  • (will not be published)