Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale
Forte di soluzioni tecniche specifiche, il notebook Acer TravelMate P4 14 abbina dimensioni compatte e buona robustezza per rispondere alle necessità specifiche degli utenti aziendali. La piattaforma AMD Ryzen 7 Pro assicura prestazioni elevate con i tipici ambiti di produttività personale e sul lavoro, mantenendo un'elevata autonomia.
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque
Dal salotto al giardino, il nuovo proiettore laser di Hisense promette esperienze cinematografiche in qualsiasi contesto: qualità d’immagine, semplicità d’uso, versatilità e prezzo competitivo il suo poker d'assi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-09-2011, 22:00   #1
DeltaDirac
Senior Member
 
L'Avatar di DeltaDirac
 
Iscritto dal: Jan 2007
Città: Firenze
Messaggi: 2906
[Java] richiamare classi specifiche dal jar [Risolto]

Come posso creare un package jar (o zip) che contenga delle classi richiamabili da linea di comando?

Esempio: voglio creare l'archivio calcola.zip che contenga almeno due classi somma.class e sottrai.class.

Vorrei poter usare l'archivio con una chiamata del tipo:

Codice:
java -cp calcola.zip somma  2 3
piuttosto che:
Codice:
java -cp calcola.zip sottrai  10 5
e vedere il risultato (chissà perchè mi aspetto 5 e 5)

Ovviamente le due classi hanno entrambe un metodo main()

Con Netbeans riesco ad impostare solo una classe main attiva, e quindi il jar file generato contiene o l'una o l'altra classe eseguibile, mentre da linea di comando non riesco a far nulla di buono.

__________________

Alla povertà mancano molte cose, all'avarizia tutte.

Ultima modifica di DeltaDirac : 21-09-2011 alle 09:41. Motivo: Risolto
DeltaDirac è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2011, 00:27   #2
Floris
Senior Member
 
L'Avatar di Floris
 
Iscritto dal: Jan 2007
Messaggi: 2267
Non puoi recuperare gli argomenti della linea di comando dall'array String[] args passato alla funzione main?
Troveresti in prima posizione "somma" o "differenza" da cui puoi decidere cosa fare. Ti crei una classe che utilizza le altre due, somma e sottrazione.
__________________
Concluso con:...
Floris è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2011, 06:33   #3
DeltaDirac
Senior Member
 
L'Avatar di DeltaDirac
 
Iscritto dal: Jan 2007
Città: Firenze
Messaggi: 2906
Quote:
Originariamente inviato da Floris Guarda i messaggi
Non puoi recuperare gli argomenti della linea di comando dall'array String[] args passato alla funzione main?
Troveresti in prima posizione "somma" o "differenza" da cui puoi decidere cosa fare. Ti crei una classe che utilizza le altre due, somma e sottrazione.
Ciao Floris,

in realtà si: potrei fare come dici.

Però ho alcuni eseguibili che funzionano esattamente come detto: si lancia il bytecode con java -cp dal quale si evoca la classe voluta e quindi gli argomenti, e mi sono chiesto come sia realizzabile tutto ciò.

Vorrei capire meglio i meccanismi di gestione delle classi con metodi main() multipli nello stesso package.
Son di coccio, lo so
__________________

Alla povertà mancano molte cose, all'avarizia tutte.
DeltaDirac è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2011, 08:19   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da DeltaDirac Guarda i messaggi
Però ho alcuni eseguibili che funzionano esattamente come detto: si lancia il bytecode con java -cp dal quale si evoca la classe voluta e quindi gli argomenti, e mi sono chiesto come sia realizzabile tutto ciò.
Scusa, puoi postare due o tre esempi di queste invocazioni da riga di comando?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2011, 09:04   #5
DeltaDirac
Senior Member
 
L'Avatar di DeltaDirac
 
Iscritto dal: Jan 2007
Città: Firenze
Messaggi: 2906
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Scusa, puoi postare due o tre esempi di queste invocazioni da riga di comando?
Sono esattamente quelli riportati nel primo messaggio:

Codice:
java -cp calcola.zip somma  2 3
piuttosto che:
Codice:
java -cp calcola.zip sottrai  10 5
I sorgenti hanno ognuno un metodo main() in modo da renderli eseguibili
__________________

Alla povertà mancano molte cose, all'avarizia tutte.
DeltaDirac è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2011, 09:51   #6
DeltaDirac
Senior Member
 
L'Avatar di DeltaDirac
 
Iscritto dal: Jan 2007
Città: Firenze
Messaggi: 2906
Era più semplice di quel che immaginassi:

1) si compilano i sorgenti delle classi ognuna col proprio metodo main():
Quote:
javac classe_1.java classe_2.java... classe_n.java
2) si crea il file jar con:
Quote:
jar -cf pack.jar classe_1.class classe_2.class... classe_n.class
3) si evocano le classi dal jar per nome usando l'opzione -cp :
Quote:
java -cp pack.jar classe_1 <parametri classe_1>
java -cp pack.jar classe_2 <parametri classe_2>
Ma funziona solo con classi "allo stesso livello" e che non appartengono ad altri packages.

That's all. Good for newbie as me
__________________

Alla povertà mancano molte cose, all'avarizia tutte.

Ultima modifica di DeltaDirac : 21-09-2011 alle 21:29.
DeltaDirac è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il c...
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Xbox: dal prossimo mese verifica dell'id...
Corsair AI Workstation 300: poco pi&ugra...
Addio a Elio Marioli, un pioniere della ...
L'IA sta già diminuendo il potere...
Guida autonoma? Gli ADAS falliscono e in...
Skechers lancia le scarpe per bambini co...
Revolut e Audi F1: un’alleanza rivoluzio...
Gestione attività di Windows 11 d...
Amazon lancia il nuovo videocitofono Bli...
Robot aspirapolvere al top: i nuovi DEEB...
Opera vs Microsoft: la guerra dei browse...
Router e ripetitori FRITZ! in offerta su...
Spotify vola a quota 700 milioni di uten...
Microsoft pronta ad abbandonare il launc...
Windows 11, arriva una feature multimoni...
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: 00:15.


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