Senior JAVA programovanie: cross-platformové programy písané poznámky



Jazyka Java písať aplikácie používajúce najväčších výhod je, že ", kompilácii spustiť všade", ale to neznamená, že všetky Java programy sú cross-platformové rysy, v skutočnosti značná časť programu v jazyku Java nie je v iných operačných systémochsprávne, tak ako je možné napísať skutočne cross-platformové Java program?Nasleduje príprava cross-platformové Java programy sú niektoré z vecí, na vedomie:

Príprava cross-platformové aplikácie Java, môžete si vybrať na JDK1.0, 1.1,1.2, alebo podporujú ich rozvoj GUI nástrojov, ako sú: JBuilder, Visual vek pre Javu, atď, ale musí dávať pozor, aby váš program v jazyku Java možno použiť len jadro Java API balíkyAk chcete používať tretej-party knižnice balík, knižnice balíček tiež vyvinula základné balíky Java, alebo postupy pre uvoľnenie, keď máte podporu v triede balíčkov Java knižnice JVM publikovať.Inými slovami, váš program musí byť 100% čistej Java.Ako príklad, Visual J + + nie je čistá Java, Visual J + + program nemôže byť napísaný v platforme-nezávislý.

Či už používate JDK alebo iné vývojové nástroje, v čase kompilácie možnosti by mali byť otvorené všetkým varovaniam, takže kompilátor byť čo najviac vyhlásenie, že platforma, a dáva varovania.Hoci nie je tam žiadna kompilácie-čas varovania nemôže zaručiť, že chyba musí byť cross-platformové program, ale postup je veľmi zle s varovaním môže byť non-platforma-nezávislý.

V programe pri použití jednej metódy, nahliadnuť do dokumentu, uistite sa, že použitie metódy nie je uvedené v dokumente je zastarané metódy boli (zastaralý spôsob), ani ich implicitné v dokumente neuvádza metódou (bez dokladov metóda).

Snažte sa ukončiť program Java odchode metódu použiť java.lang.System.Koniec cesty k ukončeniu JVM, ukončite program, ale keď beží iný program v jazyku Java, použite výjazd metóda umožní program bol uzavretý, čo samozrejme nie je to, čo chceme vidieť.Ak chcete ukončiť program v jazyku Java v skutočnosti, môžete použiť destory () exit stand-alone "proces.Pre multi-Threaded programy, musíme vypnúť všetky non-daemon závit.Iba vtedy, keď program skončil jediný spôsob, ako ukončiť program pomocou exit.

Vyhnite sa použitie lokálnych metód a miestne predpisy, pokiaľ je to možné napísať si vlastné funkcie zodpovedajúce triedy Java, potlačenie tejto metódy.Ak je nutné použiť natívny metódy, môžete napísať server program volá metódu, a potom sa program bude teraz písať program servera ako klientsky program, alebo zvážiť CORBA (Common Object Request Broker) štruktúra programu.

Java, Delphi podobným spôsobom WinExec, java.lang.runtime trieda exec metóda ako metóda, sám je nezávislý na platforme, ale volanie metódy na príkaz a parametre príkazu sú spojené s platformouPreto sa pri príprave programov, aby sa zabránilo, ak chceme volať iné programy, musia nechať užívateľovi nastaviť príkaz a jeho parametre.Napríklad, môžete volať notepad.exe v oknách postup by mal zavolať vi v Linuxe v programe.

Programovanie všetky informácie v kóde musieť používať ASCII znakovú sadu, pretože nie všetky operačné systémy podporujú znakovú sadu Unicode, ktorá pre cross-platformové môžu Java programy nedá povedať o čínskych softvér je veľká zlé správy.

Nie sú pevne zakódované v programe, všetky konštanty súvisiace s platformou, ako oddeľovač linky, súbor oddeľovač, oddeľovač cesty, atď, tieto konštanty sa líši na rôznych platformách, ako sú súborové oddeľovač, je v systéme UNIX a MAC"/" v systéme Windows je "", ak chcete používať tieto konštanty, musíte jdava.util.Properties triedy getProperty metód, ako je java.util.Properties.getProperty ("file.separator") môže dostať súbor oddeľovač,getProperty ("line.separator") vráti oddeľovač linky, getProperty ("path.separator") vráti oddeľovač cesty.

Pri príprave žiadostí cross-platformové web, nepoužívajte java.net.InetAddress triedy gethostname získať názov hostiteľa, pretože rôznych platforiem rôznych formátov názov hostiteľa je najlepšie použiť getAddress dostať rovnaké IP adresy vo formáte, ostatné, programVšetky názov hostiteľa by mala byť nahradená IP adresou, ako www.javafan.net nutné nahradiť zodpovedajúcu IP adresu.

Postupy týkajúce sa operácie so súbormi Poznámka: Nepoužívajte pevne zakódované ceste programe súbor, a 8, z rovnakých dôvodov, ale toto je obzvlášť dôležité, tak samostatne.Okrem toho, že rôzne platformy používané pre znaky názvu súboru a maximálnej súboru požiadaviek dĺžka mená sú rôzne, čas na napísanie svojho programu používať ASCII kód znaky ako všeobecný názov súboru a nemôžu byť platforma s rovnakým názvom už existuje v programe, inak budekonfliktu.

Ak je váš program je program napísaný v GUI použitie komponentov AWT nemožno ľubovoľne nastaviť veľkosť a umiestnenie priečinka by mali používať Java layout manager (layout manager), nastaviť a spravovať veľkosť a umiestnenie vizuálnych komponentov, alebousporiadanie môže spôsobiť zmätok.

Pretože rôzne operačné systémy, rôzne stroje, systém podporuje farbu a veľkosť obrazovky a rozlíšenie sa líšia, ako získať tieto atribúty?Trieda môže dostať vyžaduje použitie java.awt.Systemcolor farby, ako sú okenné rámy, ktoré trieda inactiveCaption je farba pozadia v prípade, titulu, menu je menu farbu pozadia.GetScreenResolution možno použiť java.awt.Toolkit "pixelov na palec", ako jednotky rozlíšenie displeja.GetScreenSize triedy môže dostať obrazovky (palce), môže loadSystemColors zoznam všetkých systémových farieb.

Niektoré z týchto úvah z odkazov, niektoré z jeho dlhej skúsenosti s písaním programov v jazyku Java, verím, váš program pomôže dizajn