Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-03-2006, 17:53   #1
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
[Java Servlet] Pagina pasticciata quando aperta in contemporanea

Il problema è questo: sto sviluppando un'applicazione Server-Oriented per una rete intranet: essenzialmente più terminali devono collegarsi contemporaneamente al server (Apache Tomcat) tramite collegamento wireless; il server distingue le varie sessioni e, di conseguenza, non dovrebbero esserci problemi all'apertura contemporanea della servlet da parte di più terminali...

Ciò, infatti, è vero per alcune di esse (l'applicativo è sviluppato su più pagine/servlet tra esse collegate) ma nell'apertura di una data servlet (particolarmente complessa e dal caricamento lungo), viene fuori un bel pasticcio: a volte da un terminale viene stampata una doppia pagina (in cascata), mentre dall'altro pagina vuota (o parzialmente stampata); altre volte da una parte mi dà errore; altre volte ancora entrambe le pagine vengono visualizzate con frammenti di codice in bella vista tra un campo testo e un'altro...

Mi verrebbe quasi da pensare che sia un problema del Tomcat e non del codice... ma spero proprio di no!

La mia speranza è che qualcuno di voi sia incappato nel mio stesso problema e che mi spieghi come risolverlo. Grazie.
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2006, 18:13   #2
pinok
Senior Member
 
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
La servlet non dovrebbe mai essere troppo grande o particolarmente complessa.
Hai già provato a spostare fuori il codice "pesante" e a richiamarlo dalla servlet, in modo da attivare lo stream di output quando cominciano ad arrivare i dati dell'elaborazione e non durante ?
pinok è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 11:27   #3
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Quote:
Originariamente inviato da pinok
La servlet non dovrebbe mai essere troppo grande o particolarmente complessa.
Hai già provato a spostare fuori il codice "pesante" e a richiamarlo dalla servlet, in modo da attivare lo stream di output quando cominciano ad arrivare i dati dell'elaborazione e non durante ?
Uhmmm... no, in effetti e se devo essere sincero non ho ben idea di come procedere. Un aiutino?
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 13:45   #4
pinok
Senior Member
 
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
Quote:
Originariamente inviato da Corvo80
Uhmmm... no, in effetti e se devo essere sincero non ho ben idea di come procedere. Un aiutino?
Ti fai una classe che si occupa delle elaborazioni, meglio se messa in un package (=directory).
Poi nella servlet importi la classe, passi i parametri che servono all'elaborazione (mediante il costruttore o direttamente al metodo), invochi il metodo e recuperi il risultato (ad es. un vettore o uno stringbuffer se è una sequenza di istruzioni HTML).

Quindi apri lo stream di scrittura, ci riversi il codice HTML e chiudi lo stream, eventualmente invocandoci sopra un flush per pulirlo.
pinok è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 15:00   #5
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Mi sono appena reso conto di una grave inconsistenza del mio codice (la mia niubbaggine non smette mai di stupirmi). L'oggetto PrintWriter che uso per lo streaming di output l'ho dichiarato fuori dai metodi (i quali non sono synchronized), con conseguente insorgere di problemi di concorrenza.

Se ho capito bene basta chiudere il codice concorrente in blocchi synchronized o dichiarare l'oggetto PrintWriter dentro e non fuori dei metodi, vero?
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 15:03   #6
pinok
Senior Member
 
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
Quote:
Originariamente inviato da Corvo80
Se ho capito bene basta chiudere il codice concorrente in blocchi synchronized o dichiarare l'oggetto PrintWriter dentro e non fuori dei metodi, vero?
Potrebbe bastare.
Provare, grazie al cut & paste, costa poca fatica quindi prova con una servlet e se funziona fallo per le altre.

Il suggerimento di organizzare meglio il codice resta comunque valido, se non altro per facilità di gestione e riusabilità del codice
pinok è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 15:19   #7
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Come sempre hai ragione.

Grazie dell'aiuto, se avrò altri problemi tornerò a perseguitarti!!!
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 15:41   #8
pinok
Senior Member
 
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
Quote:
Originariamente inviato da Corvo80
Come sempre hai ragione.

Grazie dell'aiuto, se avrò altri problemi tornerò a perseguitarti!!!

Scherzo, sono qua...
pinok è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 17:33   #9
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Neanche a farlo apposta ho subito un altro consiglio da chiederti/vi.

Sto riprogettando il codice rendendolo più modulare e più elegante e mi è giunto un dilemma:

siccome gli elementi dell'interfaccia grafica (nomi delle label, dimensioni dei campi testo, etc...) delle varie servlet vengono letti da database tramite interrogazioni SQL restituite come oggetti ResultSet, l'idea è quella di eseguire la query alla prima apertura della servlet ( dal metodo init() ) e clonarne il risultato ogni volta che una nuova sessione viene creata.

Il problema è che gli oggetti ResultSet non sono clonabili, a quanto pare. Come posso fare?
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 21:07   #10
pinok
Senior Member
 
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
Cosa intendi per clonare le resultSet?
Se intendi dire salvarti gli oggetti per non interrogare di nuovo il DB, se sono pochi dati puoi metterli in una lista e poi in sessione, se sono tanti non ti conviene (appesantiscono la memoria).
Tutto sommato, se sono pochi, a recuperarli ogni volta non è che pesa molto...
pinok è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2006, 21:31   #11
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Niente, volevo dire tramite il metodo clone() ma mi sono reso conto che c'è un errore concettuale di fondo: ResultSet non è una classe, è un interfaccia.

Uhmmm... che ne dici di una lista statica, lasciando perdere di copiarla ogni volta nelle variabili sessione? Coi ResultSet aveva un senso, poichè sono provvisti di un puntatore che utilizzavo per la costruzione della riga ma se parliamo di lista posso usare un puntatore per ogni sessione e un'unica lista...
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
Superati 13.300 MT/s per DDR5: ad ASUS e...
L’evoluzione dell’IA nelle imprese: la v...
Le storie in evidenza di Instagram torna...
Addio GeForce RTX 5060 e Radeon RX 9060?...
Arriva Hisense Déco TV S5Q, estet...
Aggiornata TOP500, la classifica degli H...
Noctua NH-D15 Chromax.black è rea...
NVIDIA aggiorna DGX Spark: nuovo kernel,...
Con Work IQ, Copilot per Microsoft 365 i...
Azure Cobalt 200: svelata la nuova CPU A...
Intel a tutto tondo: tra processi in ram...
AMD FSR Redstone arriverà ufficia...
L'Olanda 'cede' alla Cina: retromarcia t...
Stagione 1 al via: tutte le novità...
TikTok rafforza trasparenza e benessere ...
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: 21:16.


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