Ak mam web aplikaciu (o ktorych je rec) ktora je tak vytazena, ze riesim cache CPU, tak zivotnost dat v CPU je tak tazko predpovedatelna, ze to nema zmysel riesit (to nie je graficka aplikacia ze si alokujem pole a to pole tam ostane ako dlho potrebujem..). Ak je zataz mala, tak to tiez nema zmysel riesit, lebo IO je radovo pomalsie ako cache cpu. Moj nazor je, ze je lepsie mat vsetky data klienta ako objekty a najlepsie alokovane kratko za sebou. Tak je pravdepodobnost, ze pri nacitani hodnoty sa natiahnu do cache aj suvisiace hodnoty daneho usera (ktoreho request prave obsluhujem), pretoze v eden space sa data alokuju za sebou a navyse jvm vklada prefetch instrukcie. Obcas sa da prechytracit JVM, ale vacsinou je to strata casu a je lepsie sa sustredit na lepsi algoritmus.
Okrem toho ked si chcem cachovat data v pamati, tak dnes uz v jave existuju kniznice, ktore vedia cachovat objekty priamo do offheap pamate bez zbytocnej vaty. Je to skaredy hack, ale funguje to.
Ze su hostingy pre .net je podla mojho nazoru jednoducho preto, ze IIS ma na to nejake pasivacne ficurky (s ktorymi sa da dosiahnut dost vysoka hustota appiek/server pri beznych=90% casu idle apkach) a java servery ziadne take ficurky nemaju. S modernymi java frameworkami ktore sa nestartuju minuty ale sekundy sa to da urobit aj s javou (napr google app engine myslim pasivuje idle java aplikacie), ale kto by to robil pri cene VPS pod 5 eur/mesiac?