Jump to content
Sign in to follow this  
lsiani28

La piattaforma Java consuma più risorse hardware di .NET?

Recommended Posts

Ciao a tutti,

 

vorrei che mi aiutaste a togliermi un dubbio

circa la differenza tecnica di gestione

di un servizio di hosting Java rispetto

ad uno .NET.

 

Allora, navigando sul Web per cercare degli abbonamenti

hosting Java relativamente economici (sui 60 euro all'anno),

mi sono reso subito conto che è davvero

difficile trovarne qualcuno.

 

Da varie considerazioni, fatte insieme a persone con cui

ho parlato, si evince che il motivo di tale

situazione sarebbe la maggiore onerosità che

un servizio di hosting Java richiede rispetto a .NET.

 

In particolare, si dice che Java consumi più risorse

hardware (memoria RAM).

Naturalmente riferisco a sistemi con JVM

condivisa tra più utenti (più istanze contemporaneamente).

Qualcuno, forse a torto, dice che la condivisione della

macchina virtuale porterebbe anche a problemi

di altra natura, dovuti ad es. all'uso della

famigerata istruzione <% System.exit(0); %>.

 

Il fatto che non mi spiego è:

 

perché .NET non dovrebbe avere gli stessi problemi?

Per darmi una risposta dovrei sapere:

 

quali sarebbero le differenze tecniche strutturali e di

gestione effettiva che portano .NET ad essere meno

avido di risorse rispetto alla tecnologia Java.

 

Potete aiutarmi a trovare la risposta?

 

Saluti.

Share this post


Link to post
Share on other sites

Ciao Leopoldo, spiego per un attimo la vicenda: leopoldo mi ha scritto per chiedermi come mai vi siano pochi hosting provider specializzati su Java, e perchè costino mediamente di più, ho fornito una mia visione chiara del problema, però ho invitato Leopoldo a scrivere qui per avere anche pareri da più esperti e avviare una bella discussione :)

 

Benvenuto nel frattempo

Share this post


Link to post
Share on other sites

Non sono un esperto ma ho avuto per un periodo un cliente che aveva sviluppato quacosa con tomcat... mi "ammazzava" letteralmente il server e sono stato ben contento quando l'ha tolta.

La mia impressione è che sia molto pesante e oneroso in termini di risorse quindi, potendo, me ne sto alla larga....

Share this post


Link to post
Share on other sites

Io ho dato la mia opinione: Java richiede più risorse e costa di più come gestione perchè quando lo usi, con tomcat, jboss e via dicendo, hai realmente necessità diverse da quelle di un piccolo form o sito che puoi fare con PHP, avendo un approccio diverso. E solitamente chi usa Tomcat o JBOSS lo fa per applicazioni abbastanza serie, che hanno alle spalle sviluppo e compiti abbastanza "strong" :)

 

Poi, se si guarda alle offerte Java si vede che si hanno determinate garanzie per la RAM ad esempio.

Share this post


Link to post
Share on other sites
Ciao a tutti,

 

vorrei che mi aiutaste a togliermi un dubbio

circa la differenza tecnica di gestione

di un servizio di hosting Java rispetto

ad uno .NET.

 

Allora, navigando sul Web per cercare degli abbonamenti

hosting Java relativamente economici (sui 60 euro all'anno),

mi sono reso subito conto che è davvero

difficile trovarne qualcuno.

 

Da varie considerazioni, fatte insieme a persone con cui

ho parlato, si evince che il motivo di tale

situazione sarebbe la maggiore onerosità che

un servizio di hosting Java richiede rispetto a .NET.

 

In particolare, si dice che Java consumi più risorse

hardware (memoria RAM).

Naturalmente riferisco a sistemi con JVM

condivisa tra più utenti (più istanze contemporaneamente).

Qualcuno, forse a torto, dice che la condivisione della

macchina virtuale porterebbe anche a problemi

di altra natura, dovuti ad es. all'uso della

famigerata istruzione <% System.exit(0); %>.

 

Il fatto che non mi spiego è:

 

perché .NET non dovrebbe avere gli stessi problemi?

Per darmi una risposta dovrei sapere:

 

quali sarebbero le differenze tecniche strutturali e di

gestione effettiva che portano .NET ad essere meno

avido di risorse rispetto alla tecnologia Java.

 

Potete aiutarmi a trovare la risposta?

 

Saluti.

 

Non sono uno sviluppatore ma posso dirti che la necessità di avere a disposizione maggiori risorse hw, rispetto ad un classico hosting PHP/ASP, è dovuto dal fatto che per questioni di affidabilità e di destinazione d'uso di applicazioni Java è bene avere una o più istanze di Tomcat dedicate.

 

Ciao,

 

F.

Share this post


Link to post
Share on other sites
Io ho dato la mia opinione: Java richiede più risorse e costa di più come gestione perchè quando lo usi, con tomcat, jboss e via dicendo, hai realmente necessità diverse da quelle di un piccolo form o sito che puoi fare con PHP, avendo un approccio diverso. E solitamente chi usa Tomcat o JBOSS lo fa per applicazioni abbastanza serie, che hanno alle spalle sviluppo e compiti abbastanza "strong" :)

 

Poi, se si guarda alle offerte Java si vede che si hanno determinate garanzie per la RAM ad esempio.

 

Ciò che vorrei è scendere più nel dettaglio tecnico,

proprio sulla gestione della memoria da parte di .NET

e Java, in modo da individuare le reali differenze

architetturali ed arrivare ad una risposta definitiva

alla questione. Altrimenti rimarremo sempre nel dubbio - anzi

io rimarrei nel dubbio.

 

Circa .NET, perché dovrebbe avere una gestione delle risorse

più efficiente?

Share this post


Link to post
Share on other sites
Ciò che vorrei è scendere più nel dettaglio tecnico,

proprio sulla gestione della memoria da parte di .NET

e Java, in modo da individuare le reali differenze

architetturali ed arrivare ad una risposta definitiva

alla questione. Altrimenti rimarremo sempre nel dubbio - anzi

io rimarrei nel dubbio.

 

Circa .NET, perché dovrebbe avere una gestione delle risorse

più efficiente?

 

Stai paragonando mele con pere anche se può non sembrare a prima vista.

E' abbastanza ovvio che .NET Framework consumi relativamente meno memoria (ma non sempre) rispetto alla VM Java per il semplice fatto che il framework .NET è sviluppato dalla stessa azienda che sviluppa anche il S.O. e quindi, visto che non stiamo parlando di altro che di un wrapper sulle API di sistema, è evidente che Microsoft sappia ottimizzare dove Java non può.

Ed ecco perchè stai paragonando mele a pere, Java non può essere estremamente specifico per Windows perchè è realmente portabile.

.NET non è affatto portabile e può essere molto più specifico rispetto alle API di sistema e storicamente, uno dei benefici dell'esser il più "S.O. bound" possibile è proprio il memory management.

 

Se tanto mi da tanto potrei dire che .NET va molto peggio su macchine *nix like, semplicemente perchè non va :asd:

E per favore non tirate fuori MONO che ha preso un percorso suo ed ha una buona fetta di namespace che non sono in comune con il framework M$ e viceversa.

Share this post


Link to post
Share on other sites

E per favore non tirate fuori MONO che ha preso un percorso suo ed ha una buona fetta di namespace che non sono in comune con il framework M$ e viceversa.

 

Veramente io dalla loro roadmap, ho visto che hanno ormai integrato l'intero framework .net 3.5 . L'unica cosa che manca è WPF...

Share this post


Link to post
Share on other sites
Veramente io dalla loro roadmap, ho visto che hanno ormai integrato l'intero framework .net 3.5 . L'unica cosa che manca è WPF...

Manca il WPF, e se non erro, non tutte le funzionalità dei namespace si comportano allo stesso modo.

Per finire, visto che non c'è un'unica entità dietro un framework, ma Novell insegue continuamente M$, non c'è mai concomitanza di versioni, a meno di non voler usare un framework vecchio.

Inoltre, mi è capitato di usare applicativi su Mono che arrivavano dal mondo M$ ed oltre ad aver prestazioni al limite del vergognoso, spesso e volentieri andavano in crash inspiegabilmente.

Tutte cose che con Java, ovviamente non succedono dato che la VM viene sviluppata da un'unica entità.

 

E preferisco non addentrarmi sul discorso di tutte le funzionalità non certificate ECMA che rendono, di fatto, il .NET framework non standardizzato così come il Mono.

insomma, non è che si parlano tanto :)

Share this post


Link to post
Share on other sites
Manca il WPF, e se non erro, non tutte le funzionalità dei namespace si comportano allo stesso modo.

Per finire, visto che non c'è un'unica entità dietro un framework, ma Novell insegue continuamente M$, non c'è mai concomitanza di versioni, a meno di non voler usare un framework vecchio.

Inoltre, mi è capitato di usare applicativi su Mono che arrivavano dal mondo M$ ed oltre ad aver prestazioni al limite del vergognoso, spesso e volentieri andavano in crash inspiegabilmente.

Tutte cose che con Java, ovviamente non succedono dato che la VM viene sviluppata da un'unica entità.

 

E preferisco non addentrarmi sul discorso di tutte le funzionalità non certificate ECMA che rendono, di fatto, il .NET framework non standardizzato così come il Mono.

insomma, non è che si parlano tanto :)

 

Io a dire il vero, ho fatto fede a quanto riportato in questa pagina Compatibility - Mono

 

Dal punto di vista pratico, ho fatto giusto qualche prova a far girare un programma .net fatto da me su windows, con mono su linux, e funzionava bene, ma non era nulla di particolare, forse con programmi più complessi, ha problemi.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×