JAVA教程之假造机概论(七)――OSI假造机模子
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。OSI假造机模子
“假造”就是在表示某时某地,固然一个对象大概设备其实不存在,但人们能够看到它
“假造机”这个词简单让很多人发生丰厚的遐想。盛行媒体和旧事播送在报导关于盘算机摹拟和盘算机游戏的新开展时,一般会用到“假造”这个词。在任何一种情形下,利用“假造”就是在表示某时某地,固然一个物体大概设备其实不存在,但人们能够看到它。假造的这一用法是关于扩大假造机开展的公道假定。扩大假造机的创立和持续开展是盘算机操纵体系在才能和天真性上的两重逻辑进步。
方法悟扩大假造机模子,关头是要了解古代盘算机是如何被计划的和操纵体系是怎样把持它的。古代操纵体系由一系列的指令集构成,指令集分离在一同构成服务例程。服务例程和数据分离在一同,成为提交给盘算机的使用程序。把指令组分解一个服务例程,就比如办公室人员将复杂的举措组合起来,完成一个更庞大的义务(好比办公室供给目次)一样。比方,文员只要一个能够在内存实行的无限指令集。这些指令仅限于盘算,纪录前一操纵的了局,和将某种信息存档以备后用。独自利用这些指令并没有多年夜的代价,可是这些指令能够被组分解一个序列,使得文员完成一个办公室供给目次。这个指令序列大概会是:数出纪录纸的数目,纪录了局,数出铅笔的数目,纪录了局,数出纸夹的数目,纪录了局,存档保留。这个序列能够被重复利用,来完成目次服务哀求。利用“数出纪录纸的数目”如许的指令,是假定办公室文员具有像辨认出纪录纸和准确计数如许的天性。关于人类来说,辨认物体和计数是文员年夜脑和眼睛的天然功效。而关于摹拟的办公室文员大概盘算机,这些功效必要在硬件级别计划并在电路体系中表现。当具体考查办公室文员的举措时,很明显必要在电路体系中完成一些常常利用的基础功效,而不是组合较复杂的指令。办公室文员必需亲身在办公室走来走往,反省物体,用记事本和铅条记录计数了局等等。这些功效将被看成一系列反复的硬件举措和软件指令来完成。比方,“纪录最初一次了局”这条指令将包含以下操纵:会见一个存储部件(如磁盘存储器),定位存储数据的空间,在当地存放器中取得要纪录的数据,传输数据,和将数据写进硬盘。在电路层,有一个基础层,一切指令都是从这个层面上衍生而来。
最底层的指令是那些提交给盘算机的零一代码。它们天生挪动数据,设置体系大概为下一个举措创立前提的操纵。这个级别能够被以为是呆板指令级别,操纵体系级其余指令就是从这个级别上衍生出来的。如今,我们都分明地晓得任何指令集都是它下一层指令集的复杂组合。办公室文员所要完成的义务,实践上是一系列子义务。这些子义务被组合在一同,构成一个更庞大的操纵序列。当“目次”命令下达给办公室文员时,察看者只能晓得目次这个词的寄义和办公室文员的全体举措。底层的指令子集关于察看者来讲是不成见的。每一个一连的指令层,包含呆板电路,呆板代码,操纵体系指令和使用程序代码,都对它的下一层用户埋没底层指令。组合指令和构建更庞大操纵的才能,是了解扩大假造机的关头。
扩大假造机的终极方针是创建盘算机中其实不存在的才能和摹拟设备。比方,年夜部分盘算机都有一个硬盘来存储数据和程序指令。这个硬盘大概实践上在别的盘算机上,大概由盘算机上的多个设备构成的。在这类情形下,扩大假造机办法就是编写一个指令序列,利用户以为盘算机上只要一个硬盘驱动器。摹拟出来的这个单一驱动器,它的存储才能和一切盘算机上的硬件驱动器的存储才能不异。经由过程盘算机,用户只能看到一个硬件驱动器。用户只需利用组合而成的指令,就能够像在一个年夜的硬件驱动器上存储和猎取数据一样。用户挪用的指令会见由底层指令组合而成的子例程。子例程中的底层指令处置甚么样的信息存储在哪一个硬盘上如许的细节。
因为能用到多少功能就用多少,不能用就不用!总的来说:要简单要性能好,可以不用框架。你说java复杂,就是因为你把java(j2ee)与这些框架混在了一起。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 是一种使用者不需花费很多时间学习的语言 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
页:
[1]
2