Principal de programmation Java: les programmes multi-plateforme note écrite



langage Java pour écrire des applications utilisant les plus grands avantages est que "une compilation, exécutez partout", mais cela ne signifie pas que tous les programmes Java sont des caractéristiques multi-plateforme, en fait, une partie considérable du programme Java n'est pas dans les autres systèmes d'exploitationcorrectement, alors comment pouvez écrire un véritable multi-plateforme Java programme?Ce qui suit est la préparation du contre-plate-forme de programmes Java sont quelques-unes des choses à noter:

Préparation du cross plate-forme d'application Java, vous pouvez choisir de JDK1.0, 1.1,1.2, ou soutenir leurs outils de développement graphiques comme: Jbuilder, Visual Age pour Java, etc, mais faut faire attention à votre programme Java ne peut utiliser le Java de base paquets APISi vous voulez utiliser le paquet bibliothèque tierce, le paquet de la bibliothèque a également mis au point par les paquets de base Java, ou procédures de mise lorsque vous avez le soutien de packages Java la bibliothèque de classes JVM publier.En d'autres termes, votre programme doit être 100% pur Java.A titre d'exemple, Visual J + + n'est pas pur Java, Visual J + + programme ne peut pas être écrit dans la plate-forme indépendante.

Que vous utilisiez un JDK ou autres outils de développement, à des options de compilation de temps devrait être ouverte tous les avertissements, de sorte que le compilateur ne peut être autant que possible l'affirmation selon laquelle la plate-forme, et donne un avertissement.Bien qu'il n'existe pas de compilation avertissements ne peut garantir que l'erreur doit être du programme multi-plateforme, mais la procédure est très mal avec les alertes peuvent être non-indépendant de la plateforme.

Dans le programme lors de l'utilisation ou l'autre méthode, de se pencher sur le document, assurez-vous d'utiliser la méthode n'est pas mentionné dans le document sont les méthodes obsolètes ont été (méthode dépréciée), il n'est pas implicite dans le document n'indique pas la méthode (méthode sans-papiers).

Essayez de ne pas quitter la méthode de quitter le programme Java d'utiliser java.lang.System.Exit les moyens de mettre fin à la JVM, pour terminer le programme, mais si exécuter un autre programme Java, la méthode de sortie permettra l'utilisation du programme a été fermé, ce qui n'est évidemment pas ce que nous voulons voir.Pour quitter le programme Java, en fait, vous pouvez utiliser destory () la sortie d'un processus autonome.Pour les programmes multi-thread, il faut désactiver tous les fils non-daemon.Ce n'est que lorsque le programme est sorti seul moyen pour quitter le programme en utilisant la sortie.

Évitez d'utiliser des méthodes locales et aux codes locaux, autant que possible d'écrire vos propres fonctions avec la classe Java correspondante, substituer cette méthode.Si vous devez utiliser les méthodes natives, vous pouvez écrire un programme serveur appelle la méthode, puis le programme va maintenant écrire le programme du serveur comme un programme client, ou d'examiner la structure du programme CORBA (Common Object Request Broker).

Java, Delphi dans un winexec la même manière, java.lang.runtime méthode de classe exec que la méthode elle-même est indépendante de la plate-forme, mais l'appel de méthode à la commande et les paramètres de commande sont associés à la plate-formePar conséquent, dans la préparation de programmes afin d'éviter, si nous voulons appeler d'autres programmes, ils doivent laisser à l'utilisateur de définir la commande et ses paramètres.Par exemple, vous pouvez appeler notepad.exe dans la procédure de fenêtres doit appeler la vi sous Linux dans le programme.

Programmation toute l'information dans le code doivent utiliser le jeu de caractères ASCII, parce que tous les systèmes d'exploitation soutien jeu de caractères Unicode, qui, pour des programmes multi-plateforme Java ne peut pas en dire autant des logiciels chinois est un grand méchant nouvelles.

Ne pas codées en dur dans le programme, les constantes associées à la plate-forme, tels que le séparateur de ligne, le séparateur de fichier, séparateur de chemin, etc, dans ces constantes sont différents sur différentes plates-formes, comme séparateur de fichier, est dans le monde UNIX et MAC"/" dans les fenêtres est "", si vous souhaitez utiliser ces constantes, dont vous avez besoin jdava.util.Properties méthodes getProperty classe, tels que java.util.Properties.getProperty ("File.separator») peut obtenir séparateur de fichier,getProperty ("line.separator") renvoie le séparateur de ligne, getProperty ("path.separator") séparateur de voie de retour.

Dans la préparation des applications Web multi-plate-forme, ne pas utiliser gethostname classe java.net.InetAddress obtenu le nom d'hôte, comme le nom d'hôte d'un format autre plate-forme est différente, être mieux d'utiliser le même format getAddress adresse IP, l'autre, le programmeTous le nom d'hôte doit être remplacé par l'adresse IP, tels que www.javafan.net nécessaire de remplacer l'adresse IP correspondante.

Procédures relatives aux opérations sur les fichiers Note: Ne pas codées en dur dans le chemin du fichier du programme, et 8, les mêmes raisons, mais cela est particulièrement important, de façon séparée.En outre, les différentes plateformes utilisées pour les caractères nom du fichier et les conditions maximales de nom de fichier de longueur sont différents, le temps d'écrire votre programme pour utiliser des caractères de code ASCII comme le nom générique du fichier et ne peut pas être une plate-forme du même nom existe déjà dans le programme, sinon il seraconflit.

Si votre programme est une application graphique écrite en l'utilisation de composants AWT ne peut pas être fixé arbitrairement la taille et l'emplacement de l'élément doit utiliser le gestionnaire de mise en page de Java (layout manager) de mettre en place et de gérer la taille et l'emplacement des composants visuels, oula mise en page peut prêter à confusion.

Parce que les systèmes d'exploitation différents, différentes machines, le système prend en charge la couleur et taille de l'écran et la résolution sont différentes, la façon d'obtenir ces attributs?Classe pouvez obtenir l'utilisation obligatoire de la couleur java.awt.Systemcolor, comme inactiveCaption classe est le titre de l'événement dans la couleur de fond de cadre de fenêtre, le menu est la couleur de fond du menu.Le getScreenResolution pouvez utiliser java.awt.Toolkit "pixels par pouce» comme des unités de la résolution d'écran d'affichage.GetScreenSize classe peut obtenir la taille de l'écran (pouces), loadSystemColors liste de toutes les couleurs système.

Certaines de ces considérations à partir des références, certains de sa longue expérience dans l'écriture de programmes Java, je crois que votre programme va contribuer à la conception