Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-06-2005, 19: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, 13: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, 16: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, 13: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, 15: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


Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
Spotify introduce 'Taste Profile': il co...
Sole e pioggia insieme: il nuovo pannell...
AWS e Cerebras uniscono le forze: nuova ...
Windows 11: accesso al drive C: bloccato...
BYD pronta a comprare un marchio storico...
Windows 11 si prepara ai monitor oltre i...
Apple avrebbe fissato un target di vendi...
Ultimi giorni per sfruttare le Offerte d...
I migliori smartphone in offerta ora su ...
Le migliori TV delle Offerte di Primaver...
Uno dei robot più avanzati del 2025 crol...
Robot aspirapolvere con stazione automat...
Il nuovo top di gamma compatto di OPPO n...
Nilox aggiorna la sua gamma di fat e-bik...
Meta valuta tagli fino al 20% della forz...
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: 23:14.


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