关于.net与java跨平台的问题 20

1.跨平台到底是什么意思?2.用LINUX既可以打开用.net开发的aspx页面,又可以打开用java开发的jsp页面,这一点是跨平台的概念中的一点吗?如果是的,那也就是... 1.跨平台到底是什么意思?
2.用LINUX既可以打开用.net开发的aspx页面,又可以打开用java开发的jsp页面,这一点是跨平台的概念中的一点吗?如果是的,那也就是说.net开发的系统也可以在LINUX上面运行啊?为什么总是有人说微软的。NET不能跨平台,而JAVA就跨平台呢?
展开
 我来答
宣义坊的大蚂蚁
2008-11-17 · TA获得超过2830个赞
知道大有可为答主
回答量:1617
采纳率:90%
帮助的人:877万
展开全部
1. 跨平台的意思是基于.net或java开发的程序可以在多个平台上运行(不是在多个平台上访问,是运行),这里的平台包括硬件和软件,比如硬件的有x86 PC平台(我们常见的电脑),Arm 掌上电脑平台等;软件的有Windows平台,Linux平台等。
2. 就像我再前面说的,跨平台的衡量标准是在多平台上运行,而你说道的是访问而不是运行。目前来看,.net和java都是跨平台的,只是微软的局限性很强,仅能跨同样基于微软操作系统的PC和掌上电脑平台,而基于虚拟机机制的java则更加宽泛一些,除了可以在PC和掌上使用外,还支持了包括Windows和Linux在内的几乎所有软件平台。

Ps:楼上说道的Linux下面的所谓.net方案Mono,哪个东西不是微软出的,也没有微软为.net运行时提供的诸多特性,仅仅是一个不成熟的“仿制品”。
51gamer
2008-11-10
知道答主
回答量:34
采纳率:0%
帮助的人:31.6万
展开全部
1、跨平台泛指程序语言、软件或硬件设备可以在多种作业系统或不同硬件架构的电脑上运作。
广义面言,一般的计算语言都可做到跨平台,开发商只需要提供各种平台下的Runtime/中间件环境即可。严格而言是指用某种计算机语言编制的程序只需要做小量的修改,编译之后即可在另外一种平台下运行,此时并不提供Runtime/中间件环境。例如Java是一种提供Runtime环境的跨平台解决方案,而C而是一种标准且严格的跨平台语言。
跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不信赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。相对而言如果某种计算机语言不用修改代码即可做到高度跨平台
,那麼此语言就越抽象,硬件控制力就越低,只适合开发高度抽象的模型系统。诸如java,delphi和易语言,都已做到了跨平台。它们将可以在多种系统下开发,运行和维护。
援多种作业系统的软体
1. 资料库管理系统(DBMS):
MySQL:Solaris、Linux、Windows、FreeBSD
Oracle:Solaris、Linux、Windows
2. 网站伺服器、应用程式伺服器:
Apache:Solaris、Linux、Windows、FreeBSD
Tomcat:Linux、Windows、FreeBSD
3. 网际网路浏览器:
Mozilla Firefox:Linux、FreeBSD、Solaris、AIX、Windows、
可在不同作业系统上进行软体开发的程式语言
C语言、C++、Java
Perl、Tcl、Erlang
Python、Delphi+Kylix、REALbasic
详细解说
大部分电脑语言从绝对意义而言,都是跨平台的:因为都是以高级的、人类可读的方式来对CPU发号指令,这样也就没必要依赖於任何作业系统。但如果要用系统的部件工具箱,来新建用户图形界面(GUI),就可能会用到开发员特定系统中的API函数或库类。虽然C++是跨平台的,但Windows下用到Win32 API的C++程式,一般就不能在Unix机器上编译。不同编译器对语言规范的解释也有所差异。这样的话,在针对不同系统进行构建之前,程式就得加以考虑。
一些如Java这样的语言,从一开始就意识到要在各个平台下运行,所以跨平台在其平台的本地语言环境中已经实现。例如,Java可以跨平台使用,正是由於Swing库在许多平台下的实现。类似的,能进行跨平台的文件存取,是因为有各自平台下文件存取的库。以此类推,各种跨平台问题,都需要各自的本地库来解决。wxWidgets框架就是这样的一个跨平台库,根据不同的跨平台问题,提供了许多不同的解决方案;类似的库有许多,可以根据不同语言的跨平台开发,而采用相应的库。
针对每种作业系统、CPU,而提供并测试各自的编译版本,这种做法的可行性很小;开源软体则允许用户自己来编译目的码(object code),这样在跨平台方面更好一些。类似的,那些解释型语言,或者需要虚拟机的语言,也更加符合跨平台的要求,因为用户也要自己进行编译。Sun公司的Java虚拟机Hotspot,只针对几种而不是全部平台,提供编译好的二进位文件。例如,Sun对於GNU/Linux,只支持i386平台,但如果谁在PowerPC或者SPARC电脑上运行Linux,就只好自己编译本地的机器码(machinecode),或者使用第三方软体,才能运行Java 程式。
许多API(应用程式介面)依赖於平台。OpenGL可以看作是跨平台的,因为其不依赖於任何特定的作业系统、CPU构架或者某个牌子的图形设备。特定平台的API可以在其他系统上作为兼容层而新建,例如WINE的库,Windows程式就可以在UNIX系统上运行。
另外许多程式语言还有跨平台的扩展以及中间件,这样程式设计师对於同样的原始码,只要进行一点小修改,就可以在不同平台下编译/运行,例如Qt和wxWidgets。
2、看看上面就知道了吧

参考资料: http://baike.baidu.com/view/469855.html?wtp=tt

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LOVEPUG
2008-11-19 · TA获得超过320个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:222万
展开全部
我只回答你的第二个问题,你就明白了:
用LINUX可以打开.net开发的aspx页面,是因为这个网站的服务器是windows平台的,装有.net framework,代码(如:数据库操作,配置文件的读写)都只是在服务器端运行处理,而处理完成,最后送到你手上的,只是一段HTML代码。
是HTML能跨平台,而不是.net能跨平台,LINUX能打开所有类型的网页,明白了吗?

如果你用LINUX弄成服务器,在上面挂一个网页,就不能挂.net的,为什么?因为它不能装.net framework。
而JAVA即可以装在windows平台上,又可以装在LINUX上,这就是跨平台。

已经说得非常通俗了,还不明白就自己去恶补一下。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
h409609177
2008-11-17 · TA获得超过305个赞
知道答主
回答量:95
采纳率:0%
帮助的人:71.2万
展开全部
java靠的是JVM机制
也就是说只要有JVM的机器都可以运行JAVA了,所以在每个有JVM的电脑上都可以顺畅的使用java
你要理解平台的概念,".net"就是一个平台而不是一个种语言,我们平时说的.net和java那是在说在.net平台下的语言(C#.C++ ....)
C#就只有在安装了.net平台下的电脑上才可以用,但是java就不一样啊,不用安装只要有JDK就可以了啊.而且JDK是JRE的说明文件,是放在任何地方都可以使用的,但是.net平台是要在win系统下才可以安装的,不过近年来Micro也在其它的系统下开发了.net平台的安装程序.所以在LINUX上也可以用C#编写的东西了.

.....

记住一句话"JAVA是跨平台的语言,.net是跨语言的语言"
这个就是两种语言的区别,其实了解的人都知道,.net平台下的语言就是java,是micro在与SUN公司合作的时候,偷偷的破解了java的部分开源,然后做了修改,就有了现在的.net平台下的语言,不过他不想和SUN做的一样所以做了修改....

现在.net平台下的各种语言是通过一个叫"公共语言运行时"的机制来连接一起的,所以在做.net开发的时候可以有各种不同的程序员来编写程序....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yizusong
2008-11-10 · TA获得超过3045个赞
知道大有可为答主
回答量:4516
采纳率:0%
帮助的人:4473万
展开全部
用LINUX既可以打开用.net开发的aspx页面,又可以打开用java开发的jsp页面
这不是跨平台的意思,这只是B/S的特性

跨平台只的是,你用.net做的东西可以运行在多个平台下,比如windows和linux,.net已经可以跨平台了,你试试linux下的mono
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式