How Java hosting is compared matters as much as the result. A table that says "free" without the sleep rule, or "$5" without the memory limit, sends you to the wrong plan. This page sets out the rules behind every comparison on the site, so you can judge the numbers yourself and see exactly how Java hosting is compared before you trust a ranking.
Sources: the providers' own pages
Every value comes from the provider's own pricing page, documentation or legal page. Render's free tier limits come from Render's docs, Oracle's support dates from Oracle's Java SE roadmap, and so on. Each fact is stored with the URL it came from and the date it was read.
Official pages win over everything else. Review sites, forum posts and reseller pages are not used as a source for a number. When a fact exists only on a third-party page, it is either left out or labeled as third-party data in the table. One example: a Render payment method appears only on a third-party merchant page, so the comparison does not present it as confirmed. The same applies to mirrors. The 99.95 percent uptime figure for paid Azure App Service tiers was read from Microsoft's azure.cn mirror because the global SLA page did not show the App Service text, and the table says so.
What is recorded for each plan
The Java hosting comparison method is built around the questions you actually face when you deploy a JVM app:
| Field | Why it matters for Java |
|---|---|
| RAM | The JVM heap is a share of instance memory; 256 MB and 512 MB behave very differently |
| CPU | Shared or fractional CPU slows JVM startup and JIT warm-up |
| Sleep and idle rules | A free plan that spins down adds a cold start, often long for a JVM |
| How Java runs | Native buildpack, container image, or a plain VM where you install the JDK |
| Price | Cheapest paid option and the billing model (monthly, per second, per hour) |
| Payment methods | Cards only, PayPal, SEPA direct debit, prepaid credits |
| Regions | Where the app can run, with a note on EU regions |
| Uptime SLA | Stated percentage and which plans it covers |
| GDPR / DPA | Whether a data processing agreement is published |
If a provider does not publish a field, the cell says so instead of guessing. Sometimes the absence is the useful fact: Railway does not state an uptime figure for its Hobby plan, and Heroku's pricing page lists no free tier at all.
How prices are calculated
Prices are list prices as shown, excluding VAT and sales tax. USD stays USD and EUR stays EUR; there is no currency conversion, because exchange rates would make the figure wrong within weeks. Providers such as Hetzner and Clever Cloud price in euros, and their rows say so.
Some providers only publish hourly or per-second rates. In that case the monthly figure is calculated at 730 hours, the average month, and marked as a calculation. Azure's B1 Linux plan is an example: Microsoft's retail price API returns an hourly rate, and the monthly figure in the table is that rate times 730.
Refresh cadence and freshness
A Java hosting comparison method is only as good as its update rhythm, because hosting plans change often. AWS stopped accepting new App Runner customers on April 30, 2026; Oracle moves Java licenses between terms on published dates. So each provider row is rechecked every quarter, and sooner when a provider announces a change. Every data table carries a short line with the month its figures were checked. Article text avoids hard-coded "today" dates, so a page never claims to be newer than its data.
Corrections
If you spot a figure that no longer matches the provider's page, send the link to the page that shows the new value. The row is checked against that page and corrected with a new check date. If a value cannot be confirmed on an official page, it comes out of the table. A gap is better than a guess.
Editorial policy
Under the same rules that decide how Java hosting is compared, providers are chosen because they can run a Java or JVM web app and publish enough data to compare. Positions in any list follow from the recorded data and the reader's use case, such as a free hobby app, a small production service or an EU-hosted app. Rankings are not sold. Some providers are recommended for one use and not for another; that is the point of recording sleep rules next to prices.
History of the address
The address has a long Java history. From around 1999 to at least 2006, mycgiserver.com was a free hosting service for Java servlets and JSP pages, with member accounts at tilde addresses and servlets running under a shared path. Sites such as apache.org, O'Reilly, Slashdot and W3C mailing lists linked to projects hosted there. After the service ended, the domain sat parked for years.
Today the address carries a guide to hosting and running Java apps: the Java hosting comparison, the support timeline for Java versions and the OpenJDK vs Oracle JDK licensing guide. The servlet era has its own page, the archive of member projects, which lists the classic projects other sites still link to.
Sources