Senior Java programmering: cross-platform programmer skrevet note



Java-sproget til at skrive programmer, der bruger de største fordele er, at "en samling, skal du køre overalt", men dette betyder ikke, at alle Java-programmer er cross-platform funktioner, i virkeligheden er en væsentlig del af Java programmet ikke i de andre operativsystemerkorrekt, så hvordan kan skrive en virkelig cross-platform Java program?Følgende er udarbejdelse af cross-platform Java-programmer er nogle af de ting at bemærke:

Udarbejdelse af cross-platform Java-program, kan du vælge at JDK1.0, 1.1,1.2, eller støtter deres GUI udviklingsværktøjer såsom: Jbuilder, Visual Age for Java, osv., men skal være opmærksom på dine Java-programmet kan kun bruge Java kernen API-pakkerHvis du ønsker at bruge tredjeparts bibliotek pakke, bør biblioteket pakken er udviklet af Java kerne-pakkerne, eller procedurer for frigivelse, når du har støtte af Java klassebiblioteker pakker JVM offentliggøre.Med andre ord, skal dit program at være 100% ren Java.Som et eksempel, er Visual J + + ikke ren Java, Visual J + +-programmet kan ikke være skrevet i platform-uafhængige.

Uanset om du bruger en JDK eller andre udviklingsværktøjer, påkompileringstidspunktet muligheder bør være åbne alle advarsler, så kan compileren være så meget som muligt erklæring om, at platformen, og giver en advarsel.Selv om der er nogen compile-tid advarsler kan ikke garantere, at fejlen skal være på tværs af platforme program, men proceduren er meget galt med advarsler kan være ikke-platform-uafhængige.

I programmet, når du bruger nogen metode, til at se ind i dokumentet, at du bruger den metode er ikke angivet i dokumentet gøre, er forældede metoder har været (Forældet metode), er heller ikke implicit i dokumentet ikke angiver den metode (Udokumenteret metode).

Prøv ikke at afslutte Java programmet exit metode at bruge java.lang.System.Afslut måder at afslutte JVM, for at afslutte programmet, men hvis køre et andet Java-program, kan du bruge exit metode vil give mulighed for programmet er blevet lukket, hvilket naturligvis ikke er, hvad vi ønsker at se.For at afslutte Java-programmet i virkeligheden, kan du bruge destory () exit en stand-alone proces.Til multi-threaded programmer, må vi slukke alle ikke-daemon tråd.Kun når programmet forlades eneste måde at afslutte programmet ved hjælp af exit.

Undgå at bruge lokale metoder og lokale koder, så vidt muligt at skrive dine egne funktioner med den tilsvarende Java klassen, tilsidesætte denne metode.Hvis du skal bruge den indfødte metoder, kan du skrive en server-program kalder metoden, og programmet vil nu skrive server-programmet som en klient program, eller overveje CORBA (Common Object Request Broker) program struktur.

Java, Delphi i en lignende måde winexec, java.lang.runtime klasse exec metoden som selve metoden er uafhængig af platform, men den metode kaldet til kommandoen og kommando parametre er forbundet med platformenDerfor kan man i forberedelsen af programmerne undgå, hvis vi ønsker at kalde andre programmer, skal de lade brugeren at indstille kommandoen og dens parametre.For eksempel kan du ringe notepad.exe i vinduerne procedure bør kalde vi i linux i programmet.

Programmering alle oplysninger i koden er nødt til at bruge ASCII tegnsættet, fordi ikke alle operativsystemer understøtter Unicode tegnsæt, der for cross-platform Java-programmer kan ikke siges om kinesisk software er en stor dårlig nyhed.

Må ikke hårdt kodet i programmet, nogen konstanter i forbindelse med platformen, som linje separator, fil separator, sti separator, osv., i disse konstanter er forskellige på forskellige platforme, såsom fil separator, er i UNIX-og MAC"/" i windows er "", hvis du ønsker at bruge disse konstanter, skal du jdava.util.Properties klasse getProperty metoder, såsom java.util.Properties.getProperty ("file.separator") kan få fil separator,getProperty ("line.separator") returnerer den linje separator, getProperty ("path.separator") returvej separator.

I forbindelse med udarbejdelsen af cross-platform webprogrammer, skal du ikke bruge java.net.InetAddress klasse getHostName fremstillet værtsnavn, på grund af de forskellige platforme for forskellige værtsnavn format er bedst at bruge getAddress får den samme IP-adresse format, den anden, programmetAlle værtsnavnet bør erstattes af IP-adresse, f.eks www.javafan.net nødvendigt at erstatte de tilsvarende IP-adresse.

Procedurer i forbindelse med fil operationer Bemærk: Du må ikke hårdt kodet i programmet filstien, og 8, af samme grunde, men dette er særlig vigtigt, så hver for sig.Hertil kommer, at forskellige platforme, der anvendes til filnavnet tegn, og den maksimale filnavnet længde krav er forskellige, til den tid skrive dit program til at bruge en generel karakter som ASCII-koden navnet på filen, og kan ikke være en platform med samme navn findes allerede i programmet, ellers vil detkonflikt.

Hvis dit program er en GUI program skrevet i brugen af AWT komponenter kan ikke være vilkårligt fastsat størrelse og placering af komponenten skal bruge Java's layout manager (layout manager) til at oprette og administrere størrelsen og placeringen af visuel komponenter, ellerlayout kan skabe forvirring.

Fordi forskellige operativsystemer, forskellige maskiner, støtter systemet farve og skærmstørrelse og opløsning er forskellige, hvordan du kan få disse attributter?Klasse kan få den nødvendige brug af java.awt.Systemcolor farver, såsom klasse inactiveCaption er den begivenhed titlen i vinduesrammen baggrundsfarven, menuen er menuen baggrundsfarve.Det getScreenResolution kan bruge java.awt.Toolkit "pixels per inch" som enheder på skærmen skærmopløsning.GetScreenSize klasse kan få den skærmstørrelse ("), kan loadSystemColors liste alle systemets farver.

Nogle af disse overvejelser fra referencer, nogle af hans lange erfaring i at skrive Java-programmer, jeg tror, at Deres program vil hjælpe med at designe