学过c与c++的读者可能会说Java的引用不就是指针吗?其实不然,指针可以通过加一减一来在内存区域随便移动,从而直接对内存进行操作,Java的引用中存储的地址在堆中是自动分配的,不一定是连续的空间,不可以通过加一减一在内存中移动。在C和C++里大量采用指针可以使程序员按需求指向任意一个内存位置,这样使得编程异常灵活强大,同时会使它们变得不安全,比如黑客可以同过指针的移动在内存中获取并改写程序信息,有了指针甚至可以为所欲为。正是为了避免这种不安全性,Java才使用引用。
本文共 305 字,大约阅读时间需要 1 分钟。
学过c与c++的读者可能会说Java的引用不就是指针吗?其实不然,指针可以通过加一减一来在内存区域随便移动,从而直接对内存进行操作,Java的引用中存储的地址在堆中是自动分配的,不一定是连续的空间,不可以通过加一减一在内存中移动。在C和C++里大量采用指针可以使程序员按需求指向任意一个内存位置,这样使得编程异常灵活强大,同时会使它们变得不安全,比如黑客可以同过指针的移动在内存中获取并改写程序信息,有了指针甚至可以为所欲为。正是为了避免这种不安全性,Java才使用引用。
转载于:https://www.cnblogs.com/skyhanjw/archive/2012/05/04/2482639.html