Senior programare JAVA: programe de cross-platform scrisă nota



limbajul Java pentru a scrie aplicatii folosind cele mai mari avantaje este că "o compilatie, a alerga peste tot", dar acest lucru nu înseamnă că toate programele Java sunt caracteristici cross-platform, de fapt, o parte considerabilă a programului Java nu este în alte sisteme de operarecorect, atunci cum poate scrie un adevărat cross-platform program Java?Următoarele este pregătirea de cross-platform programe Java sunt unele din lucrurile de a nota:

Pregătirea de cross-platform aplicaţie Java, puteţi alege să JDK1.0, 1.1,1.2, sau sprijinul lor GUI instrumente de dezvoltare, cum ar fi: JBuilder, Visual Age pentru Java, etc, dar trebuie să acorde atenţie programul tău Java poate utiliza numai miezul Java pachetele APIDacă doriţi să utilizaţi pachet bibliotecă terţe părţi, biblioteca ar trebui să pachetului dezvoltat de pachetele de bază Java, sau a procedurilor pentru eliberarea atunci când ai sprijinul pachete Java clasa biblioteca publica JVM.Cu alte cuvinte, programul trebuie să fie de 100% pure Java.Ca un exemplu, Visual J + + nu este pur Java, Visual J + + program nu poate fi scris în independente de platformă.

Dacă sunteţi folosind un JDK sau alte instrumente de dezvoltare, la compilare opţiuni timp ar trebui să fie deschise toate avertismentele, astfel încât compilatorul poate fi cât mai mult posibil afirmaţia că platforma, şi dă un avertisment.Deşi nu există o compilare-timp avertismente nu poate garanta că eroarea trebuie să fie cross-platforma program, dar procedura este foarte greşit cu avertismente pot fi non-independente de platformă.

În cadrul programului atunci când se utilizează orice metodă unul, să se uite în document, asiguraţi-vă că utilizaţi metoda nu este menţionat în documentul este metodele învechite au fost (metodă învechită), şi nici nu este implicit în documentul nu indică metoda (metoda nedocumentate).

Încercaţi să nu pentru a ieşi metoda program Java de ieşire de a utiliza java.lang.System.moduri de Exit pentru a pune capăt JVM, pentru a termina programul, dar dacă a rula un alt program Java, ieşire utiliza metoda va permite programul a fost închis, care nu este în mod evident ceea ce vrem să vedem.Pentru a ieşi din programul Java, de fapt, puteţi utiliza Distrugere () de ieşire un proces de stand-alone.Pentru programele multi-threaded, trebuie să ne opriţi toate thread non-daemon.Numai atunci când programul a ieşit singura modalitate pentru a ieşi din program folosind ieşire.

Evitaţi utilizarea metodelor locale şi codurile locale, pe cât posibil pentru a scrie propriile funcţii cu clasa corespunzatoare Java, suprascrie această metodă.Dacă trebuie să utilizaţi metodele de nativ, puteţi scrie un program server solicită metoda, iar apoi programul va scrie acum programul de server ca un program client, sau ia în considerare CORBA (Common Object Request Broker) Structura programului.

Java, Delphi winexec într-un mod similar, java.lang.runtime metoda in clasa exec ca metoda în sine este independent de platforma, dar apelul metoda de a comanda şi parametrii de comandă sunt asociate cu platformaPrin urmare, în pregătirea programelor pentru a evita, dacă vrem să cheme alte programe, acestea trebuie să permite utilizatorului pentru a seta comanda şi parametrii săi.De exemplu, puteţi apela notepad.exe în procedura de apel ferestrele ar trebui să vi în linux în program.

Programarea toate informaţiile în cod trebuie să utilizeze setul de caractere ASCII, deoarece nu toate sistemele de operare suport Unicode setul de caractere, care pentru cross-platform programele Java nu se poate spune de software din China este o veste mare şi rău.

Nu greu codificate în program, orice constante asociate cu platforma, cum ar fi separator de linie, separator fişier, separator cale, etc, aceste constante în diferite platforme sunt diferite, cum ar fi separator fişier este în UNIX şi MAC"/" în Windows este "", dacă doriţi să utilizaţi aceste constante, aveţi nevoie de jdava.util.Properties metodele clasei getProperty, cum ar fi java.util.Properties.getProperty ("file.separator") poate ajunge separator fişier,getProperty ("line.separator") returnează separator de linie, getProperty ("path.separator"), calea de întoarcere separator.

În pregătirea de aplicaţii web cross-platform, nu folosiţi gethostname clasa java.net.InetAddress obţinut numele de gazdă, ca numele de gazdă a unui format diferit platformă este diferit, poate fi mai bine să utilizeze acelaşi format getAddress adresa IP, de altă parte, programultoate numele de gazdă ar trebui să fie înlocuit cu adresa IP, cum ar fi www.javafan.net necesare pentru înlocuirea corespunzătoare adresa IP.

Procedurile legate de operaţiunile de fişier Notă: Nu greu codificate în calea fişier de program, şi 8, din aceleaşi motive, dar acest lucru este deosebit de important, aşa separat.Mai mult decât atât, platforme diferite utilizate pentru caractere nume de fişier şi maxim cerinţele numele de lungime fişier sunt diferite, timp pentru a scrie program pentru a utiliza caractere ASCII codul asa cum este numele generic al fişierului şi nu poate fi o platformă acelaşi nume există deja în program, altfel se vaconflict.

Dacă programul dvs. este un program de GUI scris în utilizarea componentelor AWT nu pot fi stabilite arbitrar de marimea si localizarea a componentei ar trebui să folosească manager Java aspect (layout manager) pentru a configura şi gestiona dimensiunea şi locaţia de componente vizuale, sauaspectul poate provoca confuzie.

Deoarece diferite sisteme de operare, maşini diferite, sistemul suporta culoarea şi mărimea ecranului şi rezoluţia sunt diferite, modul de a obţine aceste atribute?Clasa pot obţine de utilizarea cerută de culoare java.awt.Systemcolor, cum ar fi de frontieră clasa fereastră inactiveCaption în titlu eveniment este culoarea de fundal, meniul este culoarea de fundal a meniului.GetScreenResolution poate folosi java.awt.Toolkit "pixeli per inch" ca unităţi de rezoluţia ecranului.clasa GetScreenSize pot obţine dimensiunea ecranului (inch), loadSystemColors poate lista toate culorile sistemului.

Unele dintre aceste consideraţii de referinţe, o parte din experienţa sa îndelungată în scris programele Java, cred că programul va ajuta la proiectarea