Decent free or pay-to-use webhost?

I’ve honestly gotten a good interest in client/server programming. I’m still new, of course, but I’m learning MySQL/PHP/Java.

The problem is, any website I’ve used for hosting either doesn’t allow Java files, or has too many problems/limitations.

Can anyone recommend a decent host? I don’t want to break the bank, but if that is the price of learning, I’ll do it.

The only thing I must have:
[LIST]
[]MySQL Databases
[
]PHP support
[*]Java Support
[/LIST]

I would prefer cPanel, since it’s what I’m used to, but I’ll learn anything i have to.

(Does using the server as a Java socket server count as ‘streaming?’)