完成 Java 程序设计的第一章。

+YUCHENG HU+


git-svn-id: https://svn.code.sf.net/p/hawebs/svn@519 a2543c7e-f6e9-4f8a-8bff-1ffc34733512
This commit is contained in:
YuCheng Hu
2010-07-19 20:47:11 +00:00
parent 34c955271f
commit 02f732824b
10 changed files with 382 additions and 69 deletions
@@ -1,12 +1,12 @@
#Thu Jul 15 15:37:31 EDT 2010 #Mon Jul 19 16:45:58 EDT 2010
copytosourcelist= copytosourcelist=
hreftargetslist=tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_1.dita hreftargetslist=tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_2.dita,tasks/chapter1/chapter1_6.dita,tasks/chapter1/chapter1_5.dita,tasks/chapter1/chapter1_3.dita,tasks/chapter1/chapter1_4.dita,tasks/chapter1/chapter1_1.dita
fullditatopicfile=fullditatopic.list fullditatopicfile=fullditatopic.list
fullditamapandtopicfile=fullditamapandtopic.list fullditamapandtopicfile=fullditamapandtopic.list
fullditatopiclist=tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_1.dita fullditatopiclist=tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_2.dita,tasks/chapter1/chapter1_6.dita,tasks/chapter1/chapter1_5.dita,tasks/chapter1/chapter1_3.dita,tasks/chapter1/chapter1_4.dita,tasks/chapter1/chapter1_1.dita
fullditamapandtopiclist=tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,java_app.ditamap,tasks/chapter1/chapter1_1.dita fullditamapandtopiclist=tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_2.dita,tasks/chapter1/chapter1_6.dita,java_app.ditamap,tasks/chapter1/chapter1_5.dita,tasks/chapter1/chapter1_3.dita,tasks/chapter1/chapter1_4.dita,tasks/chapter1/chapter1_1.dita
hrefditatopicfile=hrefditatopic.list hrefditatopicfile=hrefditatopic.list
hrefditatopiclist=tasks/info/hacopyright.dita hrefditatopiclist=tasks/info/hacopyright.dita,tasks/chapter1/chapter1_4.dita
user.input.file=java_app.ditamap user.input.file=java_app.ditamap
subtargetsfile=subtargets.list subtargetsfile=subtargets.list
fullditamapfile=fullditamap.list fullditamapfile=fullditamap.list
@@ -27,7 +27,7 @@ imagelist=images/halogo.jpg
htmlfile=html.list htmlfile=html.list
htmllist= htmllist=
canditopicsfile=canditopics.list canditopicsfile=canditopics.list
canditopicslist=tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_1.dita canditopicslist=tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_2.dita,tasks/chapter1/chapter1_6.dita,tasks/chapter1/chapter1_5.dita,tasks/chapter1/chapter1_3.dita,tasks/chapter1/chapter1_4.dita,tasks/chapter1/chapter1_1.dita
keyreffile=keyref.list keyreffile=keyref.list
subjectschemefile=subjectscheme.list subjectschemefile=subjectscheme.list
keyreflist= keyreflist=
@@ -3,13 +3,13 @@
SYSTEM "http://java.sun.com/dtd/properties.dtd"> SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties> <properties>
<entry key="copytosourcelist"></entry> <entry key="copytosourcelist"></entry>
<entry key="hreftargetslist">tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_1.dita</entry> <entry key="hreftargetslist">tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_2.dita,tasks/chapter1/chapter1_6.dita,tasks/chapter1/chapter1_5.dita,tasks/chapter1/chapter1_3.dita,tasks/chapter1/chapter1_4.dita,tasks/chapter1/chapter1_1.dita</entry>
<entry key="fullditatopicfile">fullditatopic.list</entry> <entry key="fullditatopicfile">fullditatopic.list</entry>
<entry key="fullditamapandtopicfile">fullditamapandtopic.list</entry> <entry key="fullditamapandtopicfile">fullditamapandtopic.list</entry>
<entry key="fullditatopiclist">tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_1.dita</entry> <entry key="fullditatopiclist">tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_2.dita,tasks/chapter1/chapter1_6.dita,tasks/chapter1/chapter1_5.dita,tasks/chapter1/chapter1_3.dita,tasks/chapter1/chapter1_4.dita,tasks/chapter1/chapter1_1.dita</entry>
<entry key="fullditamapandtopiclist">tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,java_app.ditamap,tasks/chapter1/chapter1_1.dita</entry> <entry key="fullditamapandtopiclist">tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_2.dita,tasks/chapter1/chapter1_6.dita,java_app.ditamap,tasks/chapter1/chapter1_5.dita,tasks/chapter1/chapter1_3.dita,tasks/chapter1/chapter1_4.dita,tasks/chapter1/chapter1_1.dita</entry>
<entry key="hrefditatopicfile">hrefditatopic.list</entry> <entry key="hrefditatopicfile">hrefditatopic.list</entry>
<entry key="hrefditatopiclist">tasks/info/hacopyright.dita</entry> <entry key="hrefditatopiclist">tasks/info/hacopyright.dita,tasks/chapter1/chapter1_4.dita</entry>
<entry key="user.input.file">java_app.ditamap</entry> <entry key="user.input.file">java_app.ditamap</entry>
<entry key="subtargetsfile">subtargets.list</entry> <entry key="subtargetsfile">subtargets.list</entry>
<entry key="fullditamapfile">fullditamap.list</entry> <entry key="fullditamapfile">fullditamap.list</entry>
@@ -30,7 +30,7 @@
<entry key="htmlfile">html.list</entry> <entry key="htmlfile">html.list</entry>
<entry key="htmllist"></entry> <entry key="htmllist"></entry>
<entry key="canditopicsfile">canditopics.list</entry> <entry key="canditopicsfile">canditopics.list</entry>
<entry key="canditopicslist">tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_1.dita</entry> <entry key="canditopicslist">tasks/info/hacopyright.dita,tasks/info/apachelicense.dita,tasks/chapter1/chapter1.dita,tasks/chapter1/chapter1_2.dita,tasks/chapter1/chapter1_6.dita,tasks/chapter1/chapter1_5.dita,tasks/chapter1/chapter1_3.dita,tasks/chapter1/chapter1_4.dita,tasks/chapter1/chapter1_1.dita</entry>
<entry key="keyreffile">keyref.list</entry> <entry key="keyreffile">keyref.list</entry>
<entry key="subjectschemefile">subjectscheme.list</entry> <entry key="subjectschemefile">subjectscheme.list</entry>
<entry key="keyreflist"></entry> <entry key="keyreflist"></entry>
@@ -11,6 +11,11 @@
<meta name="DC.subject" content="Java, APP, 应用程序"/> <meta name="DC.subject" content="Java, APP, 应用程序"/>
<meta name="keywords" content="Java, APP, 应用程序"/> <meta name="keywords" content="Java, APP, 应用程序"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1_1.html"/> <meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1_1.html"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1_2.html"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1_3.html"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1_4.html"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1_5.html"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1_6.html"/>
<meta name="prodname" content="Java 编码规范"/> <meta name="prodname" content="Java 编码规范"/>
<meta name="version" content="1.0.0.0"/> <meta name="version" content="1.0.0.0"/>
<meta name="brand" content="HAWEBS ZEN Java 编码规范"/> <meta name="brand" content="HAWEBS ZEN Java 编码规范"/>
@@ -41,7 +46,17 @@
<div> <div>
<ul class="ullinks"> <ul class="ullinks">
<li class="ulchildlink"><strong><a href="../../tasks/chapter1/chapter1_1.html">相关协议</a></strong><br/> <li class="ulchildlink"><strong><a href="../../tasks/chapter1/chapter1_1.html">Java 语言产生和发展的背景</a></strong><br/>
</li>
<li class="ulchildlink"><strong><a href="../../tasks/chapter1/chapter1_2.html">Java 的主要特性</a></strong><br/>
</li>
<li class="ulchildlink"><strong><a href="../../tasks/chapter1/chapter1_3.html">Java 的影响</a></strong><br/>
</li>
<li class="ulchildlink"><strong><a href="../../tasks/chapter1/chapter1_4.html">获取 Java 资源</a></strong><br/>
</li>
<li class="ulchildlink"><strong><a href="../../tasks/chapter1/chapter1_5.html">Java 新进展</a></strong><br/>
</li>
<li class="ulchildlink"><strong><a href="../../tasks/chapter1/chapter1_6.html">本文档的说明</a></strong><br/>
</li> </li>
</ul> </ul>
</div> </div>
@@ -5,9 +5,9 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="DC.Type" content="concept"/> <meta name="DC.Type" content="concept"/>
<meta name="DC.Title" content="相关协议"/> <meta name="DC.Title" content="Java 语言产生和发展的背景"/>
<meta name="DC.subject" content="Java, Mail, API"/> <meta name="DC.subject" content="Java, APP, 应用程序"/>
<meta name="keywords" content="Java, Mail, API"/> <meta name="keywords" content="Java, APP, 应用程序"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1.html"/> <meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1.html"/>
<meta name="prodname" content="Java 编码规范"/> <meta name="prodname" content="Java 编码规范"/>
<meta name="version" content="1.0.0.0"/> <meta name="version" content="1.0.0.0"/>
@@ -19,70 +19,24 @@
<meta name="DC.Language" content="zh"/> <meta name="DC.Language" content="zh"/>
<link rel="stylesheet" type="text/css" href="../../css/commonltr.css"/> <link rel="stylesheet" type="text/css" href="../../css/commonltr.css"/>
<link rel="stylesheet" type="text/css" href="../../css/public.css"/> <link rel="stylesheet" type="text/css" href="../../css/public.css"/>
<title>相关协议</title> <title>Java 语言产生和发展的背景</title>
</head> </head>
<body id="chapter1_1"><a name="chapter1_1"><!-- --></a> <body id="chapter1_1"><a name="chapter1_1"><!-- --></a>
<h1 class="topictitle1">相关协议</h1> <h1 class="topictitle1">Java 语言产生和发展的背景</h1>
<div> <div>
<p>在学习JavaMail API的深层知识之前,让我们回过头来看一看在该API中使用的协议,本质上有4种人们常用的协议:</p> <p>Java语言源于Oak语言,这是SUN公司在一项消费性电子产品软件发展方案中采用的语言。Oak的设计目标是用以开发可靠、紧凑、易于移植的分布式嵌入系统。尽管Oak语言在技术上颇为成功,但由于商业上的原因,却未能在市场的激烈竞争中站稳脚跟。然而,Internet和WWW日新月异的发展却为Oak创造了新的生存空间。Oak经过改进,成为一种非常适合网络开发的独特语言——Java,从而脱颖而出,一举成名。</p>
<div class="p"><ul> <p>Internet,中译为“因特网”或“互联网”,是当今最大的国际性计算机互联网络。它源于美国国防部高级研究计划局(Advanced Research Project Agency)的网络ARPANET,但发展到今天,已成为一个庞大的全球网。顾名思义,这是一个“网间网”它把各种异构网络联接一起,使位于世界各地、不同网络中的人们能够自由地交换信息。Internet在全球的用户以千万计,并在不断激增;被它直接、间接连通的国家也越来越多。Internet上的协议标准也日益受到广泛支持并在不断地得到扩充。</p>
<li>SMTP</li>
<li>POP</li> <p>WWW全称为World Wide Web,中译为“万维网”、“全球网”等,是Internet中最为直观和富有魅力的资源。它运用超文本(Hypertext)技术将信息组织成文字、声音、图像,用户可以用浏览器读取这些信息。WWW上信息种类繁多,用户可以根据自己的需要在任何时间访问自己所需的信息。WWW上的信息由页面组成,页面中包含超文本链接(Hypertext Link),把位于不同页面的相关内容链在一起,因而检索信息非常方便。WWW的发展也是日新月异,它已不止局限于展示静止信息,正在不断增强交互和动态性。许多商家和企业也把目光瞄准了WWW,可以预料,WWW世界将变得越来越丰富多彩。</p>
<li>IMAP</li> <p>Internet(含WWW)为人们提供了许多有用的信息,然而,Internet上的用户使用着各种各样的计算机,系统软件和用户软件也缺乏兼容性。在这些不兼容的平台间交换信息,就像对许多语言不通的人讲话一样,是非常困难的。而Java与生俱来的特性刚好可以解决这道电脑界的“世纪难题”。它建立的虚拟环境运行标准解决了软件跨平台执行的问题,使不同的平台都能理解用Java编写的程序,命名Java语言成了网络世界的通用语言。因此,Java在Internet和WWW环境下如鱼得水,迅速风靡全球。</p>
<li>MIME</li> <p>总之,Java作为一种独特的语言,诞生于Internet和WWW蓬勃发展的时期,可谓恰逢其时。如今的Java与当初的Oak语言已不可同日而语。而且,Java技术的创始者SUN公司采用了一种“开放”策略,将它公诸于众,更激发了第三方软件开发商的极大热情,纷纷发展Java技术。Java的前景是非常广阔的。 </p>
</ul>
</div>
<p>您还需要了解NNTP及其他一些协议。理解这些协议的基本原理有助于您理解如何使用JavaMail API。而该API的设计要与协议无关,所以不能克服这些基础协议的限制。如果选用的协议不支持某种功能,那么JavaMail API也无法在其上添加这种功能。(正如您一会儿就会看到的,在操作POP协议时,常常会碰到这种问题)。</p>
<div class="p"><ul>
<li>
<p>SMTP</p>
<p>简单邮件传输协议(SMTP)是用于传送电子邮件的机制。在JavaMail API环境中,您的基于JavaMail的程序将与您公司或Internet服务提供商(ISP)的SMTP服务器通信。该SMTP服务器将会把消息转发给用作接收消息的SMTP服务器,最后用户可通过POP或IMAP协议获取该消息。由于支持身份验证,所以不需要SMTP服务器是一种开放的转发器,但需要确保SMTP服务器配置正确。JavaMail API中没有集成用于处理诸如配置服务器以转发消息或添加/删除电子邮件帐户这一类任务的功能。</p>
</li>
<li>
<p>POP</p>
<p>POP的含义是邮局协议,当前的版本为3,也称作POP3,该协议是在RFC 1939中定义的。POP是Internet上的大多数人用来接收邮件的机制。它为每个用户的每个邮箱定义支持,这是它所做的全部工作,也是大多数问题的根源。在使用POP协议时,人们熟悉的很多功能,如查看收到了多少新邮件消息的功能,POP根本不支持。这些功能都内置到诸如Eudora或Microsoft Outlook之类的邮件程序中,能为您记住接收的上一封邮件,以及计算有多少新邮件这类信息。因此,使用JavaMail API时,如果想获取这类信息,将需要由自己进行计算。</p>
</li>
<li>
<p>IMAP</p>
<p>IMAP是用于接收消息的更加高级的协议,它是在RFC 2060中定义的。IMAP的含义是“Internet消息访问协议”,当前版本是第4版,也称作IMAP4。使用IMAP时,您的邮件服务器必须支持该协议。您不能只是简单地把程序转变为支持IMAP,而不是支持POP,就指望能支持IMAP中的一切。假定您的邮件服务器支持IMAP,那么基于JavaMail的程序就可利用在服务器上拥有多个文件夹的用户,并且这些文件夹可以被多个用户共享的功能。
由于IMAP协议具有更高级的功能,您也许会想IMAP应该被每一个人使用,但事实不是这样。因为IMAP会加重邮件服务器的负荷,它需要服务器接收新消息,发送消息给请求的用户,并在多个文件夹中为每个用户维护这些消息。而这要集中备份,因而长期下去用户的文件夹会变得越来越大,当磁盘空间用光了时,每个人都会遭受损失。而使用POP协议时,已保存消息可以解除服务器的重负。</p>
</li>
<li>
<p>MIME</p>
<p>MIME的含义是“多用途的网际邮件扩充协议”。它不是一种邮件传输协议,相反,它定义传输的内容:消息的格式、附件等。许多文档都定义了MIME协议,包含:RFC 822、RFC 2045、RFC 2046和RFC 2047。作为JavaMail API的用户,一般不需要担心这些格式。但是,这些格式确实存在,并为您的程序所用。</p>
</li>
<li>
<p>NNP和其他协议</p>
<p>由于JavaMail API分开了提供程序和其他部分,所以您可以轻松地为附加协议添加支持。Sun公司提供第3方提供程序清单,这些提供程序要利用 Sun公司不支持的少见的协议。在这份清单中,您将会看到对NNTP(网络新闻传输协议)[新闻组]、S/MIME(安全多用途的网际邮件扩充协议)及其他协议的提供支持的第3方提供程序。</p>
</li>
</ul>
</div>
</div> </div>
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="DC.Type" content="concept"/>
<meta name="DC.Title" content="Java 的主要特性"/>
<meta name="DC.subject" content="Java, APP, 应用程序"/>
<meta name="keywords" content="Java, APP, 应用程序"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1.html"/>
<meta name="prodname" content="Java 编码规范"/>
<meta name="version" content="1.0.0.0"/>
<meta name="brand" content="HAWEBS ZEN Java 编码规范"/>
<meta name="copyright" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Rights.Owner" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Format" content="XHTML"/>
<meta name="DC.Identifier" content="chapter1_2"/>
<meta name="DC.Language" content="zh"/>
<link rel="stylesheet" type="text/css" href="../../css/commonltr.css"/>
<link rel="stylesheet" type="text/css" href="../../css/public.css"/>
<title>Java 的主要特性</title>
</head>
<body id="chapter1_2"><a name="chapter1_2"><!-- --></a>
<h1 class="topictitle1">Java 的主要特性</h1>
<div>
<p>Java语言具有鲜明的特点,使它在分布式网络应用、多平台应用、图形用户界面、Web应用、多线程应用等软件的开发中成为方便高效的工具。下面择要进行介绍。</p>
<div class="p"><ol>
<li>
<p>开发和使用简单性。</p>
<p>Java的语法风格非常近似于C++语言,但删改了C++中的指针、操作符重载等一些易混淆的地方。在内存管理方面又提供了垃圾收集。这使程序员可以在实现程序功能方面投注更多的精力,而无需考虑诸如内存释放等枝节问题。C++中复杂而灵活的指针操作往往导致严重的错误,一向是开发调试人员深感棘手的问题,而这在Java中却不存在。Java虚拟机还能为程序链接本地甚至远程的类库,开发人员不必关注其细节。凡此种种,提供了应用开发的简单性。</p>
</li>
<li>
<p>分布式。</p>
<p>Java对TCP/IP协议(如HTTP、FTP)的支持使Java程序可以轻易地建立网络连接,并通过统一资源定位器URL(Uniform Resource Locator)访问远程文件,如同访问本地文件一样方便。Java的运行时系统能动态地通过网络装入字节码,动态使用新的协议控制软件。</p>
</li>
<li>
<p>面向对象性。</p>
<p>与C++不同,Java对面向对象的要求十分严格,不允许定义独立于类的变量和方法(函数)。Java以类和对象为基础,任何变量和方法都只能包含于某个类的内部。这就使程序的结构更为清晰,为继承和重用带来便利。</p>
</li>
<li>
<p>安全性。</p>
<p>对于网络应用来说,这一点是极为重要的。Java将安全性作为第一考虑,设置了层层防范。首先在编译时进行语法、语义的检查。链接时,还要再进行一遍遍译级的类型检查,消除间接对象访问。运行时,Java的运行时系统将进行字节码检验,并记录对象的存储情况,将访问限制在安全范围之内。本地的类与远程的类分开运行,阻止远程系统对本地系统的破坏。支持Java的浏览器还允许用户控制Java软件对本地系统的访问。各种措施的综合使Java程序的安全性得到保证。</p>
</li>
<li>
<p>平台独立性和可移植性。</p>
<p>Java的应用程序接口(API)和运行时系统是可移植性的关键。Java为支持它的各种操作系统提供了一致的API。在API界面上,所有Java程序将都不依赖于平台。Java的运行时系统在解释执行程序时,将字节码转化为当前机器的机器码。程序开发人员无需考虑使用应用时的硬件条件和操作系统结构,用户只需有Java的运行时系统,就可运行编译过的字节码。</p>
</li>
<li>
<p>多线程。</p>
<p>Java提供了内置的多线程支持,程序中可以方便地创建多个线程,各个线程执行不同的工作。这使程序的工作简单。比如,用不同的线程分别控制声音和图像,可以轻易构筑声像交织的复杂效果,而编程时只要分别安排各线程的工作,不必关心它们的合作,这也大大促进了程序的动态交互性和实时性。</p>
<p>为了控制各线程的动作,Java还提供了线程同步机制。这一机制的内部实现基于管程。这一机制使不同线程在访问共享资源时能够相互配合,保证数据的一致性,避免出错。</p>
</li>
<li>
<p>解释执行。</p>
<p>Java程序经过编译形成字节码,然后在虚拟机上解释执行。这是Java程序能够独立于平台运行的基础。这也使程序有利于增量链接,从而加快开发过程。</p>
</li>
</ol>
</div>
<p>以上简单介绍了Java的特点,尤其是与网络应用有关的优点。可以看出,Java在诸多方面具有无可比拟的优势。如果读者对这一节中有的名词尚不理解,可以参考本书的相关章节。 </p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>父主题:</strong> <a href="../../tasks/chapter1/chapter1.html" title="主要对 Java 进行应用程序开发的过程进行了说明">概要</a></div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="DC.Type" content="concept"/>
<meta name="DC.Title" content="Java 的影响"/>
<meta name="DC.subject" content="Java, APP, 应用程序"/>
<meta name="keywords" content="Java, APP, 应用程序"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1.html"/>
<meta name="prodname" content="Java 编码规范"/>
<meta name="version" content="1.0.0.0"/>
<meta name="brand" content="HAWEBS ZEN Java 编码规范"/>
<meta name="copyright" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Rights.Owner" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Format" content="XHTML"/>
<meta name="DC.Identifier" content="chapter1_3"/>
<meta name="DC.Language" content="zh"/>
<link rel="stylesheet" type="text/css" href="../../css/commonltr.css"/>
<link rel="stylesheet" type="text/css" href="../../css/public.css"/>
<title>Java 的影响</title>
</head>
<body id="chapter1_3"><a name="chapter1_3"><!-- --></a>
<h1 class="topictitle1">Java 的影响 </h1>
<div>
<p>如上一节所述,Java具有许多独特的优势,因而Java产生深远的影响就是顺理成章的事了。如今的Java不仅仅是一种语言,它将大大改变开发人员、信息发布人员、信息技术管理人员和最终用户的工作方式。</p>
<p>Java对Internet的发展起了巨大的推动作用。Java的平台独立性使Java程序可以在配备Java虚拟机上的任一平台上运行。这就意味着使用各种平台的网络用户可以方便地通过网络下载Java程序,不经改动就在自己的机器上运行。这使软件的发布者无需知道用户使用的硬件环境,也无需了解用户的软件配置。开发人员不必为不同的平台编制不同版本的程序,只而编写一次就可以处处运行。Java严格的安全保证措施隔绝外来的侵入,从而提高了安全性。Java的特点使它成为为网络而设计的语言。因为同样的原因,Java也引起众多商家、金融家、教育界人士的浓厚兴趣。人们预期它在网上的联机金融服务、联机出版服务、远程教育、联机投资服务等领域大有用武之地。
</p>
<p>Java对WWW的影响也是巨大的。过去,WWW页面只显示静止的文本和图像,没有与用户交互的成分。后来,人们开始设想在WWW页面中加入一些“可执行”的成分。当用户浏览这些页面时,可执行成分就运行起来,执行某些功能。这个吸引人的想法却受到了多平台的阻碍:可以在Unix平台上运行的成分对Win平台会完全无效,反之亦然。Java解决了这个问题。Java的“小应用程序”Applet正越来越多地出现在Web页面上,为各种平台的用户提供同样优质的服务。
</p>
<p>公司内部的网络Intranet,实际上是Internet技术在公司范围内的应用。Java程序可以通过Intranet传送到公司内部的任何一种机器上,执行各种任务。Java带来了一种分布信息的崭新模式,它使Intranet上所有的微处理器讲相同的语言,协同工作,无缝地共享信息。公司由此可以节省大批购买和升级软件的费用,还可以减少大笔员工培训开支。以Java为基础的企业信息技术体系结构所带来的好处是难以估量的。
</p>
<p>Java还是网络计算机(NC)的强大支持力量。由于PC的不断复杂化,人们发现如今的PC几乎已变成了“桌面上的大型机”。它麻雀虽小却五脏俱全,不仅具有与大型机类似的CPU、存储器、外设,还有复杂的系统软件。随着系统软件的不断升级,对硬件的要求也越来越高,由此带来无休止的升级问题。同时,由于软件硬件中的日益复杂,为了维护一台PC所需的人力物力也逐渐超过限度。于是网络计算机的概念应运而生。虽然不同的厂商对这个名词有不同的诠释,但总的思想是一致的。网络计算机就是一种功能简单、结构也很简单的计算机,它们没有辅存储器,也不必安装现在这样复杂的操作系统。它们通过网络与服务器相连,通过简单的手段(比如,通过浏览器)从网上获取信息,而复杂的存储与信息处理由服务器来完成。
</p>
<p>Java的出现大大提高了网络计算机的可行性,利用Java技术生产的网络计算机芯片将成为NC的核心。实际上,SUN公司已开始生产Java处理器芯片,它可以被用于廉价终端(NC)、外设甚至蜂窝电话。电脑的用途由单应用置身网络应用的趋势是不可逆转的,而Java优越的网络特性正适应了这一趋势的需要。
</p>
<p>由于Java的巨大优势,计算机界对它给予广泛关注。Java功能已被纳入SUN的HotJava浏览器,Netscape的Navigator浏览器,pyglall的Mosaic及Oracle的Power Browser等浏览器;许多大公司如ToshibaFujistsuIBMSilicon Graphics,Oracle,Microsoft,Sybase,Informix等都获得了Java的专利使用权;Borland International,Symantec,Sybase等公司建立了各自的Java开发环境;SUN公司提出的“100%纯Java计划”已得到百余公司的支持;IBMMicrosoft,Silicon Graphics,Apple Computer,Hewlett-Packand等公司将把Java直接嵌入他们的操作系统。可见,Java的未来必将更加辉煌。
</p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>父主题:</strong> <a href="../../tasks/chapter1/chapter1.html" title="主要对 Java 进行应用程序开发的过程进行了说明">概要</a></div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="DC.Type" content="concept"/>
<meta name="DC.Title" content="获取 Java 资源"/>
<meta name="DC.subject" content="Java, APP, 应用程序"/>
<meta name="keywords" content="Java, APP, 应用程序"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1.html"/>
<meta name="prodname" content="Java 编码规范"/>
<meta name="version" content="1.0.0.0"/>
<meta name="brand" content="HAWEBS ZEN Java 编码规范"/>
<meta name="copyright" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Rights.Owner" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Format" content="XHTML"/>
<meta name="DC.Identifier" content="chapter1_5"/>
<meta name="DC.Language" content="zh"/>
<link rel="stylesheet" type="text/css" href="../../css/commonltr.css"/>
<link rel="stylesheet" type="text/css" href="../../css/public.css"/>
<title>获取 Java 资源</title>
</head>
<body id="chapter1_5"><a name="chapter1_5"><!-- --></a>
<h1 class="topictitle1">获取 Java 资源</h1>
<div>
<p>Java在互联网上可以说无处不在。从网上得到Java的信息是最为方便快捷的,而且往往可以得到最新信息。下面列出几个可供参考的站点。</p>
<div class="p"><ul>
<li>
<p>SUN (已经被 Oracle 兼并了)</p>
<p><a href="http://www.sun.com/" target="_blank">http://www.sun.com/</a></p>
</li>
<li>
<p>Java 开源社区</p>
<p><a href="http://www.java.net/" target="_blank">http://www.java.net/</a></p>
</li>
<li>
<p>Gamelan (列出包含Java内容的网址及与网上Java资源的链接)</p>
<p><a href="http://www.developer.com/java/" target="_blank">http://www.developer.com/java/</a></p>
</li>
</ul>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>父主题:</strong> <a href="../../tasks/chapter1/chapter1.html" title="主要对 Java 进行应用程序开发的过程进行了说明">概要</a></div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="DC.Type" content="concept"/>
<meta name="DC.Title" content="Java 新进展"/>
<meta name="DC.subject" content="Java, APP, 应用程序"/>
<meta name="keywords" content="Java, APP, 应用程序"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1.html"/>
<meta name="prodname" content="Java 编码规范"/>
<meta name="version" content="1.0.0.0"/>
<meta name="brand" content="HAWEBS ZEN Java 编码规范"/>
<meta name="copyright" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Rights.Owner" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Format" content="XHTML"/>
<meta name="DC.Identifier" content="chapter1_5"/>
<meta name="DC.Language" content="zh"/>
<link rel="stylesheet" type="text/css" href="../../css/commonltr.css"/>
<link rel="stylesheet" type="text/css" href="../../css/public.css"/>
<title>Java 新进展</title>
</head>
<body id="chapter1_5"><a name="chapter1_5"><!-- --></a>
<h1 class="topictitle1">Java 新进展 </h1>
<div>
<p>Java语言发展很快,除了前面提到的之外,在此再介绍几个方面:
</p>
<div class="p"><ol>
<li>Just-in-Time编译器:它能将Java字节代码编译成与本机结构相适应的代码,以提高执行速度。</li>
<li>Joe:是Java向客户机/服务器模式的扩展。它是第一个完全用Java语言编写的商用对象请求代理软件(ORB),遵循对象管理组(OMG)的“通用对象请示代理体系结构”(CORBA)。</li>
<li>类库的发展:SUN公司将Java类库划分为核心(CORE)和扩展(Standard Extension)两类,前者是可以保证适用于所有Java平台的。SUN与许多第三方软件供应商都在开发新的类库。扩展类库如果发展较完善,就有可以被定为核心类库甚至打包到JDK(Java开发工具包)之中。目前正在发展和测试过程中的类库有很多。例如,Java Enterprise API为Intranet的开发而设计;Java Commerse API用于开发商务应用;Java Management API用于解决网络管理问题;Java Media API包含对二、三维图形、图像和语音、动画的处理;Java Embeded API用于嵌入式设备(如电话)的软件开发,等等。 </li>
<li>发工具:目前,Java 的开发环境多使用 Eclipse。除了SUN公司的JDK和Java WorkShop之外,还有许多公司研制出了一些Java的开发环境,如Symantec CafeVisual CafeVisual J++等。甚至有的数据库厂商也推出了自己的Java开发环境,如Informix的Jwork和Sybase的Power J。在这些开发工具中,JDK反映了Java的最新进展。虽然它的界面不如一引起可视化工具友好,但却是各种其他开发环境的基础。</li>
</ol>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>父主题:</strong> <a href="../../tasks/chapter1/chapter1.html" title="主要对 Java 进行应用程序开发的过程进行了说明">概要</a></div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="DC.Type" content="concept"/>
<meta name="DC.Title" content="本文档的说明"/>
<meta name="DC.subject" content="Java, APP, 应用程序"/>
<meta name="keywords" content="Java, APP, 应用程序"/>
<meta name="DC.Relation" scheme="URI" content="../../tasks/chapter1/chapter1.html"/>
<meta name="prodname" content="Java 编码规范"/>
<meta name="version" content="1.0.0.0"/>
<meta name="brand" content="HAWEBS ZEN Java 编码规范"/>
<meta name="copyright" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Rights.Owner" content="HAWEBS信息技术股份有限公司 2006, 2010" type="primary"/>
<meta name="DC.Format" content="XHTML"/>
<meta name="DC.Identifier" content="chapter1_6"/>
<meta name="DC.Language" content="zh"/>
<link rel="stylesheet" type="text/css" href="../../css/commonltr.css"/>
<link rel="stylesheet" type="text/css" href="../../css/public.css"/>
<title>本文档的说明</title>
</head>
<body id="chapter1_6"><a name="chapter1_6"><!-- --></a>
<h1 class="topictitle1">本文档的说明</h1>
<div>
<p>这一章介绍Java的产生、发展、特性、影响等方面的知识。后续内容中,将结合实例讲解Java程序设计,并介绍Java的开发工具和类库。</p>
<p>本文档将使用 SDK 1.5 作为编译器。随着 Java 技术的发展,不同版本的编译器的兼容性有所不同,尤其是在主要版本进行变化以后。</p>
<p>例如:1.4 的编译器不一定能够编译 1.5 的程序代码,同时 1.5 的程序代码不一定能在 1.4 下通过。1.4 版本的 SDK 虽然目前在很多环境下还在被广泛使用,在新的 Java 项目中,不建议使用 1.4 作为默认编译器。已有的老项目,如果可能的话,请尽快升级到 1.5 的编译环境中。</p>
<p>Java在计算机界的广泛支持和参与下必将得到更大的发展。虽然它还不完美,但前景光明,魅力无穷。</p>
<p>Java 计算机的内存和硬件要求比较高,请使用具有较大内存的计算进行编译。</p>
<p>Java 程序设计的入门比较复杂,概念比较多,调试比较繁琐。一旦你建立了面向对象的思维方式后,Java 能够在你后期的开发生涯中起到事倍功半的作用。
</p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>父主题:</strong> <a href="../../tasks/chapter1/chapter1.html" title="主要对 Java 进行应用程序开发的过程进行了说明">概要</a></div>
</div>
</div>
</body>
</html>
+6 -1
View File
@@ -14,7 +14,12 @@
<li><a href="tasks/info/apachelicense.html">Apache 许可证</a></li> <li><a href="tasks/info/apachelicense.html">Apache 许可证</a></li>
<li><a href="tasks/chapter1/chapter1.html">概要</a> <li><a href="tasks/chapter1/chapter1.html">概要</a>
<ul> <ul>
<li><a href="tasks/chapter1/chapter1_1.html">相关协议</a></li> <li><a href="tasks/chapter1/chapter1_1.html">Java 语言产生和发展的背景</a></li>
<li><a href="tasks/chapter1/chapter1_2.html">Java 的主要特性</a></li>
<li><a href="tasks/chapter1/chapter1_3.html">Java 的影响</a></li>
<li><a href="tasks/chapter1/chapter1_4.html">获取 Java 资源</a></li>
<li><a href="tasks/chapter1/chapter1_5.html">Java 新进展</a></li>
<li><a href="tasks/chapter1/chapter1_6.html">本文档的说明</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>