免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: silasoni
打印 上一主题 下一主题

关于java跨平台 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-10-08 01:12 |只看该作者

关于java跨平台

按楼主的理解,什么是真正的跨平台。说不定也是以后大家努力的方向。

论坛徽章:
0
12 [报告]
发表于 2005-10-08 04:04 |只看该作者

关于java跨平台

如果有机会写数据导入导出,和服务器之间交互的应用,就会知道“跨平台”有什么意义了。

在java之前,跨平台是很痛苦的事情,主要是因为所有对于系统的调用,在不同的操作系统下结果都不一样,简单的来说,int的长度在不同操作系统里面就不一样,甚至于连字节排列的顺序都不同。调用同一个函数返回的格式也不同,因此,写程序的人自己要对不同的系统非常了解,如果真的需要对不同操作系统进行兼容,要在程序里面写很多if,编译的时候要先判断使用的操作系统,创造很多环境变量才能编译,而且编译好的二进制可执行文件只能在本系统上运行。如果你写的是个功能库供别人调用的,那么光对操作系统的判断就占了代码的绝大部分,而且,还要你在不同平台下进行测试,这可是个艰苦卓绝的工作。建议你有空可以看看apache httpd服务器的源代码就知道了。

自从有了java之后,就把操作系统兼容的工作丢给了jvm了,对于程序员来说就再也不要关心int有几位,还有高位在前还是地位在前的问题了,你只要用java的代码把你程序的逻辑实现出来就可以了,这些兼容的问题就交给jvm去处理吧。这样,如果你写一个程序交付给客户使用,如果客户的环境是运行AIX的,你就不需要在本地也装一个AIX来开发和运行,你可以在windows上完成所有的开发,然后把编译好的文件交给客户就可以了,以后有别的客户需要在Solaris上运行这个程序,你都不用修改,直接拿过去就可以运行,这难道不是一种方便吗?只有被跨平台开发折磨过的人才能更深得体会到用java开发跨平台应用的优势。

论坛徽章:
0
13 [报告]
发表于 2005-10-08 07:34 |只看该作者

关于java跨平台

按照楼主的思路,真正的跨平台,是编译时期的跨平台,直接生成目标平台的可执行代码。
那么就是支持Linux, 各种Unix, Windows, OS/400, z/OS, 等的交叉编译才行,还要考虑各种不同的图形类库,这样在编译的时候使用的编译器和所有需要的类库至少有上百G那么大

我觉得楼主的思路还是很有意思的。可以看看IBM的一个古老的产品VisualAge Generator。这个软件的思路是你需要“跨”那个平台,就要有这个平台和上边的开发工具和类库。支持十几种操作系统,可以直接生成目标平台的代码,没有虚拟机。

论坛徽章:
0
14 [报告]
发表于 2005-10-08 10:10 |只看该作者

关于java跨平台

如果你在多种系统中用一种以上的工具编写过代码再来理解就容易多了,
java只是一种语言一种表达思想的方式,
计算机执行的是0,1这样的数字信号,
把高级语言转换为0,1信号中间有许多步骤,
由于各种系统设计上的不同实现如上的步骤的方法也不同,
你要用某种OS就必须遵照它的设计它的转换规则,
java只是重我们写代码的角度实现了跨平台的统一,
底层的OS的转换为0,1的过程各不相同的!

论坛徽章:
0
15 [报告]
发表于 2005-10-08 12:03 |只看该作者

关于java跨平台

:)

我觉得,PHP还是跨平台的,Mysql也是跨平台的,而且,不要安装JDK之类的哦。

论坛徽章:
0
16 [报告]
发表于 2005-10-08 20:41 |只看该作者

关于java跨平台

PHP 是跨平台没错,就是它的安全记录实在是太差。看看这几年它有多少安全漏洞吧。

论坛徽章:
0
17 [报告]
发表于 2005-10-08 21:43 |只看该作者

关于java跨平台

你知道php和mysql是怎么实现跨平台的吗?你去看看他们的源代码就知道了。而且你要在服务器上安装php的解析器才能运行php啊,php解析器决不是跨平台的,在每个操作系统上都要重新编译才能运行,更麻烦的是,php使用的很多extension都不是跨平台的,在*nix上编译成 so ,在windows上编译成dll,还不能保证所有的so都能移植成dll

mysql是具体的应用系统,和编程语言不在同一个级别上的,这个没法比较。要么和Oracle比。想想Oracle为什么用java实现很多功能

论坛徽章:
0
18 [报告]
发表于 2005-10-08 23:46 |只看该作者

关于java跨平台

楼上的,

说PHP跨平台,你就这么不高兴?

你说PHP需要到每个系统重新编译,
难道你Java跨平台,各个平台的JDK都是一样的?
我就不信,Linux下的JDK,放在Windows下能运行?

论坛徽章:
0
19 [报告]
发表于 2005-10-09 09:03 |只看该作者

关于java跨平台

只是解释一下php和Java的跨平台的实现方法并没有什么本质不同。哪里不高兴了?

楼上的自己搭过php的环境?

论坛徽章:
0
20 [报告]
发表于 2005-10-09 09:34 |只看该作者

关于java跨平台

php也不是绝对意义的跨平台 尤其是它的扩展
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP