Linux 版 (精华区)

发信人: netiscpu (说不如做), 信区: Linux
标  题: Java和Linux
发信站: 哈工大紫丁香 (Mon May 17 13:25:17 1999), 转信

"Linux公报...让Linux更富魅力!" 

---------------------------------------------------------------------------

-----

Java和Linux

作者 Shay Rojansky 译者 sams 

---------------------------------------------------------------------------

-----

不久以前,Javasoft庆祝了Java的三岁生日.Java, 曾经被认为不过是使web页面变得更

生动的调味品而已,如今已大大超乎所想.如今, 知名软件公司纷纷作出支持Java的保证

,新的Java API正在定义. Java技术最终让程序员编写真正的多平台程序,提供了先进的

交叉平台GUI工具箱, 语言中内嵌线程支持等以及更多. 

在这同时,我们看到了计算机软件世界的异常事件.微软,软件产业的巨兽, 受到了来自

司法部和20多个州的反托拉斯诉讼的严重威胁. 网景发布了Communicator的源代码,这

也许是第一个打破对自由开放软件的成见的公司. 它极大的影响了原本对此概念抱有顾

虑的公司,引起了他们对开放软件的兴趣. 

所有这一切对于Linux意味着什么呢?意味着机会到来了.没有比这再好的机遇了. 一方

面,产业开始认真的审视作为开放(且自由)OS的Linux.嘿,如果网景都在上面作它的浏览

器, 我们为啥不试一试呢?另一方面,Java技术提供了开发平台无关应用的途径, 业界的

众多成员追随其后. 

---------------------------------------------------------------------------

-----

Java和Linux社会

Linux社团本身,事实上,总是以矛盾的态度对待Java.Java带来了推翻微软霸权的希望,

 这是据互所有Linux爱好者的梦想,但主流的Linux开发并未接受Linux.这有好几个原因



首先最重要的,Java是Sun微系统公司的专有语言.这意味着Sun控制了Java的所有方面,

 API和它们的许可条件.微软的战术,比如改变其Java套件J++的API从而不兼容与其它的

Java虚拟机, 迫使Sun寻求授予产品"Java兼容"的专有权.虽然这也许是反击微软的不公

平战术的唯一方法, 但之前从来没有那个开发语言被一个公司如此严密的控制.Linux社

团天生反对这样的拥有权. 

其次,Java的多平台概念和Java虚拟机(JVM),使程序员们感到他们不是为Linux环境而是

为Java环境编程. 这也就意味着难以利用Linux的特性. 

第三,Java仍然很慢.有许多有前途的增强方法面世,比如Just-in-Time编译器和Sun的H

otspot(仍是beta版). 自从Java诞生后已经改进了很多,但仍然需要一个强大的平台. 

Linux世界相对比较重视速度,而且Linux的一个主要的优点就是可以利用古老的硬件. 

---------------------------------------------------------------------------

-----

Java编程的优点

尽管Java有如此多的缺点,但它是近几年来对微软的游戏规则的唯一真正的挑战. 它也

是先进的语言,使用现代编程概念写成;所有C++为与C后向兼容而保留的缺点Java都不存

在, 也抛弃了一些复杂特性(比如多重继承).自动垃圾搜集器清除无用的内存碎片,彻底

减少了开发周期. 线程是如此的嵌入进语言以至于变成了程序员的当然工具. 

我希望Linux开发者再次考虑Java作为开发语言并正式使用它. 一些Java开发人员已经

在Java工具上做出了令人印象深刻的进展,包括一些Java虚拟机(JVM), 一些Just-in-T

ime(JIT)编译器以及其他.如果你想在Linux平台上开发Java,你可以去看看. 这是Java

-Linux的资源主页:http://www.blackdown.org/java-linux.html 

下面将叙述JDK 1.1.x 的一些关键特性.注意下一个版本1.2仍是Beta版,但不久 会推出

正式版. 

---------------------------------------------------------------------------

-----

对象串行化

对象串行化意味着取一个对象并融入字节流中.实践中,主要有两个用途: 在网络上传递

对象和在文件中存储对象.一般来说,程序员想要讲述结构存入磁盘, 则必须写一个相应

的法则,这是相当冗长无味的过程.Java自动处理这些,从而简化了过程. 例如,你在内存

中有一个树并希望通过网络传送到另一个Java程序, 你所需作的仅仅是传送根对象--J

ava将沿着指针复制整个树.如果有特殊需要(像安全性), 你可以自己设计对象串行化的

过程. 

---------------------------------------------------------------------------

-----

Java基本类(Swing)

原始的AWT,Java的窗口设计工具,相当沉闷而不舒适.有许多元件意识,编程模式令人烦

恼. 目前可以接受的工具像叫做Swing.Swing提供了大量轻量级元件; 它们完全用Java

事项但没有使用AWT种的窗口结构.这确保了跨平台的相同功能性. 另一个动人的特性是

完全可插入的感观,比如允许程序运行时从Windows界面切换至Motif. 你也可以设计自

己的界面. 

---------------------------------------------------------------------------

-----

RMI(远程方法调用)

RMI是CORBA在Java种的等价物,可在另一个JVM(甚或机器)调用对象的方法. 对于熟悉U

nix中常用的RPC(远端过程呼叫),RMI(和CORBA)是其面向对象的版本. 最近分布式编程

的概念已经相当流行.通常,这意味着网络程序的紧密集成; 不同机器的对象可通过调用

彼此的方法进行交谈.这通过让Java程序保留一个远端对象的"stub"来实现. 这样,当s

tub中的方法被调用时,Java显式地向网络传送一个请求并返回所需值. 分布式和串行化

嵌入到Java的程度显示了支持这些概念的现代编程语言的先进性. 

---------------------------------------------------------------------------

-----

JNI(Java本地接口)

当程序员们想利用Java的优点作一些系统相关的事时通常会遇到麻烦. JNI允许你使用

本地共享的对象接口并运行其方法. 这意味着你可以用C或其他语言编写系统相关代码

并在Java中使用.当然, 因此除非提供所有平台的共享对象,你的程序将不可移植.这是

相当有用的,比如, 在Unix中捕获信号或在Windows中存取注册表. 

---------------------------------------------------------------------------

-----

JDBC(Java数据库连通性)

Java数据库连通形是一个SQL数据库存取接口. 它在提供了JDBC驱动的任何数据库上给

出了进行数据库无关的SQL查询的方法.目前, 许多流行数据库这样做了,而那些尚未如

此的则可以通过JDBC-ODBC桥存取, 实际上允许你使用ODBC驱动.此处给出数据库驱动的

列表: http://java.sun.com/products/jdbc/jdbc.drivers.html. 

好好看看Java.如果我们能够将操作系统和应用分开,我们将拥有选择我们喜欢的 操作

系统的自由.尽管在精神上Linux社团具有非正统性,但Java具有巨大的潜力, 值得我们

关注.Linux-Java组合将获得胜利. 

Java资源

Java home: http://java.sun.com/ 

Java developer connection (free registration): http://java.sun.com/jdc/ 

Swing (JFC): http://java.sun.com/products/jfc/index.html 

Java for Linux: http://www.blackdown.org/java-linux.html 

---------------------------------------------------------------------------

-----

Copyright ? 1998, Shay Rojansky 

Published in Issue 32 of Linux Gazette, September 1998

---------------------------------------------------------------------------

-----

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.398毫秒