Micromanagement of GC is possible using Soft/Weak/Phantom references, see http://weblogs.java.net/blog/2006/05/04/understanding-weak-r... .
> Of course, in C(++) you can design much more memory-efficient data structures through pointer arithmetic.
Yeah, you can reinvent the wheel in C++, C or even in ASM.