Senior JAVA programozás: platformfüggetlen programok írásos feljegyzést



Java nyelven írni használó alkalmazások legnagyobb előnye, hogy "egy fordítási, fuss mindenütt", de ez nem jelenti azt, hogy minden Java program platformfüggetlen funkciók, sőt, jelentős része a Java program nem a más operációs rendszerekhelyes, akkor hogyan lehet írni egy valóban platformfüggetlen Java-program?A következő előkészítése cross-platform Java programok néhány dolgot meg kell jegyeznünk:

Előkészítése cross-platform Java-alkalmazást, kiválaszthatja, hogy JDK1.0, 1.1,1.2, vagy segítik a grafikus fejlesztői eszközök, mint például: JBuilder, Visual Age for Java, stb, de meg kell figyelni a Java-program csak a Java API csomagokHa a használni kívánt külső könyvtár csomag, a könyvtár kell csomagot fejlesztett ki a Java core csomagot, vagy bocsátására vonatkozó eljárások, ha már a támogatást a Java osztálykönyvtár csomagok JVM közzé.Más szóval, a program kell 100%-os tiszta Java.Például, a Visual J + + nem tiszta Java, a Visual J + + programot nem lehet írni, platform-független.

Függetlenül attól, hogy a JDK vagy más fejlesztő eszközök, fordítási időben lehetőséget nyitva kell állnia minden figyelmeztetés, ezért a fordító is a lehető legnagyobb mértékben a megállapítással, hogy platformot, és ad egy figyelmeztetést.Bár nincs fordítási figyelmeztetések nem tudja garantálni, hogy a hibát ki kell cross-platform programot, de az eljárás nagyon rossz figyelmeztetések lehetnek a nem-platform-független.

A program használata során bármely módszert, hogy vizsgálja meg a dokumentumot, győződjön meg róla, használja a módszer nem szerepel a dokumentumban elavult módszereket (Elavult módszer), és nem is implicit módon a dokumentum nem utal a módszer (az okmányokkal nem rendelkező módszer).

Lehetőleg ne lépjen ki a Java-program kilép módszert használja java.lang.System.Kilépés módon megszüntetni a JVM, hogy megszünteti a program, de ha fut a Java-programot, használja kilépés módszer lehetővé teszi, hogy a program lezárult, ami nyilvánvalóan nem az, amit szeretnénk látni.Ha ki akar lépni a Java-program valójában, akkor Destory () exit egy önálló folyamat.A több szálon programok mellett ki kell kapcsolnia minden nem-daemon téma.Csak amikor a program kilép egyetlen módja, hogy kilépjen a program segítségével a kijárat.

Ne használja a helyi módszerek és helyi előírásoknak, a lehető legnagyobb mértékben írni saját funkciókat a megfelelő Java osztály, felülírják ezt a módszert.Ha kell használnia a natív módszereket, akkor írj egy szerver program kéri a módszerrel, majd a program most írni a szerver program, mint egy kliens program, vagy fontolja meg a CORBA (Common Object Request Broker) program felépítése.

Java, Delphi hasonló módon winexec, java.lang.runtime osztály exec módszerrel a módszer maga független platform, de a módszer hívást a parancsot, és a parancs paraméterei kapcsolatban állnak a platformEzért a programok előkészítésének elkerülése érdekében, ha azt akarjuk hívni más programok esetében nem kell engedni a felhasználót, hogy állítsa be a parancsot és annak paramétereit.Például, ha felhívjuk a notepad.exe a Windows eljárást fel kell szólítania a vi a linux a programban.

Programozása az összes információt a kódot kell használnod ASCII karakterkészlet, mert nem minden operációs rendszer támogatja a Unicode karakterkészlet, mely a többplatformos Java programok nem mondható el a kínai szoftver egy nagy rossz hír.

Nem nehéz kódolt a program, minden állandók kapcsolódó platform, mint például a vonal elválasztó, fájl elválasztó, elérési út elválasztó, stb, ezekben az állandók eltérő a különböző platformokon, mint például a fájl elválasztó, van a UNIX és MAC"/" a windows ", ha akarod használni ezeket az állandókat, szükség van jdava.util.Properties osztály getProperty módszerek, mint például a java.util.Properties.getProperty (" file.separator ") kaphat fájl elválasztó,getProperty ("line.separator") értéke a vonal elválasztó, getProperty ("path.separator") visszirányú elválasztó.

A készítmény a cross-platform webes alkalmazások, ne használja java.net.InetAddress osztályú getHostName kapott host nevet, mert a különböző platformok különböző host név formátum legjobban hasznosítani a getAddress kap ugyanazt az IP-cím formátuma, a másik, a programMinden host nevet kell felváltani IP-cím, mint például a www.javafan.net kell váltani a megfelelő IP-címet.

Kapcsolatos eljárások fájlműveletek Megjegyzés: Ne beágyazta a program fájl elérési útját, és 8, ugyanazon okok miatt, de ez különösen fontos, hogy külön-külön.Sőt, a különböző platformok használt fájlnév karakterek és a maximális fájlnévhossz követelmények eltérőek, az idő, hogy írjuk meg a programot használja ASCII kódot karaktereket, mint az általános a fájl nevét, és nem lehet egy platformon a néven már létezik a program, ellenkező esetbenkonfliktus.

Ha a program egy grafikus programot írt használata AWT komponensek nem lehet önkényesen a méretét és elhelyezkedését az alkatrész kell használni a Java elrendezését menedzser (layout manager), hogy létrehozza és működteti a méretét és helyét a vizuális elemek, vagyAz elrendezés zavart okozhat.

Mivel a különböző operációs rendszerek, különböző gépek, a rendszer támogatja a színes és a képernyő mérete és felbontása eltérő, hogyan lehet megszerezni ezeket a tulajdonságokat?Osztály kaphat a szükséges használatát java.awt.Systemcolor színű, mint a class inactiveCaption rendezvény címét az ablakkeret a háttér színe, a menü a menü háttér színét.A getScreenResolution használhatja java.awt.Toolkit "képpont per hüvelyk" egységként a képernyő felbontását.GetScreenSize osztály kap a képernyőméret (hüvelyk), loadSystemColors tudja felsorolni az összes rendszer színeit.

Néhány ilyen megfontolások a referenciák, néhány saját hosszú tapasztalat írásban Java programok, úgy vélem, a program megtervezéséhez