00000000.htm
来自「水木清华BBS」· HTM 代码 · 共 365 行 · 第 1/2 页
HTM
365 行
<BR> Java是面向网络的语言。通过它提供的类库可以处理 TCP/IP协议 ,用户 <BR>可以通过 URL地址在网络上很方便地访问其它对象。 <BR> <BR> 4.鲁棒性 <BR> <BR> Java在编译和运行程序时 ,都要对可能出现的问题进行检查 ,以消除错误 <BR>的产生。它提供自动垃圾收集来进行内存管理 ,防止程序员在管理内存时容易 <BR>产生的错误。通过集成的面向对象的例外处理机制 ,在编译时,Java提示出可能 <BR>出现但未被处理的例外 ,帮助程序员正确地进行选择以防止系统的崩溃。另外, <BR>Java在编译时还可捕获类型声明中的许多常见错误 ,防止动态运行时不匹配问题 <BR>的出现。 <BR> <BR> 5.安全性 <BR> <BR> 用于网络、分布环境下的 Java必须要防止病毒的入侵。 Java不支持指针, <BR>一切对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员使用 <BR>"特洛伊 "木马等欺骗手段访问对象的私有成员 ,同时也避免了指针操作中容易 <BR>产生的错误。 <BR> <BR> 6.体系结构中立 <BR> <BR> Java解释器生成与体系结构无关的字节码指令 ,只要安装了 Java运行时 <BR>系统 ,Java程序就可在任意的处理器上运行。这些字节码指令对应于 Java虚拟 <BR>机中的表示 ,Java解释器得到字节码后 ,对它进行转换 ,使之能够在不同的平 <BR>台运行。 <BR> <BR> 7.可移植性 <BR> <BR> 与平台无关的特性使 Java程序可以方便地被移植到网络上的不同机器。 <BR>同时 ,Java的类库中也实现了与不同平台的接口 ,使这些类库可以移植。另外, <BR>Java编译器是由 Java语言实现的 ,Java运行时系统由标准 C实现 ,这使得Java <BR>系统本身也具有可移植性。 <BR> <BR> 8.解释执行 <BR> <BR> Java解释器直接对 Java字节码进行解释执行。字节码本身携带了许多 <BR>编译时信息 ,使得连接过程更加简单。 <BR> <BR> 9.高性能 <BR> <BR> 和其它解释执行的语言如 BASIC、 TCL不同 ,Java字节码的设计使之能 <BR>很容易地直接转换成对应于特定CPU的机器码 ,从而得到较高的性能。 <BR> <BR> 10.多线程 <BR> <BR> 多线程机制使应用程序能够并行执行 ,而且同步机制保证了对共享数据 <BR>的正确操作。通过使用 多线程 ,程序设计者可以分别用不同的线程完成特定 <BR>的行为 ,而不需要采用全局的事件循环机制 ,这样就很容易地实现网络上的实 <BR>时交互行为。 <BR> <BR> 11.动态性 <BR> <BR> Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入 <BR>新的方法和实例变量而不会影响用户程序的执行。并且 Java通过接口来支持 <BR>多重继承 ,使之比严格的类继承具有更灵活的方式和扩展性。 <BR> <BR> 二、 Java Applet <BR> <BR> Java语言的特性使它可以最大限度地利用网络。 Ap-plet是 Jav a的小应 <BR>用程序 ,它是动态、安全、跨平台的网络应用程序。 Java Applet嵌入 HTML语 <BR>言 ,通过主页发布到 Internet。网络用户访问服务器的 Applet时 ,这些Applet <BR>从网络上进行传输 ,然后在支持 Java的浏览器中运行。由于 Java语言的安全机 <BR>制 ,用户一旦载入 Applet,就可以放心地来生成多媒体的用户界面或完成复杂的 <BR>计算而不必担心病毒的入侵。虽然 Applet可以和图像、声音、动画等一样从网 <BR>络上下载 ,但它并不同于这些多媒体的文件格式 ,它可以接收用户的输入 ,动态 <BR>地进行改变,而不仅仅是动画的显示和声音的播放。 <BR> <BR> 三、丰富的类库 <BR> <BR> Java提供了大量的类以满足网络化、多线程、面向对象系统的需要。 <BR> <BR> 1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函 <BR>数处理等 ,可以用它简单地实现Java程序的运行平台。 <BR> <BR> 2.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。 <BR> <BR> 3.输入输出包用统一的 "流 "模型来实现所有格式的 I/O,包括文件系统、 <BR>网络、输入 <BR> <BR> 4.低级网络包用于实现 Socket编程。 <BR> <BR> 5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件 , <BR>包括窗口、菜单、滚动条、对话框等 ,使得 Java可以移植到不同平台的机器。 <BR> <BR> 6.网络包支持 Internet的 TCP/IP协议 ,提供了与 In-ternet的接口。 <BR>它支持 URL连接 ,WWW的即时访问 ,并且简化了用户 /服务器模型的程序设计。 <BR> <BR> 四、 Java和 C、 C++ <BR> <BR> 对于变量声明、参数传递、操作符、流控制等 ,Java使用了和 C、 C++ <BR>相同的传统 ,使得熟悉 C、 C++的程序员能很方便地进行编程。同时 ,Java为 <BR>了实现其简单、鲁棒、安全等特性 ,也摒弃了 C和 C++中许多不合理的内容。 <BR> <BR> 1.全局变量 <BR> <BR> Java程序中 ,不能在所有类之外定义全局变量 ,只能通过在一个类中定 <BR>义公用、静态的变量来实现一个全局变量。例如 : <BR> <BR> Class GlobalVar{ <BR> public static global_var; <BR> } <BR> <BR> 在类 GlobalVar中定义变量 global_var为 public stat-ic,使得其它类 <BR>可以访问和修改该变量。 <BR> Java对全局变量进行了更好的封装。而在 C和 C++中 ,依赖于不加封装 <BR>的全局变量常常造成系统的崩溃。 <BR> <BR> 2.Goto <BR> <BR> Java不支持 C、 C++中的 goto语句 ,而是通过例外处理语句 try, Catch, <BR>final等来代替 C、 C++中用 goto来处理遇到错误时跳转的情况 ,使程序更可读 <BR>且更结构化。 <BR> <BR> 3.指针 <BR> <BR> 指针是 C、 C++中最灵活 ,也是最容易产生错误的数据类型。由指针所进行 <BR>的内存地址操作常会造成不可预知的错误 ,同时通过指针对某个内存地址进行显 <BR>式类型转换后 ,可以访问一个 C++中的私有成员 ,从而破坏安全性 ,造成系统的 <BR>崩溃。而 Java对指针进行完全的控制 ,程序员不能直接进行任何指针操作 ,例如 <BR>把整数转化为指针 ,或者通过指针释放某一内存地址等。同时 ,数组作为类在Java <BR>中实现 ,良好地解决了数组访问越界这一C、 C++中不作检查的错误。 <BR> <BR> 4.内存管理 <BR> <BR> 在 C中 ,程序员通过库函数 malloc()和 free()来分配和释放内存 , C++ <BR>中则通过运算符 new和 delete来分配和释放内存。再次释放已释放的内存块或 <BR>未被分配的内存块 ,会造成系统的崩溃 ;同样 ,忘记释放不再使用的内存块也 <BR>会逐渐耗尽系统资源。而在 Java中 ,所有的数据结构都是对象 ,通过运算符new <BR>为它们分配内存堆。通过new得到对象的处理权 ,而实际分配给对象的内存可能 <BR>随程序运行而改变 ,Java对此自动地进行管理并且进行垃圾收集 ,有效防止了由 <BR>于程序员的误操作而导致的错误 ,并且更好地利用了系统资源。 <BR> <BR> 5.数据类型的支持 <BR> <BR> 在 C、 C++中 ,对于不同的平台 ,编译器对于简单数据类型如 in t,float <BR>等分别分配不同长度的字节数 ,例如:int在 IBM PC中为 16位 ,在 VAX-11中为 <BR> 32位 ,这导致了代码的不可移植性 ,但在 Java中 ,对于这些数据类型总是分 <BR>配固定长度的位数 ,如对 int型 ,它总占 32位 ,这就保证了 Java的平台无关性。 <BR> <BR> 6.类型转换 <BR> <BR> 在 C、 C++中 ,可以通过指针进行任意的类型转换 ,常常带来不安全性 , <BR>而 Java中 ,运行时系统对对象的处理要进行类型相容性检查 ,以防止不安全的 <BR>转换。 <BR> <BR> 7.头文件 <BR> <BR> C、 C++中用头文件来声明类的原型以及全局变量、库函数等 ,在大的系 <BR>统中 ,维护这些头文件是很困难的。而 Java不支持头文件 ,类成员的类型和访 <BR>问权限都封装在一个类中 ,运行时系统对访问进行控制 ,防止对私有成员的操 <BR>作。同时 ,Java中用 import语句来与其它类进行通讯 ,以便使用它们的方法。 <BR> <BR> 8.结构和联合 <BR> <BR> C、 C++中的结构和联合中所有成员均为公有 ,这就带来了安全性问题。 <BR>Java中不包含结构和联合 ,所有的内容都封装在类中。 <BR> <BR> 9.预处理 <BR> <BR> C、 C++中用宏定义来实现的代码给程序的可读性带来了困难。在 Java <BR>中 ,不支持宏 ,它通过关键字 final来声明一个常量 ,以实现宏定义中广泛使 <BR>用的常量定义。 <BR> <BR> (未完待续) <BR> <BR> <BR>-- <BR> ^_^ ^_^ ^_^ ^_^ ^_^ ^_^^_^ ^_^ ^_^ ^_^ ^_^ ^_^^_^ ^_^ ^_^ ^_^ ^_^ ^_^^_^ ^_^ ^_^ ^_^ ^_^ ^_^^_^ ^_^ ^_^ ^_^ ^_^ ^_^^_^ ^_^ ^_^ ^_^ ^_^ ^_^ <BR>^_^ ^_^ ^_^ ^_^ ^_^ ^_^ [s[4;65HO[3;66HO[3;67HO[3;68HO[4;69HO[5;69HO[6;68HO[7;67HO[8;65HO[7;63HO[6;62HO[5;61HO[4;61HO[3;62HO[3;63HO[3;64HO[u <BR> Welcome EveryOne! <BR> <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.74.158] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?