llenguatge Java per escriure aplicacions que utilitzen les grans avantatges és que "una compilació, executa a tot arreu", però això no significa que tots els programes Java són característiques multi-plataforma, de fet, una part considerable del programa Java no està en els altres sistemes operatiuscorrectament, llavors, com es pot escriure una veritable plataforma creuada programa Java?La següent és la preparació de programes multiplataforma Java són algunes de les coses a tenir en compte:
Preparació de l'aplicació multi-plataforma Java, pot triar JDK1.0, 1.1,1.2, o donar suport a les seves eines de desenvolupament d'interfície gràfica d'usuari, com ara: JBuilder, Edat Visual per a Java, etc, sinó que ha de prestar atenció al seu programa Java només es pot utilitzar l'API de Java central paquetsSi voleu utilitzar paquet de la biblioteca de tercers, la biblioteca ha paquet desenvolupat pels paquets bàsics de Java, o procediments per a la posada en llibertat quan es té el suport dels paquets de biblioteques de classe Java JVM publicar.En altres paraules, el programa ha de ser 100% pur Java.A tall d'exemple, Visual J + + no és pur Java, Visual J + + programa no es pot escriure en una plataforma independent.
Ja sigui que vostè està utilitzant un JDK o altres eines de desenvolupament, en opcions de compilació ha d'estar obert a totes les advertències, de manera que el compilador pot ser tant com sigui possible l'afirmació que la plataforma, i li dóna una advertència.Encara que no hi advertències en temps de compilació no pot garantir que l'error ha de ser el programa de plataforma creuada, però el procediment és molt dolent amb les advertències poden ser no-independent de la plataforma.
En el programa quan s'utilitza un o altre mètode, per buscar en el document, assegureu-vos d'usar el mètode no està indicat en el document són els mètodes antiquats han estat (mètode obsolet), ni és implícita en el document no indica el mètode (mètode d'indocumentats).
Intenta no sortir del mètode el programa Java de sortida a utilitzar java.lang.System.formes de sortida per acabar la JVM, per acabar el programa, però si s'executa un altre programa Java, utilitzeu el mètode de sortida permetrà que el programa ha estat tancada, el que òbviament no és el que volem veure.Per sortir del programa Java, de fet, pot utilitzar destory () sortir d'un procés independent.Per als programes multi-fil, cal apagar tots els fils, no-daemon.Només quan el programa va sortir de l'única manera de sortir del programa per la sortida.
Eviteu l'ús de mètodes locals i els codis locals, en la mesura del possible a escriure les seves pròpies funcions amb la corresponent classe Java, reemplaçar aquest mètode.Si ha de usar els mètodes nadius, pot escriure un programa de servidor crida al mètode, a continuació, el programa ara va a escriure el programa com un programa de servidor de client, o considerar el CORBA (Common Object Request Broker) l'estructura del programa.
Java, Delphi en un winexec manera similar, java.lang.runtime mètode de classe executiu com el mètode en si és independent de la plataforma, però la crida al mètode per l'ordre i els paràmetres d'ordres estan associats amb la plataformaPer tant, en la preparació de programes per evitar, si volem trucar a altres programes, que han de permetre a l'usuari configurar l'ordre i els seus paràmetres.Per exemple, vostè pot trucar notepad.exe en el procediment de les finestres han de trucar a la vaig veure en linux en el programa.
Programació de tota la informació en el codi ha de fer servir conjunt de caràcters ASCII, ja que no tots els sistemes operatius de suport conjunt de caràcters Unicode, que per diverses plataformes programes Java no es pot dir de programari de la Xina és una mala notícia gran.
No fortament codificats en el programa, els constants associades a la plataforma, com el separador de línia, separador d'arxiu, separador de ruta, etc, en aquestes constants són diferents en diferents plataformes, com ara separador d'arxius, es troba en el UNIX i MAC"/" en les finestres és "", si voleu utilitzar aquestes constants, cal jdava.util.Properties mètodes de la classe getProperty, com java.util.Properties.getProperty ("file.separator") poden obtenir separador d'arxiu,getProperty ("line.separator") torna el separador de línia, getProperty ("path.separator") separador de via de retorn.
En l'elaboració d'aplicacions web multiplataforma, no utilitzeu gethostname classe java.net.InetAddress obtingut el nom de host, com el nom de host d'una plataforma diferent format és diferent, ser millor fer servir el GetAddress mateix format d'adreces IP, l'altra, el programaTots els noms de host ha de ser substituïda per l'adreça IP, com ara www.javafan.net necessari reemplaçar l'adreça IP corresponent.
Procediments relacionats amb operacions del fitxer Nota: No fortament codificats en la ruta de l'arxiu del programa, i 8, les mateixes raons, però això és particularment important, de manera que per separat.D'altra banda, les diferents plataformes per als caràcters de nom d'arxiu i els requisits màxim de fitxer nom de longitud són diferents, el temps per escriure el programa per utilitzar un caràcter general com el nom en codi ASCII de l'arxiu i no pot ser una plataforma del mateix nom ja existeix en el programa, en cas contrari esels conflictes.
Si el vostre programa és una aplicació gràfica escrita en l'ús dels components AWT no pot ser arbitràriament establir la mida i la ubicació del component ha d'utilitzar el gestor de disseny de Java (director de disseny) per configurar i administrar la mida i la ubicació dels components visuals, odistribució pot provocar el caos.
A causa de que diferents sistemes operatius, diferents màquines, el sistema és compatible amb el color i mida de la pantalla i la resolució són diferents, de com obtenir aquests atributs?Classe pot obtenir l'ús requerit de color java.awt.Systemcolor, com a marc de classe de finestra inactiveCaption en el títol de l'esdeveniment és el color de fons, el menú és el color de fons del menú.El GetScreenResolution pot utilitzar java.awt.Toolkit "píxels per polzada" com unitats de la resolució de pantalla de visualització.classe GetScreenSize pot obtenir la mida de la pantalla (polzades), loadSystemColors fer una llista de tots els colors del sistema.
Algunes d'aquestes consideracions de les referències, algunes de la seva llarga experiència en escriure programes Java, crec que el seu programa ajudarà a dissenyar