|
  
- 精华
- 6
- 经验
- 4102 点
- 威望
- 1 点
- 金钱
- 4306 ¥
- 阅读权限
- 200
- 在线时间
- 14 小时
- 注册时间
- 2006-4-8
|
8#
发表于 2006-6-22 17:39
| 只看该作者
3.指针 指针是 C、 C++中最灵活 ,也是最容易产生错误的数据类型。由指针所进行 的内存地址操作常会造成不可预知的错误 ,同时通过指针对某个内存地址进行显 式类型转换后 ,可以访问一个 C++中的私有成员 ,从而破坏安全性 ,造成系统的 崩溃。而 Java对指针进行完全的控制 ,程序员不能直接进行任何指针操作 ,例如 把整数转化为指针 ,或者通过指针释放某一内存地址等。同时 ,数组作为类在Java 中实现 ,良好地解决了数组访问越界这一C、 C++中不作检查的错误。 4.内存管理 在 C中 ,程序员通过库函数 malloc()和 free()来分配和释放内存 , C++ 中则通过运算符 new和 delete来分配和释放内存。再次释放已释放的内存块或 未被分配的内存块 ,会造成系统的崩溃 ;同样 ,忘记释放不再使用的内存块也 会逐渐耗尽系统资源。而在 Java中 ,所有的数据结构都是对象 ,通过运算符new 为它们分配内存堆。通过new得到对象的处理权 ,而实际分配给对象的内存可能 随程序运行而改变 ,Java对此自动地进行管理并且进行垃圾收集 ,有效防止了由 于程序员的误操作而导致的错误 ,并且更好地利用了系统资源。 5.数据类型的支持 在 C、 C++中 ,对于不同的平台 ,编译器对于简单数据类型如 in t,float 等分别分配不同长度的字节数 ,例如:int在 IBM PC中为 16位 ,在 VAX-11中为 32位 ,这导致了代码的不可移植 |
|