Java-språket til å skrive programmer som bruker de største fordelene er at «en samling, kjøre overalt", men dette betyr ikke at alle Java-programmer er plattformuavhengig, faktisk, er en betydelig del av Java-program ikke i den andre operativsystemerriktig, så hvordan kan skrive en virkelig kryssplattform Java-program?Følgende er utarbeidelsen av plattformer Java-programmer er noe av det å merke seg:
Utarbeidelse av plattformer Java applikasjon, kan du velge å JDK1.0, 1.1,1.2, eller støtte deres grafiske utviklingsverktøy som: JBuilder, Visual Age for Java, etc., men må ta hensyn til din Java-programmet kan bare bruke Java kjerne API pakkerHvis du ønsker å bruke tredjeparts bibliotek pakken, bør biblioteket pakken utviklet av Java core pakker, eller prosedyrer for utgivelsen når du har støtte fra Java klassen biblioteket pakker JVM publisere.Med andre ord, trenger program til å være 100% ren Java.Som et eksempel, er Visual J + + ikke ren Java, Visual J + +-programmet kan ikke være skrevet i plattformuavhengig.
Enten du bruker en JDK eller andre utviklingsverktøy, ved kompilering alternativer skal være åpen alle advarsler, så kan kompilatoren være så mye som mulig i utsagnet om at plattformen, og gir en advarsel.Selv om det ikke er kompilering-time advarsler kan ikke garantere at feilen skal være plattformuavhengig program, men prosedyren er veldig galt med advarsler kan være ikke-plattform-uavhengig.
I programmet når du bruker én metode, å se inn i dokumentet, må du bruke denne metoden ikke er angitt i dokumentet er utdatert metoder har vært (avlegs metode), eller er det implisitt i dokumentet angir ikke metoden (Udokumentert metode).
Prøv ikke å gå ut av Java-programmets exit metode å bruke java.lang.System.Avslutt måter å avslutte JVM, for å avslutte programmet, men hvis kjører et annet Java-program, bruke avslutte metoden vil tillate programmet har vært stengt, noe som er åpenbart ikke det vi ønsker å se.Å gå ut av Java-program faktisk, kan du bruke destory () avslutte en frittstående prosess.For multi-threaded programmer, må vi slå av alle ikke-daemon tråden.Bare når programmet gått ut eneste måten å avslutte programmet ved å bruke exit.
Unngå å bruke lokale metoder og forskrifter, så langt som mulig å skrive dine egne funksjoner med tilsvarende Java klassen, overstyrer denne metoden.Hvis du må bruke native metoder, kan du skrive en server program kaller metoden, og så programmet vil nå skrive server-programmet som en klient program, eller vurdere CORBA (Common Object Request Broker) programstruktur.
Java, Delphi på en lignende måte winexec, java.lang.runtime klasse exec metode som selve metoden er uavhengig av plattform, men metoden samtalen til kommandoen og kommandoparametere er forbundet med plattformenDerfor, i utarbeidelsen av programmer unngå, hvis vi ønsker å kalle andre programmer, må de la brukeren til å sette kommandoen og dens parametre.For eksempel, kan du ringe Notepad.exe i vinduene prosedyren bør ringe vi i linux i programmet.
Programmering all informasjon i koden må bruke ASCII-tegnsettet, fordi ikke alle operativsystemer støtter Unicode-tegnsettet, som for plattformuavhengig Java-programmer ikke kan sies om kinesisk programvare er en stor dårlige nyheter.
Ikke hardkodet i programmet, eventuelle konstanter knyttet til plattformen, for eksempel linjen separator, fil separator, bane separator, etc., i disse konstantene er forskjellige på ulike plattformer, slik som fil skilletegn, er i UNIX og MAC"/" i windows er "", hvis du ønsker å bruke disse konstantene, må du jdava.util.Properties klasse getProperty metoder, slik som java.util.Properties.getProperty ("file.separator") kan få filen separator,getProperty ("line.separator") returnerer linjen separator, getProperty ("path.separator") returvei separator.
I utarbeidelsen av plattformer web-applikasjoner, ikke bruk java.net.InetAddress klassen getHostName fått vertsnavn, som vert navnet på en annen plattform format er annerledes, være bedre å bruke samme format getAddress IP-adresse, det andre, programmetAlle vertsnavnet bør erstattes av IP-adresse, for eksempel www.javafan.net nødvendig å erstatte den tilsvarende IP-adressen.
Prosedyrer knyttet til filoperasjoner Merk: Ikke hardkodet i programmet filbanen, og 8, av samme grunn, men dette er særlig viktig, så separat.Dessuten, de ulike plattformene som brukes for filnavn tegn og maks filnavnet lengde er forskjellig, til den tid skrive programmet til å bruke ASCII koden tegn som den generelle navnet på filen og kan ikke være en plattform samme navn allerede finnes i programmet, ellers vil denkonflikt.
Hvis programmet er et GUI program skrevet i bruk av AWT komponenter kan ikke være vilkårlig satt størrelsen og plasseringen av komponenten bør bruke Java's layout manager (layout manager) til å sette opp og håndtere størrelsen og plasseringen av visuelle komponenter, elleroppsettet kan føre til forvirring.
Fordi ulike operativsystemer, ulike maskiner, støtter systemet farge og skjermstørrelse og oppløsning er forskjellige, hvordan å få disse attributtene?Klasse kan få den nødvendige bruk av java.awt.Systemcolor farger, for eksempel klasse inactiveCaption vindusramme i tilfelle tittelen er bakgrunnsfargen, er menyen menyen bakgrunnsfargen.Det getScreenResolution kan bruke java.awt.Toolkit "piksler per tomme" som enheter på skjermen skjermoppløsningen.GetScreenSize klassen kan få skjermstørrelse (tommer), kan loadSystemColors liste alle systemet fargene.
Noen av disse vurderingene fra referanser, noen av hans lange erfaring i å skrive Java-programmer, tror jeg programmet ditt vil hjelpe design