Hi all!
I was thinking about a new feature of the VM that would be to completly disable the garbage collector with a command line option and then the developer would be responsible to deallocate the objects when they are not used anymore by either/both calling System.gc() or using the added delete expression (like C++) on the object.
If you think about it, for typical 2D games (and perhaps 3D too) you likely never create instances in the rendering loop because you already know the price of creating an instance so why not simply disable the garbage collector at start-up time and manage the deallocation of memory since you should very rarely have to do it?
I already know about the different options/features of garbage collection (http://java.sun.com/docs/hotspot/gc1.4.2/index.html) and that you can tweak the garbage collector to have minimal impact on critical performance apps but even with that there will always have a considerable overhead due to the garbage collector.
What do you think?