码迷,mamicode.com
首页 > 其他好文 > 详细

菜鸟笔记 -- Question 3.1 聊聊跨平台

时间:2017-12-06 00:49:57      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:3.1   驱动程序   blog   解决   www.   aik   ima   硬件驱动   平台   

   学习Java的时候总是被用来吹嘘说Java的跨平台多么多么NB,可认真想想是那么回事吗?还记得吗Java是从C++发展而来的,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承指针等概念,因此Java语言具有功能强大和简单易用两个特征。知道了Java来自于C,那么我们就有了一个以为C是跨平台的吗?

  C语言本来就是跨平台的,不过是“源码级”跨平台。本来就存在针对linuxwindows的不同的编译器。所以有C语言“一次编写,到处编译”,Java是“一次编译,到处运行”的说法。如C++创始人酸溜溜的说法,JVM造了一个新的平台,让所有Java程序只能在这个平台上运行,而CC++的代码可以在几十个不同的平台上运行,从源码这个角度而言,CC++是跨平台的,而Java不是。这里所说的源码是经过编写未曾编译的。那么这么看起来Java的跨平台是不是真的有些鸡肋了呢?

  这种说法也是有失偏颇的,因为JavaC针对的方向不同所以跨平台承担的责任也就不同了,C主要用于系统底层的开发,操作系统Linux,硬件驱动程序。所以对于跨平台就是源码级别的。而Java呢?

  Java的起源, 发明的初衷, 最开始Java是为了机顶盒开发的, 机顶盒用的CPU不是x86架构的intel CPU而是单片机, 而单片机的发展是很迅速的, 你花了半年为某种单片机开发了程序, 等程序出来了可能这个型号的单片机已经没人用了, Sun当时是为了解决这个问题, 提出了程序只用写一遍编译一遍, 然后让JVM来适应单片机型号的不同.这是最初的跨平台,而发展到了今天呢?我们知道Java已经成为了web开发的主流语言,可是我们开发的时候是在Windows下开发,而部署往往是部署在LinuxUnix下的,所以此时Java的跨平台就又可以大展神威了,因为不管什么时候,Java说白了都是运行在JVM上的,真正需要跨平台的是JVM,所以对于我们编写程序来说,就让编码和跨平台分开了,便利了开发。Java的跨平台说白了就是下面的一张图:

技术分享图片

菜鸟笔记 -- Question 3.1 聊聊跨平台

标签:3.1   驱动程序   blog   解决   www.   aik   ima   硬件驱动   平台   

原文地址:http://www.cnblogs.com/lin-jing/p/7990189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!