I think you're trying to find the solution for something that isn't a problem.
Firstly - yes, Ogg is great for streaming music. So why would you decode an entire track in to the heap?
Secondly - pack all your sound effects into a single Ogg (or two, if you have both stereo and mono effects), and make a note of their PCM byte offsets. Stream decode that Ogg at startup, chopping into bits according to your PCM byte index file, uploading each PCM effect to OpenAL (or whatever). Let OpenAL or whatever manage the memory for you - which it will do, perfectly nicely, outside of the Java heap. Your sound effects will take up a trivial amount of ram.
Cas
