linguaggio Java per scrivere applicazioni che utilizzano il più grande vantaggio è che "una raccolta, eseguire ovunque", ma questo non significa che tutti i programmi Java sono funzionalità cross-platform, in effetti, una parte considerevole del programma Java non è in altri sistemi operativicorrettamente, quindi come si può scrivere un vero cross-platform programma Java?Quello che segue è la preparazione di cross-platform programmi Java sono alcune delle cose da notare:
Preparazione di un programma multipiattaforma Java, è possibile scegliere di JDK1.0, 1.1,1.2, o sostenere i loro strumenti di sviluppo GUI come: JBuilder, Visual Age for Java, ecc, ma deve prestare attenzione al tuo programma Java può utilizzare solo il nucleo pacchetti Java APISe si vuole usare il pacchetto libreria di terze parti, la biblioteca dovrebbe pacchetto sviluppato da pacchetti fondamentali di Java, o le procedure per il rilascio quando si ha il supporto dei pacchetti di libreria di classi Java JVM pubblicare.In altre parole, il programma deve essere al 100% puro Java.Ad esempio, Visual J + + non è puro Java, Visual J + + programma non può essere scritto in indipendenti dalla piattaforma.
Sia che si utilizzi un JDK o altri strumenti di sviluppo, in fase di compilazione delle opzioni di tempo dovrebbe essere aperto tutti i warning, per cui il compilatore può essere il più possibile l'affermazione che la piattaforma, e dà un avvertimento.Sebbene non ci sia in fase di compilazione avvisi non può garantire che l'errore deve essere programma cross-platform, ma la procedura è molto sbagliato con avvisi potrebbe non essere indipendente dalla piattaforma.
Nel programma quando si utilizza uno qualsiasi metodo, a guardare nel documento, assicurarsi di utilizzare il metodo non è indicato nel documento sono metodi obsoleti sono stati (metodo obsoleto), né è implicito nel documento non indica il metodo (metodo non documentato).
Cercate di non uscire metodo uscire dal programma Java per utilizzare java.lang.System.Esci modi di porre fine alla JVM, di interrompere il programma, ma se eseguire un altro programma Java, uscita metodo utilizzare consentirà il programma è stato chiuso, che ovviamente non è quello che vogliamo vedere.Per uscire dal programma Java, infatti, è possibile utilizzare destory () uscire da un processo di stand-alone.Per i programmi multi-threaded, dobbiamo disattivare tutte thread non demone.Solo quando il programma è uscito solo modo per uscire dal programma utilizzando l'uscita.
Evitare l'uso di metodi locali e codici locali, per quanto possibile scrivere funzioni personalizzate con la classe corrispondente Java, eseguire l'override di questo metodo.Se è necessario utilizzare i metodi nativi, è possibile scrivere un programma server chiama il metodo, e poi il programma sarà ora scrivere il programma server come un programma client, o considerare la (Common Object Request Broker) struttura del programma CORBA.
Java, Delphi WinExec in un modo simile, java.lang.Runtime metodo di classe exec come il metodo è di per sé indipendente dalla piattaforma, ma la chiamata di metodo al comando e parametri del comando sono associati con la piattaformaPertanto, nella preparazione dei programmi per evitare, se vogliamo chiamare altri programmi, devono permettere all'utente di impostare il comando ei suoi parametri.Ad esempio, è possibile chiamare notepad.exe nella procedura Windows dovrebbe chiamare il VI in linux nel programma.
Programmazione di tutte le informazioni nel codice è necessario utilizzare il set di caratteri ASCII, perché non tutti i sistemi operativi supportano set di caratteri Unicode, che per il cross-platform programmi Java non si può dire del software cinese è una grande notizia cattiva.
Non hard coded nel programma, le costanti associate con la piattaforma, come la linea di separazione, separatore di file, il separatore di percorso, ecc, in queste costanti sono differenti su differenti piattaforme, come separatore di file, è in UNIX e MAC"/" in Windows è "", se si desidera utilizzare queste costanti, è necessario jdava.util.Properties metodi getProperty classe, come java.util.Properties.getProperty ("file.separator") può ottenere separatore di file,getProperty ("line.separator") restituisce la linea di separazione, getProperty ("path.separator") separatore di percorso di ritorno.
Nella preparazione di applicazioni web cross-platform, non utilizzare gethostname java.net.InetAddress classe ottenuta nome host, come il nome host di un formato differente piattaforma è diversa, sarebbe meglio utilizzare lo stesso formato getAddress indirizzo IP, l'altro, il programmaTutto il nome host dovrebbero essere sostituite da indirizzo IP, come www.javafan.net necessario sostituire l'indirizzo IP corrispondente.
Procedure per le operazioni di file Nota: non hard coded nel percorso del file di programma, e 8, le stesse ragioni, ma questo è particolarmente importante, separatamente.Inoltre, le diverse piattaforme utilizzate per caratteri di nomi di file e il massimo Requisiti dei file lunghezza del nome sono diverse, il tempo di scrivere il programma per utilizzare un carattere generale, come il nome in codice ASCII del file e non può essere una piattaforma lo stesso nome esiste già nel programma, altrimenticonflitto.
Se il programma è un programma scritto in GUI l'utilizzo di componenti AWT non può essere arbitrariamente impostare la dimensione e la posizione della componente dovrebbe utilizzare gestore di layout di Java (gestore di layout) per impostare e gestire la dimensione e la posizione dei componenti visive, oil layout può causare confusione.
Perché diversi sistemi operativi, macchine diverse, il sistema supporta il colore e la dimensione dello schermo e la risoluzione sono diverse, come ottenere questi attributi?Class possono ottenere l'uso del colore richiesto java.awt.Systemcolor, quali il titolo di classe evento inactiveCaption nel telaio della finestra è il colore di sfondo, il menu è il colore di sfondo del menu.The getScreenResolution può utilizzare java.awt.Toolkit "pixel per pollice", come unità della risoluzione dello schermo di visualizzazione.classe GetScreenSize possibile ottenere la dimensione dello schermo (pollici), loadSystemColors può elencare tutti i colori di sistema.
Alcune di queste considerazioni dai riferimenti, alcuni dei suoi lunga esperienza nella scrittura di programmi Java, credo che il programma contribuirà a progettare