Java stores logical references to objects, but these do not necessarily correspond directly to areas of memory.  

This means that there is no longer any direct access to memory through a pointer.  Specific areas of memory can still be directly accessed by writing a native library DLL or .so shared object extension which is then “wrapped” by java code.

Trap: Native library extensions immediately introduce a portability problem to your application, albeit a smaller problem than would exist in a compiled C++ program.  Also, they're pretty difficult to debug when there's a problem.

blog comments powered by Disqus