Someone can probably answer this better then I can, but I'll try from things I've read before..
Android uses a Java language in its programming, but it's not actually Java.
Instead it uses a Java-derived Dalvik Virtual Machine to run the OS. There are technical differences between the Dalvik VM and Java VM, but I could not articulate clearly what those are.
One thing I'm sure of though, is the Dalvik VM was created by reverse engineering Java and by doing this, they avoided infringing on any copyrights.
I believe it's called a Chinese Wall technique.
That being said, Dalvik is licensed under the Apache License (open source).
To add to that, Android 2.2 uses Just-In-Time (JIT) compilation which improves runtime performance of the Dalvik VM.
Now to try and answer your question, in terms of the cache, I believe when cleaning it, you're just deleting cached code from memory that was left there after execution.
I've cleared mine using Titanium and never saw an improvement in performance or a reduction for that matter.
So yeah, I hope I'm not way off base on everything I said.
I read an article about Android and how it was developed, but that was some time ago.
I'm sure more people will chime in.
[sent from my android]