Java-Sprache, um Anwendungen mit der größten Vorteile zu schreiben, ist, dass "eine Compilation, überall laufen", aber dies bedeutet nicht, dass alle Java-Programme Cross-Plattform-Funktionen sind in der Tat, ist ein erheblicher Teil der Java-Programm nicht in den anderen Betriebssystemenrichtig, wie kann dann schreiben Sie eine wirklich plattformübergreifende Java-Programm?Das Folgende ist die Herstellung von Cross-Plattform Java-Programme sind nur einige der Dinge zu beachten:
Herstellung von Cross-Plattform Java-Anwendung können Sie auf JDK1.0, 1.1,1.2 wählen oder unterstützen ihre GUI Entwicklungstools wie: JBuilder, Visual Age for Java, etc., sondern muss die Aufmerksamkeit auf Ihr Java-Programm kann nur die Java-Kern-API-Paketen zahlenWenn Sie auf fremde Bibliothek Paket, die Bibliothek Paket auch von der Java-Core-Pakete entwickelt, oder Verfahren für die Freigabe verwenden möchten, wenn Sie die Unterstützung der Java-Klassenbibliothek Pakete JVM zu veröffentlichen.Mit anderen Worten, muss Ihr Programm zu 100% pure Java.Als Beispiel ist Visual J + + nicht reine Java, Visual J + +-Programm kann nicht in plattformunabhängig geschrieben werden.
Ob Sie mit einem JDK oder andere Entwicklungswerkzeuge sind, bei der Kompilierung Optionen offen stehen sollten alle Warnungen, so dass der Compiler werden so weit wie möglich die Aussage, dass Plattform und gibt eine Warnung aus.Obwohl es keine Compiler-Warnungen nicht garantieren kann, dass der Fehler müssen Cross-Plattform-Programm sein, aber das Verfahren ist sehr falsch mit Warnungen können plattform-unabhängig.
Auf dem Programm bei der Verwendung von einem Verfahren, in das Dokument ansehen, stellen Sie sicher, die Methode ist nicht angegeben in dem Dokument ist veraltet Methoden wurden (Veraltet Methode), noch ist es implizit in dem Dokument gibt nicht die Methode (undokumentierte Methode).
Versuchen Sie nicht, das Java-Programm die Exit-Methode zu verwenden java.lang.System verlassen.Exit Möglichkeiten, die JVM zu beenden, das Programm zu beenden, aber wenn ein anderes Java-Programm ausführen, verwenden Sie Exit-Methode wird das Programm geschlossen wurde, was natürlich nicht das, was wir sehen wollen ermöglichen.Zum Beenden des Java-Programms in der Tat, können Sie destory () verlassen Stand-alone-Prozess.Für Multi-Threaded-Programme, müssen wir ausschalten alle Nicht-Daemon-Thread.Nur wenn das Programm nur so, um das Programm über die Ausfahrt Ausfahrt verlassen.
Vermeiden Sie die Verwendung lokaler Methoden und örtlichen Vorschriften, soweit möglich, eigene Funktionen mit den entsprechenden Java-Klasse schreiben, diese Methode überschreiben.Wenn Sie die nativen Methoden verwenden müssen, können Sie einen Server-Programm ruft die Methode, und dann wird das Programm jetzt schreiben das Server-Programm wie ein Client-Programm, oder zu prüfen, die CORBA (Common Object Request Broker) Programmstruktur.
Java, Delphi in ähnlicher Weise WinExec, java.lang.runtime Klasse Exec-Methode als die Methode selbst ist unabhängig von Plattform, aber die Methode aufrufen, um den Befehl Befehl und Parameter werden mit der Plattform verbundenDeshalb an der Vorbereitung von Programmen zu vermeiden, wenn wir zu anderen Programmen, sie dem Benutzer das Kommando und seine Parameter lassen müssen nennen wollen.Zum Beispiel, können Sie notepad.exe in den Fenstern Verfahren sollte der vi unter Linux im Programm aufrufen.
Programmierung alle Informationen in den Code zu ASCII-Zeichensatz verwenden, da nicht alle Betriebssysteme Unicode-Zeichensatz, der für die Cross-Plattform Java-Programme nicht der chinesischen Software kann gesagt werden, ist eine große schlechte Nachricht zu unterstützen.
Nicht schwer im Programm codiert, alle Konstanten mit der Plattform verbunden sind, wie die Linie Separator, Separator-Datei, Pfad-Separator, etc., in dieser Konstanten gibt verschiedene auf unterschiedlichen Plattformen, wie zum Beispiel Datei Separator wird in den UNIX-und MAC"/" in Windows ", wenn Sie diese Konstanten verwenden möchten, müssen Sie jdava.util.Properties Klasse getProperty Methoden, wie java.util.Properties.getProperty (" file.separator ") können Datei-Separator zu bekommen,getProperty ("line.separator") gibt den Zeilentrenner, getProperty ("path.separator") Rückweg Separator.
Bei der Herstellung von Cross-Plattform-Web-Anwendungen, verwenden Sie nicht java.net.InetAddress Klasse gethostname erhalten Host-Name, wegen der unterschiedlichen Plattformen verschiedener Host-Namen-Format ist am besten zu verwenden getAddress erhalten die gleiche IP-Adresse-Format, das andere, das ProgrammAlle Hostname müssen durch IP-Adresse ersetzt werden, wie www.javafan.net erforderlich, die entsprechende IP-Adresse zu ersetzen.
Verfahren im Zusammenhang mit Operationen Datei Hinweis: Nicht hart im Programm Dateipfad codiert und 8, aus den gleichen Gründen, aber dies ist besonders wichtig, so getrennt.Auch die verschiedenen Plattformen für Dateinamen Zeichen und die maximale Länge des Dateinamens Anforderungen sind unterschiedlich, um die Zeit schreib Programm in ASCII-Code-Zeichen als der allgemeine Name der Datei verwendet und kann nicht eine Plattform den gleichen Namen existiert bereits in das Programm werden, sonst wird esKonflikt.
Wenn Ihr Programm ist ein GUI-Programm bei der Verwendung von AWT-Komponenten geschrieben kann nicht beliebig festgelegt werden die Größe und Lage des Bauteils sollte Java-Layout-Manager (Layout-Manager) verwenden, um die Gründung und Leitung der Größe und Lage der visuellen Komponenten, oderdas Layout können Verwirrung stiften.
Da unterschiedliche Betriebssysteme, unterschiedliche Maschinen, unterstützt das System Farbe und Bildschirmgröße und Auflösung sind unterschiedlich, wie man diese im Internet zu erhalten?Klasse können die erforderlichen Einsatz von java.awt.Systemcolor Farbe, wie Klasse inactiveCaption Fensterrahmen im Titel der Veranstaltung erhalten, ist die Hintergrundfarbe, Menü wird das Menü Hintergrundfarbe.Die getScreenResolution können java.awt.Toolkit "Pixel pro Zoll" als Einheiten der Bildschirm-Auflösung.GetScreenSize Klasse kann man die Bildschirmgröße (Zoll), loadSystemColors können alle Systemfarben Liste.
Einige dieser Überlegungen aus der Referenzen, einige seiner langjährigen Erfahrung im Schreiben von Java-Programmen, ich glaube, Ihr Programm-Design helfen