Che cos’è e come funziona il Servlet Container e la JVM (Java Virtual Machine)

Che cos’è e come funziona il Servlet Container e la JVM (Java Virtual Machine)

La maggior parte dei servlet container desidera eseguire tutti i servlet in una singola Java Virtual Machine (JVM) per sfruttare al massimo la capacità di condividere informazioni.

Che cos'è e come funziona il Servlet Container e la JVM (Java Virtual Machine)

Il luogo di esecuzione della singola JVM può essere diverso in relazione al server.

  1. Con un server scritto in Java, come il server Apache Tomcat, il server stesso può essere eseguito all’interno di una JVM proprio accanto ai suoi servlet.
  2. Con un server web a singolo processo e multithread scritto in un altro linguaggio, la JVM può spesso essere incorporata all’interno del processo del server. L’appartenenza della JVM al processo del server produce le prestazioni massime perché un servlet diventa, in un certo senso, semplicemente un’altra estensione delle API del server di basso livello. Un server di questo tipo può richiamare un servlet con un passaggio di contesto leggero e può fornire informazioni sulle richieste attraverso invocazioni di metodi dirette.
  3. Un server web multiprocesso (che esegue diversi processi per gestire le richieste) non può realmente scegliere di incorporare una JVM direttamente nel suo processo, perché non esiste un processo unico. Questo tipo di server in genere esegue una JVM esterna che i suoi processi sono in grado di condividere. Con questo approccio ogni accesso ai servlet implica un passaggio di contesto pesante che ricorda la tecnica usata dai CGI. Tutti i servlet, tuttavia, continuano a condividere lo stesso processo esterno.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Una risposta a “Che cos’è e come funziona il Servlet Container e la JVM (Java Virtual Machine)”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *