事实上,除了释放没用的对象, 垃圾收集也可以清除内存碎片。B: 将经过碎片
整理后的内存分配给新的对象。
6. 简洁有效
语言的语法大多基于 ,但 更加严谨、简洁。这体现在如下方面:
去除了 中一些难以理解、容易混淆的因素,如头文件、指针、结构体等;
避免了赋值语句与逻辑运算语句的混淆;避免了隐藏变量带来的困惑,如“@CDEFG;,
在 中是没问题的,而在 中是错误的;取消了多重继承这一复杂的继承机制。
提供了对内存的自动管理:内存分配、内存释放。
提供了丰富的类库,有利于软件开发的高效和标准化。
7. 健壮且安全
一个 程序从编写到运行出结果的全过程如图 " 所示。
7
图 "77 程序从编写到运行全过程
程序首先要通过编译的环节,而 有着最严格的“编译器”,可在编译阶段尽早
发现错误,只有纠错完毕才能编译成功,生成字节码文件。这是健壮性的一个保证。
字节码文件通过 B: 解释执行,类装入器负责装入运行一个程序需要的所有类,确定
整个可执行程序的内存布局。字节码校验器对装入的代码进行检查。校验器可发现操作数
栈溢出、非法数据类型转换等多种错误。解释执行的机制是又一个健壮保证。
另外解释器的沙盒运行模式, 网络程序被限制访问本地资源,这些保障了系统的
安全性。
三、Java 开发环境的建立
一台计算机上安装了 B:,该台机器就可运行 程序;而要开发 程序,计算
机上仅仅有 B: 还是不够的,需要建立 开发环境才行。
选择什么样的版本,是 0! 还是 !!,或者是 :!?这要看从事哪方面的 开
发应用。本书使用 0! 来讨论 程序设计,因此需要下载和安装 0! 开发包。
1. JavaSE 的组成
0! 是一个包含 开发环境和运行环境的套件,该套件由如下三项集成:
>$C>9E, 程序开发环境。
#!#C!E,应用程序运行环境。