﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-realsmy-随笔分类-java转载</title><link>http://www.blogjava.net/realsmy/category/14769.html</link><description>久城的学习室</description><language>zh-cn</language><lastBuildDate>Tue, 14 Aug 2007 17:27:07 GMT</lastBuildDate><pubDate>Tue, 14 Aug 2007 17:27:07 GMT</pubDate><ttl>60</ttl><item><title>关于ClassLoader In Tomcat 的研究</title><link>http://www.blogjava.net/realsmy/archive/2007/05/04/115272.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Fri, 04 May 2007 01:22:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/05/04/115272.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/115272.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/05/04/115272.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/115272.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/115272.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 收回五一假期那颗破碎的心，继续我的程序人生。<br><br>今天打算研究下ClassLoader在Tomcat中的工作。&nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2007/05/04/115272.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/115272.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-05-04 09:22 <a href="http://www.blogjava.net/realsmy/archive/2007/05/04/115272.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Find a way out of the ClassLoader maze---走出ClassLoader迷宫</title><link>http://www.blogjava.net/realsmy/archive/2007/04/26/113672.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Thu, 26 Apr 2007 01:05:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/04/26/113672.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/113672.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/04/26/113672.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/113672.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/113672.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在上篇文章中，遇到朋友提到上下文加载器的问题。一直有很多疑惑。今天在CSDN上正巧看到一篇关于上下文加载器的译文（这方面网上相关的资料真的太少了）。感觉有所启发。于是搜了搜原文。连同译文一块作为收藏。<br>才发现自己对类加载器的理解还很肤浅。学习，再学习！&nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2007/04/26/113672.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/113672.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-04-26 09:05 <a href="http://www.blogjava.net/realsmy/archive/2007/04/26/113672.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实用小问题---转自：Java新手上路大全</title><link>http://www.blogjava.net/realsmy/archive/2007/03/30/107502.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Fri, 30 Mar 2007 08:33:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/03/30/107502.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/107502.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/03/30/107502.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/107502.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/107502.html</trackback:ping><description><![CDATA[
		<dd>
				<p>
						<br />在研究java class loading的过程中，看到的一篇新手文章，正好解决了我几个问题，感觉写的挺实用，就抄过来了。嘿嘿。<br /><br />path和classpath<br />1.什么是java的path和classpath?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=904" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=904</a><br />2.如何一次把一个目录下的所有.jar加入到classpath?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=905" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=905</a><br />3.classspath 的默认值是什么?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=906" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=906</a><br />4.怎样找到程序运行需要的类?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=907" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=907</a><br />5. Linux下Path和ClassPath是怎么设的?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=908" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=908</a><br />6.如何修改path和classpath?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=909" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=909</a></p>
				<p>java的帮助和api文档<br />1.什么是java的api参考?<br />api是html格式的从sun的网站上可以找到一个包<br />包括api的参考和user guide,本站有做成.chm格式的便于查找。<br />api参考是用jdk的工具javadoc 生成的是开发者必备的文档。<br />2.哪里有JAVA基本类库的源代码?<br />jdk的安装目录下有源码src.zip<br />3.java web start 是干什么用的?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=911" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=911</a></p>
				<p>开发环境<br />1.jre下的lib和jdk下的lib到底有什么区别？<br />jre是JDK的一个子集。提供一个运行环境。JDK的lib目录是给JDK用的，例如JDK下有一些工具，可能要用该目录中的文件。例如，编译器等。JRE的lib目录是为JVM，运行时候用的。包括所有的标准类苦，和扩展类<br />2.我的jbuilder光标对不齐?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=913" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=913</a><br />3.JDK版本冲突怎么办?<br />要决定windows使用哪一个JDK（win2000），改注册表：<br />HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\CurrentVersion<br />的值，要决定JBuilder使用哪个JDK在project properties中可以设置。<br />4.editplus能够编译java嘛? 如何设置?<br />    先要将JAVA的运行环境安装并且调试好。<br />    首先，从菜单“工具（Tools）”-&gt;“配置用户工具...”进入用户工具设置。<br />    在类别里展开“工具”树形菜单-&gt;“用户工具”，选择“组和工具项目”中的“Group 1”，点击面板右边的“组名称...”按钮，将文本“Group1”修改成“编译JAVA程序”。<br />    然后选择修改的组“编译JAVA程序”，点击“添加新工具”按钮，选择程序，建立“新建程序”，选中它。<br />    然后就是最重要的步骤（修改属性）：<br />    1.1 添加编译功能 <br />    “菜单文字”里的内容修改为“JAVAC”；<br />    “命令”选择安装JDK后的BIN目录中的编译程序JAVAC.EXE，如果JDK 安装路径为“c:\jdk”，那么此路径为“c:\jdk\bin\javac.exe”；<br />    “参数”选择“文件名称”，即显示为“$(FileName)”；<br />    “初始目录”选择“文件目录”，显示为“$(FileDir)”；<br />    选择“捕获输出”复选框。<br />    1.2 添加执行功能<br />    “菜单文字”里的内容修改为“JAVA”；<br />    “命令”选择安装JDK后的BIN目录中的编译程序JAVA.EXE，路径为“c:\jdk\bin\java.exe”；<br />    “参数”选择“文件名（不含扩展名）”，即显示为“$(FileNameNoExt)”；<br />    “初始目录”选择“文件目录”，显示为“$(FileDir)”；<br />    选择“捕获输出”复选框。<br />    这样就完成了基本的配置工作</p>
				<p>基础概念<br />1.public,private,protect的访问机制</p>
				<p>
						<a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=914" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=914</a>
						<br />2.Java中如何定义一个常量？<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=915" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=915</a><br />3.异常的throw和throws有什么区别<br />throw是在程序中抛出异常，而throws是在方法的声明中声明抛出异常<br />4.upcasting是什么意思<br />upcasting就是上溯.也就是说把一个子类当作它的父类看待,比如:对方法void do(Object obj){...},你可以把任何对象作为参数来调用.</p>
				<p>编译运行<br />1.怎么把多个.java源文件编译成一个.class?<br />java -d . a.java b.java<br />2. depreciated API 是什么意思?<br />java发展太快,所以你应该尽可能用最新的api,但是老的api还是兼容的,所以回waning 你deprecated api<br />3.怎么样编译一个目录下的所有java文件？<br />ant或者jbuilder,或者自己写脚本.<br />4.如何让执行程序时不会出现dos窗口?<br />javaw<br />5.如何运行jar文件?<br />java -jar ***.jar<br />6.如何去掉JAVA的内存限制<br />加 -Xmx参数来设置maximum Java heap size,如: java -Xms10M MyClass<br />7.什么是Java混淆编译器?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=916" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=916</a><br />8.如何将Java应用程序本地编译为EXE?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=917" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=917</a><br />9.jar命令?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=918" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=918</a></p>
				<p>数据类型与转换<br />1.int、char、double与byte如何相互转换?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=919" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=919</a><br />2.int与byte array之间的转换程序?<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=920" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=920</a><br />3.string和int之间的转换?<br />a1=Integer.parseInt(s1);<br />s1=Integer.toString(a1);<br />4.java如何获得随机整数?<br />首先利用random()获得一个随机浮点数，然后乘以你希望得到的整数<br />的最大值，最后对得到的结果取整。<br />5.怎么把String类型转换成16进制的整数?<br /> public static void main(String args[]){<br />        String x = "0x300C8";<br />        int y = Integer.decode(x).int<em>value</em>();<br />        System.out.println(y);<br />    }<br />6.int和java.lang.Integer有和区别?<br />int是数据类型，Integer是类Integer的功能更强，可以将整数转换为浮点数运算，在java这种强类型语言中是很有用的。可以利用Integer的构造函数Integer(int)来对一个整数建立对象。类似的类还有Float,Short,Long等等</p>
				<p>数据结构<br />1.如何实现二维向量?<br />Vector vector1=new Vector();<br />Vector vector2=new Vector();<br />...<br />..<br />HashTable numbers=new HashTable();<br />numbers.put("vector1",vector1);<br />numbers.put("vector2",vector2);<br />2. JAVA中怎么得到现在的系统时间?<br />比如,当前date,Date today=new Date(System.currentTimeMillis());<br />3.如何将java.util.Date转化为java.sql.Date?<br />转化：<br /> <br />java.sql.Date sd;<br />java.util.Date ud;<br />//initialize the ud such as ud = new java.util.Date();<br /> <br />sd = new java.sql.Date(ud.getTime());<br /> <br />如果要插入到数据库并且相应的字段为Date类型<br />那么可以用PreparedStatement.setDate(int ,java.sql.Date)方法<br />其中的java.sql.Date可以用上面的方法得到<br /> <br />也可以用数据库提供TO_DATE函数<br />比如 现有 ud<br />TO_DATE(new SimpleDateFormat().format(ud,"yyyy-MM-dd HH:mm:ss"),<br />"YYYY-MM-DD HH24:MI:SS")<br />注意java中表示格式和数据库提供的格式的不同</p>
				<p>系统相关<br />1.在JAVA中如何启动一个程序?<br />String strCommand;<br />String cmd = "cmd";<br />if (! System.getProperty("os.name").equals("Windows NT")) cmd = "command";<br />cmd = cmd + " /c " + strCommand;<br />try {<br />        Runtime.getRuntime().exec(cmd);<br />}<br />catch (IOException ex) {<br />}<br /> <br />strCommand 为命令串，DOS 底下怎么用，这儿就可以怎么用<br />2.如何得到应用程序的路径<br />Properties System.getProperties()里面有<br />3.如何得到当前系统时间?<br />   1.SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd");<br />      String time=formatter.format(new Date());<br />    2.Calendar cal = Calendar.getInstance();<br />        int year = cal.get(Calendar.YEAR);<br />         month=..类推</p>
				<p>
						<br />输入输出<br />1.是否可以用纯JAVA 编写程序来访问串口?<br />Sun提供了一个叫javax.comm的package,专门用来对serial port进行操作.<br />2.writeutf和write的区别<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=921" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=921</a><br />3.如何利用FileWriter在文本中换行？<br />\r\n</p>
				<p>网络相关<br />1.如何让我的程序通过proxy访问外部网络?<br />System.setProperty("java.proxyHost","your proxy here"); </p>
				<p>本地相关<br />1.如何调用本地的dll？<br />  jni<br />2.如何用java编写扫描仪程序？<br /><a href="http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=2741" target="_blank">http://www.matrix.org.cn/forum_view.asp?forum_id=19&amp;view_id=2741</a><br /><br /><br />Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=708846</p>
		</dd>
<img src ="http://www.blogjava.net/realsmy/aggbug/107502.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-03-30 16:33 <a href="http://www.blogjava.net/realsmy/archive/2007/03/30/107502.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>抽象类与接口的区别</title><link>http://www.blogjava.net/realsmy/archive/2006/09/18/70389.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Mon, 18 Sep 2006 14:03:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2006/09/18/70389.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/70389.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2006/09/18/70389.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/70389.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/70389.html</trackback:ping><description><![CDATA[
		<p>最近经常能遇到这道面试小题目，所以在网上查了下...本文来自<a href="http://liudang.blogbus.com/logs/2006/03/2047296.html">http://liudang.blogbus.com/logs/2006/03/2047296.html</a></p>
		<p>abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制，正是由于这两种机制的存在，才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性，甚至可以相互替换，因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。<br />       其实，两者之间还是有很大的区别的，对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析，试图给开发者提供一个在二者之间进行选择的依据。 <br />一、 理解抽象类<br />       abstract class和interface在Java语言中都是用来进行抽象类（本文中的抽象类并非从abstract class翻译而来，它表示的是一个抽象体，而abstract class为Java语言中用于定义抽象类的一种方法，请读者注意区分）定义的，那么什么是抽象类，使用抽象类能为我们带来什么好处呢？<br />       在面向对象的概念中，我们知道所有的对象都是通过类来描绘的，但是反过来却不是这样。并不是所有的类都是用来描绘对象的，如果一个类中没有包含足够的信息来描绘一个具体的对象，这样的类就是抽象类。抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念，是对一系列看上去不同，但是本质上相同的具体概念的抽象。<br />       比如：如果我们进行一个图形编辑软件的开发，就会发现问题领域存在着圆、三角形这样一些具体概念，它们是不同的，但是它们又都属于形状这样一个概念，形状这个概念在问题领域是不存在的，它就是一个抽象概念。正是因为抽象的概念在问题领域没有对应的具体概念，所以用以表征抽象概念的抽象类是不能够实例化的。<br />       在面向对象领域，抽象类主要用来进行类型隐藏。我们可以构造出一个固定的一组行为的抽象描述，但是这组行为却能够有任意个可能的具体实现方式。这个抽象描述就是抽象类，而这一组任意个可能的具体实现则表现为所有可能的派生类。模块可以操作一个抽象体。由于模块依赖于一个固定的抽象体，因此它可以是不允许修改的；同时，通过从这个抽象体派生，也可扩展此模块的行为功能。熟悉OCP的读者一定知道，为了能够实现面向对象设计的一个最核心的原则OCP(Open-Closed Principle)，抽象类是其中的关键所在。 </p>
		<p>二、从语法定义层面看abstract class和interface<br />       在语法层面，Java语言对于abstract class和interface给出了不同的定义方式，下面以定义一个名为Demo的抽象类为例来说明这种不同。使用abstract class的方式定义Demo抽象类的方式如下：<br />abstract class Demo ｛ <br /> abstract void method1(); <br /> abstract void method2(); <br /> … <br />｝<br />使用interface的方式定义Demo抽象类的方式如下： <br />interface Demo { <br /> void method1(); <br /> void method2(); <br /> … <br />}<br />在abstract class方式中，Demo可以有自己的数据成员，也可以有非abstarct的成员方法，而在interface方式的实现中，Demo只能够有静态的不能被修改的数据成员（也就是必须是static final的，不过在interface中一般不定义数据成员），所有的成员方法都是abstract的。从某种意义上说，interface是一种特殊形式的abstract class。<br />       从编程的角度来看，abstract class和interface都可以用来实现"design by contract"的思想。但是在具体的使用上面还是有一些区别的。 <br />       首先，abstract class在Java语言中表示的是一种继承关系，一个类只能使用一次继承关系。但是，一个类却可以实现多个interface。也许，这是Java语言的设计者在考虑Java对于多重继承的支持方面的一种折中考虑吧。 <br />       其次，在abstract class的定义中，我们可以赋予方法的默认行为。但是在interface的定义中，方法却不能拥有默认行为，为了绕过这个限制，必须使用委托，但是这会 增加一些复杂性，有时会造成很大的麻烦。 <br />       在抽象类中不能定义默认行为还存在另一个比较严重的问题，那就是可能会造成维护上的麻烦。因为如果后来想修改类的界面（一般通过abstract class或者interface来表示）以适应新的情况（比如，添加新的方法或者给已用的方法中添加新的参数）时，就会非常的麻烦，可能要花费很多的时间（对于派生类很多的情况，尤为如此）。但是如果界面是通过abstract class来实现的，那么可能就只需要修改定义在abstract class中的默认行为就可以了。 <br />       同样，如果不能在抽象类中定义默认行为，就会导致同样的方法实现出现在该抽象类的每一个派生类中，违反了"one rule，one place"原则，造成代码重复，同样不利于以后的维护。因此，在abstract class和interface间进行选择时要非常的小心。 </p>
		<p>二、 从设计理念层面看abstract class和interface <br />       上面主要从语法定义和编程的角度论述了abstract class和interface的区别，这些层面的区别是比较低层次的、非本质的。本文将从另一个层面：abstract class和interface所反映出的设计理念，来分析一下二者的区别。作者认为，从这个层面进行分析才能理解二者概念的本质所在。 <br />       前面已经提到过，abstarct class在Java语言中体现了一种继承关系，要想使得继承关系合理，父类和派生类之间必须存在"is a"关系，即父类和派生类在概念本质上应该是相同的。对于interface 来说则不然，并不要求interface的实现者和interface定义在概念本质上是一致的，仅仅是实现了interface定义的契约而已。为了使论述便于理解，下面将通过一个简单的实例进行说明。 <br />       考虑这样一个例子，假设在我们的问题领域中有一个关于Door的抽象概念，该Door具有执行两个动作open和close，此时我们可以通过abstract class或者interface来定义一个表示该抽象概念的类型，定义方式分别如下所示：<br />使用abstract class方式定义Door： </p>
		<p>abstract class Door { <br /> abstract void open(); <br /> abstract void close()； <br />} </p>
		<p>使用interface方式定义Door： </p>
		<p>interface Door { <br /> void open(); <br /> void close(); <br />}<br />其他具体的Door类型可以extends使用abstract class方式定义的Door或者implements使用interface方式定义的Door。看起来好像使用abstract class和interface没有大的区别。<br />       如果现在要求Door还要具有报警的功能。我们该如何设计针对该例子的类结构呢（在本例中，主要是为了展示abstract class和interface反映在设计理念上的区别，其他方面无关的问题都做了简化或者忽略）下面将罗列出可能的解决方案，并从设计理念层面对这些不同的方案进行分析。 </p>
		<p>解决方案一：<br />       简单的在Door的定义中增加一个alarm方法，如下：<br />abstract class Door { <br /> abstract void open(); <br /> abstract void close()； <br /> abstract void alarm(); <br />} </p>
		<p>或者 </p>
		<p>interface Door { <br /> void open(); <br /> void close(); <br /> void alarm(); <br />} </p>
		<p>那么具有报警功能的AlarmDoor的定义方式如下： <br />class AlarmDoor extends Door { <br /> void open() { … } <br /> void close() { … } <br /> void alarm() { … } <br />} </p>
		<p>或者 </p>
		<p>class AlarmDoor implements Door ｛ <br /> void open() { … } <br /> void close() { … } <br /> void alarm() { … } <br />｝ </p>
		<p>这种方法违反了面向对象设计中的一个核心原则ISP（Interface Segregation Priciple），在Door的定义中把Door概念本身固有的行为方法和另外一个概念"报警器"的行为方法混在了一起。这样引起的一个问题是那些仅仅依赖于Door这个概念的模块会因为"报警器"这个概念的改变（比如：修改alarm方法的参数）而改变，反之依然。 </p>
		<p>解决方案二： <br />       既然open、close和alarm属于两个不同的概念，根据ISP原则应该把它们分别定义在代表这两个概念的抽象类中。定义方式有：这两个概念都使用abstract class方式定义；两个概念都使用interface方式定义；一个概念使用abstract class方式定义，另一个概念使用interface方式定义。 显然，由于Java语言不支持多重继承，所以两个概念都使用abstract class方式定义是不可行的。后面两种方式都是可行的，但是对于它们的选择却反映出对于问题领域中的概念本质的理解、对于设计意图的反映是否正确、合理。我们一一来分析、说明。<br />       如果两个概念都使用interface方式来定义，那么就反映出两个问题： <br />1、 我们可能没有理解清楚问题领域，AlarmDoor在概念本质上到底是Door还是报警器？ <br />2、如果我们对于问题领域的理解没有问题，比如：我们通过对于问题领域的分析发现AlarmDoor在概念本质上和Door是一致的，那么我们在实现时就没有能够正确的揭示我们的设计意图，因为在这两个概念的定义上（均使用interface方式定义）反映不出上述含义。 如果我们对于问题领域的理解是：AlarmDoor在概念本质上是Door，同时它有具有报警的功能。我们该如何来设计、实现来明确的反映出我们的意思呢？前面已经说过，abstract class在Java语言中表示一种继承关系，而继承关系在本质上是"is a"关系。所以对于Door这个概念，我们应该使用abstarct class方式来定义。另外，AlarmDoor又具有报警功能，说明它又能够完成报警概念中定义的行为，所以报警概念可以通过interface方式定义。如下所示： <br />abstract class Door { <br /> abstract void open(); <br /> abstract void close()； <br />} <br />interface Alarm { <br /> void alarm(); <br />} <br />class AlarmDoor extends Door implements Alarm { <br /> void open() { … } <br /> void close() { … } <br />    void alarm() { … } <br />} </p>
		<p>这种实现方式基本上能够明确的反映出我们对于问题领域的理解，正确的揭示我们的设计意图。其实abstract class表示的是"is a"关系，interface表示的是"like a"关系，大家在选择时可以作为一个依据，当然这是建立在对问题领域的理解上的，比如：如果我们认为AlarmDoor在概念本质上是报警器，同时又具有Door的功能，那么上述的定义方式就要反过来了。 <br />       abstract class和interface是Java语言中的两种定义抽象类的方式，它们之间有很大的相似性。但是对于它们的选择却又往往反映出对于问题领域中的概念本质的理解、对于设计意图的反映是否正确、合理，因为它们表现了概念间的不同的关系（虽然都能够实现需求的功能）。这其实也是语言的一种的惯用法，希望读者朋友能够细细体会。 <br /></p>
<img src ="http://www.blogjava.net/realsmy/aggbug/70389.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2006-09-18 22:03 <a href="http://www.blogjava.net/realsmy/archive/2006/09/18/70389.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>计算机常用英语</title><link>http://www.blogjava.net/realsmy/archive/2006/09/18/70384.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Mon, 18 Sep 2006 13:41:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2006/09/18/70384.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/70384.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2006/09/18/70384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/70384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/70384.html</trackback:ping><description><![CDATA[access 访问、存取、通路、进入 <br /><br />adjacency list method 邻接表表示法 <br /><br />adjacency matrix method 邻接矩阵表示法 <br /><br />algorithm 算法 <br /><br />array 数组 <br /><br />ATM(asynchronous transfer mode) 异步传输模式 <br /><br />b.. real programs kernels 实程序 核心程序 <br /><br />b.. toy benchmark synthetic benchmark 简单基准程序 复合基准程序 <br /><br />bandwidth 带宽 <br /><br />benchmark 基准测试程序 <br /><br />best - fit algorithm 最佳适应算法 <br /><br />BFS(breadth first search) 广度优先搜索法 <br /><br />binary 二进制 <br /><br />binary relation 二元关系 <br /><br />binary tree 二叉树 <br /><br />bit series 比特序列 <br /><br />black - box white - box 黑盒 白盒 <br /><br />block miss 块失效 <br /><br />blocked 阻塞（等待状态也称阻塞或封锁状态） <br /><br />boundary 界线 分界 <br /><br />bridge 网桥 <br /><br />bubble sort 冒泡排序 <br /><br />candidate key 候选键（辅键） <br /><br />capacity 容量 <br /><br />cartesian product 笛卡尔积 <br /><br />CASE(com.. aided sof.. engineering) 计算机辅助软件工程 <br /><br />CCP(communication control processor) 通信控制处理机 <br /><br />cell 信元 <br /><br />characteristic 特征 特性 <br /><br />circuit switching 线路交换 <br /><br />circular wait 循环等待 <br /><br />CISC(complex instruction set computer) 复杂指令集计算机 <br /><br />class 类 <br /><br />Client/Server 客户机/服务器 <br /><br />clock cycle/clock rate 时钟周期/时钟频率 <br /><br />coaxial cable 同轴电缆 <br /><br />cohesion/coupling 内聚/耦合 <br /><br />coincidental logical procedural functional 偶然内聚 逻辑内聚 过程内聚 功能内聚 <br /><br />communication 通信 <br /><br />complement number 补码 <br /><br />constrain 约束 <br /><br />contain 包含 <br /><br />correspond(corresponding) 相符合（相应的一致的） <br /><br />CPETT 计算机性能评价工具与技术 <br /><br />CPI 每条指令需要的周期数 <br /><br />CSMA/CD 带冲突检测的载波监听多路访问 <br /><br />cursor 游标 <br /><br />cyclic redundancy check 循环冗余检验 <br /><br />database: integrity consistency re story 完整性 一致性 可恢复性 <br /><br />database: security efficiency 数据库设计的目标：安全性 效率 <br /><br />deadlock: mutual exclusion 死锁条件：互斥 <br /><br />deadlock: circular wait no preemption 死锁条件：循环等待 无优先权 <br /><br />decimal 十进位的 <br /><br />decision 决定 判断 <br /><br />decomposition 双重的 混合的 <br /><br />definition 定义 <br /><br />definition phase 定义阶段 <br /><br />design phase 设计阶段 <br /><br />DFS(depth first search) 深度优先搜索法 <br /><br />diagram 图表 <br /><br />Difference Manchester 差分曼彻斯特 <br /><br />directed graph/undirected graph 有向图/无向图 <br /><br />distributed system 分布式系统 <br /><br />divide union intersection difference 除 并 交 差 <br /><br />document 文件 文档 <br /><br />DQDB(distributed queue dual bus) 分布队列双总线 <br /><br />dual 二元的 双的 <br /><br />dynamic design process 动态定义过程 <br /><br />element 元素 要素 <br /><br />elevator(scan) algorithm 电梯算法（扫描算法） <br /><br />encapsulation inheritance 封装（压缩）继承（遗传） <br /><br />entity 实体 <br /><br />entity integrity rule 实体完整性规则 <br /><br />equation 方程式 等式 <br /><br />Ethernet 以太网 <br /><br />exchange sort 交换排序 <br /><br />exclusive locks 排它锁（X锁） <br /><br />external(internal) fragmentation 外（内）碎片 <br /><br />fault page fault 中断 过错 页中断 <br /><br />FDDI(fiber distributed data interface) 光纤分布式数据接口 <br /><br />FDM(frequency division multiplexing) 频分多路复用 <br /><br />fiber optic cable 光缆 <br /><br />FIFO replacement policy 先进先出替换算法 <br /><br />figure 数字 图形 <br /><br />first normal form 第一范式 <br /><br />floppy 活动盘片（软盘） <br /><br />foreign key domain tuple 外来键 值域 元组 <br /><br />formula 公式 表达式 <br /><br />frame page frame 帧 结构 页结构 <br /><br />frequency 频率 <br /><br />FTP 文件传送服务 <br /><br />function 函数 <br /><br />functionally dependant 函数依赖 <br /><br />gateway 网间连接器 <br /><br />general - purpose registers 通用寄存器 <br /><br />generate 产生 <br /><br />grade 等级 标准 <br /><br />graph(graphic) 图 <br /><br />Groper 将用户的请求自动转换成FTP <br /><br />hash table/hash function/ collision 哈希表/哈希函数（散列函数）/碰撞 <br /><br />HDLC 面向比特型数据链路层协议 <br /><br />hit rate 命中率 <br /><br />host 主计算机 <br /><br />host language statement 主语言语句 <br /><br />hypertext 超级文本 <br /><br />index 索引 <br /><br />insertion sort 插入排序 <br /><br />instruction format 指令格式 <br /><br />instruction set 指令集 <br /><br />interface 接口 分界面 连接体 <br /><br />interrupt 中断 <br /><br />IPC 工业过程控制 <br /><br />ISAM VSAM 索引顺序存取方法 虚拟存储存取方法 <br /><br />join/natural join/semi join 连接/自然连接/半连接 <br /><br />kernel executive supervisor user 核心 执行 管理 用户 <br /><br />kernels 核心程序 <br /><br />key comparison 键（码）值比较 <br /><br />LAN(local area network) 局域网 <br /><br />load 负载 载入 <br /><br />logical functional 逻辑内聚 功能内聚 <br /><br />longitudinal 水平的 <br /><br />maintenance phase 维护（保养）阶段 <br /><br />MAN(metropolitan area network) 城域网 <br /><br />Manchester 曼彻斯特 <br /><br />map 地图 映射图 <br /><br />matrix 矩阵 点阵 <br /><br />memory reference 存储器参量 <br /><br />message switching 报文交换 <br /><br />MFLOP(million floating point operate per second) 每秒百万次浮点运算 <br /><br />MIPS(millions of instruction per second) 每秒百万条指令 <br /><br />module 单位 基准 <br /><br />monitor(model benchmark physical) mothod 监视 （模型 基准 物理）法 <br /><br />multilevel data flow chart 多层数据流图 <br /><br />multiple - term formula 多项式 <br /><br />multiplexing 多路复用技术 <br /><br />multiplication 乘法 <br /><br />mutual exclusion 互相 排斥 <br /><br />non - key attributes 非码属性 <br /><br />Nyquist 奈奎斯特 <br /><br />object oriented 对象 趋向的 使适应的 <br /><br />object oriented analysis 面向对象的分析 <br /><br />object oriented databases 面向对象数据库 <br /><br />object oriented design 面向对象的设计 <br /><br />object oriented implementation 面向对象的实现 <br /><br />occurrence 事件 <br /><br />one - dimensional array 一维数组 <br /><br />OODB(object oriented data base) 面向对象数据库 <br /><br />OOM(object oriented method) 面向对象的方法 <br /><br />oom: information object message class 信息 对象 消息 类 <br /><br />oom: instance method message passing 实例 方法消息传递 <br /><br />open system 开放系统 <br /><br />operand 操作数 <br /><br />overflow 溢出 <br /><br />overlapping register windows 重叠寄存器窗口 <br /><br />packet switching 报文分组交换 <br /><br />page fault 页面失效 <br /><br />page replacement algorithm 页替换算法 <br /><br />paged segments 段页式管理 <br /><br />PCB(process control block) 进程控制块 <br /><br />peer entities 对等实体 <br /><br />period 时期 周期 <br /><br />phase 阶段 局面 状态 <br /><br />physical data link network layer 物理层 数据链路层 网络层 <br /><br />pipeline 管道 <br /><br />platter/track/cluster 面/磁道/簇 <br /><br />predicate 谓语 <br /><br />preemption 有优先权的 <br /><br />prefix(Polish form) 前缀（波兰表达式） <br /><br />preorder/inorder/postorder 前序/中序/后序 <br /><br />presentation application layer 表示层 应用层 <br /><br />primary key attributes 主码属性 <br /><br />principle 原则 方法 <br /><br />procedural coincidental 过程内聚 偶然内聚 <br /><br />process 过程 加工 处理 <br /><br />program debugging 程序排错 <br /><br />projection selection join 投影 选择 连接 <br /><br />protocol 协议 <br /><br />prototype 原型 样板 <br /><br />prototyping method(model) 原型化周期（模型） <br /><br />pseudo - code 伪码（程序设计语言PDL） <br /><br />punctuation 标点 <br /><br />queue 队列 <br /><br />ready/blocked/running 就绪/阻塞（等待）/运行 <br /><br />real page number 实页数 <br /><br />real programs 实程序 <br /><br />redirected 重定向 <br /><br />redundancy 冗余 <br /><br />reference integrity rule 引用完整性规则 <br /><br />register(registry) 寄存器 登记 注册 挂号 <br /><br />relation 关系 <br /><br />relay 中继 <br /><br />repeater 中继器 <br /><br />replacement 替换 <br /><br />request indication response confirm 请求 指示 响应 确认 <br /><br />resource 资源 <br /><br />response 回答 响应 <br /><br />RISC(reduced instruction set computer) 精简指令集计算机 <br /><br />robustness 健壮性 <br /><br />router 路由器 <br /><br />scheme 计划 图表 <br /><br />sector head cylinder 扇区 磁头 柱面 <br /><br />selection sort 选择排序 <br /><br />semaphores 信号 <br /><br />sequence 序列 顺序 <br /><br />Shanon 香农 <br /><br />share locks 共享锁（S锁） <br /><br />short path critical path 最短路径 关键路径 <br /><br />signal 信号 <br /><br />signal - to - noise ratio 信噪比 B/N <br /><br />similar 相似的 <br /><br />SISD SIMD MISD MIMD *指令流 *数据流 <br /><br />SMDS 交换多兆位数据服务 <br /><br />software development phase 软件开发阶段 <br /><br />software engineering 软件工程 <br /><br />software portability 软件可移植性 <br /><br />software requirements specification 软件需求说明书 <br /><br />sort 种类 方式 分类 排序 <br /><br />spanning tree 跨越树（生成树） <br /><br />speedup 加速比 <br /><br />SSTF(shortest - seek - time - first) 最短寻道时间优先（磁盘调度算法） <br /><br />stack strategy non - stack strategy 堆栈型 非堆栈型 <br /><br />starvation 饥饿 匮乏 <br /><br />store procedures 存储过程 <br /><br />subset 子集 子设备 <br /><br />superclass subclass abstract class 超类 子类 抽象类 <br /><br />synthetic benchmark 复合基准程序 <br /><br />system testing 系统测试 <br /><br />Systolic 脉动阵列 <br /><br />table 表 表格 桌子 <br /><br />TDM(time division multiplexing) 时分多路复用 <br /><br />terminal 终端 <br /><br />testing phase 测试阶段 <br /><br />theta select/project/theta join θ选择/投影/θ连接 <br /><br />time complexity 时间复杂度 <br /><br />timestamping 时标技术 <br /><br />Token Bus 令牌总线 <br /><br />Token Ring 令牌环 <br /><br />toy benchmark 简单基准程序 <br /><br />transaction 事务 记录 <br /><br />transmit 传送 <br /><br />transport layer session layer 传输层 会话层 <br /><br />traversal method 遍历方法 <br /><br />triggers/store procedures 触发器/存储过程（ORACLE系统） <br /><br />unit system acceptance testing 单元测试 系统测试 确认测试 <br /><br />update 更新 <br /><br />value （数）值 <br /><br />variable 变量 <br /><br />vertice edge 顶点（节点）边 <br /><br />virtual memory system 虚拟存储系统 <br /><br />WAN(wide area network) 广域网 <br /><br />waterfall model 瀑布模型 <br /><br />white noises 白噪声 <br /><br />write - back(copy - back) 写回法 <br /><br />write - through(store - through) 写直达法 <br /><br />access arm 磁头臂,存取臂 <br /><br />access time 存取时间 <br /><br />adder 加法器 <br /><br />address 地址 <br /><br />alphanumeric 字母数字的 <br /><br />analog computer 模拟计算机 <br /><br />analyst 分析员 <br /><br />area 区域 <br /><br />array 数组,阵列 <br /><br />assembler 汇编程序 <br /><br />automation 自动化 <br /><br />band 区 <br /><br />batch processing 成批处理 <br /><br />binary code 二进制码 <br /><br />binary digit 二进制位,二进制数字 <br /><br />bit 比特,二进制的一位 <br /><br />branch 分支,支线 <br /><br />brush 电刷 <br /><br />buffer storage 缓冲存储器 <br /><br />calculator 计算器 <br /><br />call instruction 呼叫指令 <br /><br />card punch 卡片穿孔机 <br /><br />card reader 卡片阅读机,读卡机 <br /><br />cell 单元 <br /><br />channel 通道,信道 <br /><br />character 字符 <br /><br />check digit 校验数位 <br /><br />circuit 电路,线路 <br /><br />to clear 清除,清零 <br /><br />clock 时钟 <br /><br />code 代码 <br /><br />to code 编码 <br /><br />coder 编码员,编码器 <br /><br />command 指令,命令 <br /><br />compiler 编译程序 <br /><br />computer language 计算机语言 <br /><br />console 控制台 <br /><br />control unit 控制部件,控制器 <br /><br />core storage, core store 磁心存储器 <br /><br />counter 计数器 <br /><br />cybe rnetics 控制论 <br /><br />cycle 循环 <br /><br /><br /><br />drum 磁鼓 <br /><br />to edit 编辑 <br /><br />electronics 电子学 <br /><br />emitter 发射器 <br /><br />to encode 编码 <br /><br />to erase 擦除,清洗,抹除 <br /><br />feed 馈送,供给 <br /><br />to feed 馈送,供给 <br /><br />feedback 反馈 <br /><br />field 字段,信息组,域 <br /><br />file 文件 <br /><br />floppy disk 软磁盘 <br /><br />floppy disk drive 软磁盘机 <br /><br />flow chart 流程图 <br /><br />frame 帧 <br /><br />hardware 硬件 <br /><br />identifier 标识符 <br /><br />index 索引 <br /><br />information 信息 <br /><br />inline processing 内处理 <br /><br />input 输入 <br /><br />inquiry 询问 <br /><br />instruction 指令 <br /><br />integrated circuit 集成电路 <br /><br />to interpret 解释 <br /><br />item 项目,项 <br /><br />jump 转移 <br /><br />key 键,关键码 <br /><br />keyboard 键盘 <br /><br />latency time 等待时间 <br /><br />library 库,程序库 <br /><br />linkage 连接 <br /><br />to load 装入,寄存,写入,加载 <br /><br />location 存储单元 <br /><br />logger 登记器,记录器 <br /><br />loop 循环 <br /><br />machine language 机器语言 <br /><br />magnetic storage 磁存储器 <br /><br />magnetic tape 磁带 <br /><br />matrix 矩阵 <br /><br />memory 存储器 <br /><br />message 信息,报文 <br /><br />microcomputer 微型计算机 <br /><br />module 组件,模块 <br /><br />monitor 监视器,监督程序,管程 <br /><br />nanosecond 毫微秒 <br /><br />network 网络,网 <br /><br />numeric, numerical 数字的,数值的 <br /><br />octet 八位位组,八位字节 <br /><br />operator 操作员 <br /><br />optical character reader 光符阅读机 <br /><br />optical scanner 光扫描器 <br /><br />output 输出 <br /><br />overflow 溢出,上溢 <br /><br />panel 平板 <br /><br />parameter 参数,参量 <br /><br />perforator 穿孔机 <br /><br />peripheral equipment 外围设备,外部设备 <br /><br />personal computer 个人计算机 <br /><br />printed circuit 印制电路 <br /><br />printer 打印机 <br /><br />printout 打印输出 <br /><br />to process 处理 <br /><br />processing unit 处理部件 <br /><br />program 程序 <br /><br />to program 程序编制 <br /><br />programmer 程序设计员 <br /><br />programming 程序设计,程序编制 <br /><br />pulse 脉冲 <br /><br />punch 穿孔 <br /><br />to punch 穿孔 <br /><br />punched card, punch card 穿孔卡片 <br /><br />punched tape, punch tape 穿孔纸带 <br /><br />punch hole 孔,穿孔 <br /><br />random access 随机存取 <br /><br />to read 读 <br /><br />reader 阅读程序 <br /><br />reading 阅读 <br /><br />real time 实时 <br /><br />record, register 记录 <br /><br />redundancy 冗余 <br /><br />routine 例行程序 <br /><br />selector 选择器,选择符 <br /><br />sentinel 标记 <br /><br />sequence 序列,顺序 <br /><br />sequential 顺序的 <br /><br />serial 串行的.连续的 <br /><br />shift 移位,移数 <br /><br />signal 信号 <br /><br />simulation 模拟 <br /><br />simulator 模拟器,模拟程序 <br /><br />software 软件,软设备 <br /><br />sort 分类,排序 <br /><br />sorter 分类人员,分类机,分类程序,排序程序 cybernetics 控制论 <br /><br /><br /><br />decision 制定 <br /><br />digit 数字,数位,位 <br /><br />digital computer 数字计算机 <br /><br />disc, disk 磁盘 <br /><br />display unit 显示装置 <br /><br />drum 磁鼓 <br /><br />to edit 编辑 <br /><br />electronics 电子学 <br /><br />emitter 发射器 <br /><br />to encode 编码 <br /><br />to erase 擦除,清洗,抹除 <br /><br />feed 馈送,供给 <br /><br />to feed 馈送,供给 <br /><br />feedback 反馈 <br /><br />field 字段,信息组,域 <br /><br />file 文件 <br /><br />floppy disk 软磁盘 <br /><br />floppy disk drive 软磁盘机 <br /><br />flow chart 流程图 <br /><br />frame 帧 <br /><br />hardware 硬件 <br /><br />identifier 标识符 <br /><br />index 索引 <br /><br />information 信息 <br /><br />inline processing 内处理 <br /><br />input 输入 <br /><br />inquiry 询问 <br /><br />instruction 指令 <br /><br />integrated circuit 集成电路 <br /><br />to interpret 解释 <br /><br />item 项目,项 <br /><br />jump 转移 <br /><br />key 键,关键码 <br /><br />keyboard 键盘 <br /><br />latency time 等待时间 <br /><br />library 库,程序库 <br /><br />linkage 连接 <br /><br />to load 装入,寄存,写入,加载 <br /><br />location 存储单元 <br /><br />logger 登记器,记录器 <br /><br />loop 循环 <br /><br />machine language 机器语言 <br /><br />magnetic storage 磁存储器 <br /><br />magnetic tape 磁带 <br /><br />matrix 矩阵 <br /><br />memory 存储器 <br /><br />message 信息,报文 <br /><br />microcomputer 微型计算机 <br /><br />module 组件,模块 <br /><br />monitor 监视器,监督程序,管程 <br /><br /><br /><br /><br /><br />numeric, numerical 数字的,数值的 <br /><br />octet 八位位组,八位字节 <br /><br />operator 操作员 <br /><br />optical character reader 光符阅读机 <br /><br />optical scanner 光扫描器 <br /><br />output 输出 <br /><br />overflow 溢出,上溢 <br /><br /><br /><br />perforator 穿孔机 <br /><br />peripheral equipment 外围设备,外部设备 <br /><br />personal computer 个人计算机 <br /><br />printed circuit 印制电路 <br /><br />printer 打印机 <br /><br />printout 打印输出 <br /><br />to process 处理 <br /><br />processing unit 处理部件 <br /><br />program 程序 <br /><br />to program 程序编制 <br /><br />programmer 程序设计员 <br /><br />programming 程序设计,程序编制 <br /><br /><br /><br />punch 穿孔 <br /><br />to punch 穿孔 <br /><br />punched card, punch card 穿孔卡片 <br /><br />punched tape, punch tape 穿孔纸带 <br /><br />punch hole 孔,穿孔 <br /><br />random access 随机存取 <br /><br />to read 读 <br /><br />reader 阅读程序 <br /><br />reading 阅读 <br /><br />real time 实时 <br /><br />record, register 记录 <br /><br /><br /><br /><br /><br />selector 选择器,选择符 <br /><br />sentinel 标记 <br /><br />sequence 序列,顺序 <br /><br />sequential 顺序的 <br /><br />serial 串行的.连续的 <br /><br />shift 移位,移数 <br /><br />signal 信号 <br /><br /><br /><br />software 软件,软设备 <br /><br />sort 分类,排序 <br /><br />sorter 分类人员,分类机,分类程序,排序程序 <br /><br /><font color="#660066">&gt;storage 存储器 </font><br /><br />to store 存储 <br /><br />subroutine, subprogram 子程序 <br /><br />switch 开关 <br /><br />symbol 符号 <br /><br />symbolic language 符号语言 <br /><br />system 系统 <br /><br />tabulator 制表机 <br /><br />teleprinter 电传打字机 <br /><br />terminal 终端 <br /><br />terminal unit 终端设备 <br /><br />timer 时钟,精密计时器 <br /><br />time sharing 分时 <br /><br />timing 定时 <br /><br />track 磁道 <br /><br />transducer 传感器,翻译机 <br /><br />translator 翻译程序,翻译器 <br /><br />to update 更新 <br /><br />Winchester disk drive 温彻斯特磁盘机,硬盘机 <br /><br />working storage 工作存储器<img src ="http://www.blogjava.net/realsmy/aggbug/70384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2006-09-18 21:41 <a href="http://www.blogjava.net/realsmy/archive/2006/09/18/70384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>