what is the best hosting for java web application? Amazon Ec2 - is to expensive (about 60$ per small instance a month) Google Application - is not flexible in persistence and not fully support JDK
"best" for what purpose? The point of Amazon EC2 is that you can scale up easily and only pay for what you use.
If scaling is not an issue to you (i.e. you don't have many concurrent users and don't expect this to change quickly), then the best option is probably a virtual root server (offered by pretty much any general hosting provider these days). It offers maximal flexibility for a low price, but with limited performance, and it requires you to handle administration yourself.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki