Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
Lo chassis in Ceraluminium è il cuore di questo notebook in edizione 2026, un modello pensato per garantire produttività con le tipiche applicazioni di produttività personale e capace di offrire un'autonomia di funzionamento lontano dalla presa di corrente da riferimento. Potenza, facilità di trasporto e costruzione robusta tutto in un notebook compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-06-2005, 18:16   #1
prazision
Senior Member
 
L'Avatar di prazision
 
Iscritto dal: Dec 2003
Messaggi: 458
[java-jsp] variabili di sessione

Su un sito fatto in jsp che gira su tomcat-apache ho usato delle variabili di sessione per memorizzare dei dati(sono costretto a utilizzare le variabili di sessione, è lungo da spiegare ma è così).

In particolare ci sono 15 variabili di sessioni, ognuna delle quali può contenere una stringa di una ventina di caratteri.



domanda n*1: conviene mantenere qusta struttura o utilizzare un unico array(contenente tutte le stringhe) che metto in un'unica variabile di sessione???



domanda n*2: come si calcola in questo caso la memoria della Virtual Machine occupata da un'implementazione simile??? ammettiamo che le stringhe siano da 10 Byte l'una e che le variabili di sessione siano 15 e che gli utenti(che navigano il sito contemporaneamente) siano 100 devo fare qualcosa tipo 10*15*100=15.000 Byte

grazie
prazision è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 12:27   #2
it_developer
Member
 
L'Avatar di it_developer
 
Iscritto dal: Apr 2005
Città: Roma
Messaggi: 35
Quote:
domanda n*1: conviene mantenere qusta struttura o utilizzare un unico array(contenente tutte le stringhe) che metto in un'unica variabile di sessione???
Dunque so che può essere una rogna sentirselo dire sempre ma in questo caso conviene cambiare la strategia con cui affronti il problema...

Non è preferibile utilizzare le JSP quando ti trovi con una grossa mole di variabili da memorizzare...è buona norma infatti utilizzare a loro posto una semplice servlet che reindirizzerà l'utente ad una jsp contenente i risultati dell'operazione...

Chiusa questa parentesi...quando tu inserisci delle variabili nella Session, la variabile da te inviata viene messa in un oggetto HashMap...che è simile ad una tabella...ora qui credo che ci siano diverse opinioni in merito....per me è preferibile utilizzare le variabili singole (se proprio le devi utilizzare con la session e le jsp...) perchè l'array è più difficile da gestire in termini di oggetti aggiunti o rimossi!

Quote:
domanda n*2: come si calcola in questo caso la memoria della Virtual Machine occupata da un'implementazione simile??? ammettiamo che le stringhe siano da 10 Byte l'una e che le variabili di sessione siano 15 e che gli utenti(che navigano il sito contemporaneamente) siano 100 devo fare qualcosa tipo 10*15*100=15.000 Byte
Con precisione non saprei...perchè come tu sai java è molto misterioso per il fattore memoria + variabili...devi considerare che qualsiasi oggetto non è formato solo dai suoi dati interni ma anche da tutte le variabili e dai suoi stessi riferimenti (che in linea di massima generano un piccolo overhead...) senza considerare poi in 100 oggetti sessione, pageContext, e tutto il resto...

Per questo motivo a volte non è preferibile portarsi dietro molti dati nella sessione...come vedi nel tuo caso non vai sopra i 15kb...quindi non dovrebbe influire sul fattore memoria...ma se al posto di String usi oggetti più pesanti...potresti avere un degrado di performance...

Ovvio che poi si devono valutare le cose caso per caso...se vuoi un parere + specifico posta un po' di codice...che sicuramente tutto si chiarisce!

Ciao,
spero di esserti stato utile,
it_developer
it_developer è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2005, 15:27   #3
prazision
Senior Member
 
L'Avatar di prazision
 
Iscritto dal: Dec 2003
Messaggi: 458
Quote:
Originariamente inviato da it_developer
Dunque so che può essere una rogna sentirselo dire sempre ma in questo caso conviene cambiare la strategia con cui affronti il problema...

Non è preferibile utilizzare le JSP quando ti trovi con una grossa mole di variabili da memorizzare...è buona norma infatti utilizzare a loro posto una semplice servlet che reindirizzerà l'utente ad una jsp contenente i risultati dell'operazione...

Chiusa questa parentesi...quando tu inserisci delle variabili nella Session, la variabile da te inviata viene messa in un oggetto HashMap...che è simile ad una tabella...ora qui credo che ci siano diverse opinioni in merito....per me è preferibile utilizzare le variabili singole (se proprio le devi utilizzare con la session e le jsp...) perchè l'array è più difficile da gestire in termini di oggetti aggiunti o rimossi!



Con precisione non saprei...perchè come tu sai java è molto misterioso per il fattore memoria + variabili...devi considerare che qualsiasi oggetto non è formato solo dai suoi dati interni ma anche da tutte le variabili e dai suoi stessi riferimenti (che in linea di massima generano un piccolo overhead...) senza considerare poi in 100 oggetti sessione, pageContext, e tutto il resto...

Per questo motivo a volte non è preferibile portarsi dietro molti dati nella sessione...come vedi nel tuo caso non vai sopra i 15kb...quindi non dovrebbe influire sul fattore memoria...ma se al posto di String usi oggetti più pesanti...potresti avere un degrado di performance...

Ovvio che poi si devono valutare le cose caso per caso...se vuoi un parere + specifico posta un po' di codice...che sicuramente tutto si chiarisce!

Ciao,
spero di esserti stato utile,
it_developer

codice???
beh è semplice, diciamo che per 15 variabili di sessione scrivo qualcosa del tipo:
session.setAttribute("sessione1", str1);
session.setAttribute("sessione2", str2);
ecc.

dove str1 è una string di 10/15 caratteri

cosa intendi per "overhead"?

grazie
prazision è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2005, 12:16   #4
it_developer
Member
 
L'Avatar di it_developer
 
Iscritto dal: Apr 2005
Città: Roma
Messaggi: 35
Quote:
cosa intendi per "overhead"?
Sicuramente non è il termine più appropriato in questo caso...comunque mi riferisco al fatto che quando definisci un oggetto...non occupa memoria solo quello che contiene l'oggetto...ma anche la definizione stessa d'oggetto!

In java esistono oggetti molto grandi...perchè hanno molti campi e molti riferimeti...e anche appena instanziati...con alcuni campi vuoti...occupano la loro bella quantità in memoria...

Non è il tuo caso...perchè lavori con 15 stringhe...ma come ti ho detto è buona norma utilizzare una servlet!

In questo specifico caso...se realizzi tutto con una jsp...va bene lo stesso...ma quando vai a realizzare qualcosa di più impegnativo...tutto diventerà più complicato se utilizzerai solamente jsp!

Ti consiglio di dare un occhiatina al patter MVC (Model View Controller) trovi tutto su google...questo pattern specifica la divisione dei vari compiti a tre enti diversi...fornendo alla web application una certa stabilità e generalizzazione che non ottieni con semplice jsp!

Ciao,
it_developer

PS: Mvc lavora con Jsp + Servlet + JavaBean...
it_developer è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2005, 14:29   #5
prazision
Senior Member
 
L'Avatar di prazision
 
Iscritto dal: Dec 2003
Messaggi: 458
grazie
prazision è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
Chiamate con numeri falsi: AGCOM sanzion...
Il radiotelescopio cinese FAST ha scoper...
Certificati TLS più brevi, Let's ...
Milano si candida a sede Onu per la gove...
Dopo Groq e Hugging Face, NVIDIA guarda ...
Thomas Zurbuchen entra in Blue Origin ne...
Qualcomm porta servizi e sicurezza nel g...
Microsoft porta l'inferenza IA sul propr...
Blue Origin aiuterà la NASA nella...
Scoperto pianeta 'ribelle': orbita al co...
smart #2 debutta a Parigi: batteria da 3...
Un certificato in scadenza può la...
BYD ATTO 8, ricarica FLASH dal 10 al 97%...
Ledger e il caso CryptoBilis: furti stim...
Una forza quantistica ha mosso un appara...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v