Java 是一种优秀的通用语言。它可能因 Web Applets 而最为出名,但正如本文所示,它具有完整的 GUI 组件,可用于任何类型的应用程序。 近年来,它也作为一种服务器端语言而流行起来,这很大程度上归功于它简化了 C++ 的面向对象编程模型,以及它的可移植性。 举一个例子,Java 的网络 API (java.net) 完全隐藏了标准 UNIX 套接字和 Microsoft 操作系统上使用的异步套接字之间的差异。 此外,构建、打开和从客户端套接字读取数据所需的代码(不包括错误检查)是:
Socket s = new Socket("myhost", 1234); // DataInputStream ins = new DataInputStream(s.getInputStream()); // BufferedReader is preferable to DataInputStream<\n> // as of JDK1.1 BufferedReader ins = new BufferedReader( new InputStreamReader(s.getInputStream())); String s; while ((s = ins.readLine()) != null) { // do something with this line of input }类似地,可以轻松创建服务器端套接字,绕过创建 sockaddr_in、转换和绑定它的细节
ServerSocket ss = new ServerSocket(1234); Socket ios; while (s = ss.accept()) { // do I/O on s, which is connected to a<\n> // client }要从 Web 服务器读取数据,可以节省更多代码
URL darwin = new URL("http://www.darwinsys.com/java"); InputStream ins = darwin.openStream(); // can then construct a DataInputStream or<\n> // BufferedReader as above这段代码(同样,省略了错误处理)解析 URL,连接到 URL 的 Web 服务器,并允许您获取一个 Stream 连接以将其内容作为文本读取。 可以使用更详细的调用来处理非文本 URL。
Java 在许多其他领域都提供了类似的 API 经济性。 有关详细信息,请参阅我的 Java 网站 http://www.darwinsys.com/java/ 或 Sun 的 Java 网站 http://java.sun.com/。