Senior Java-programmering: plattformsoberoende program anteckning



Java språket för att skriva program som använder de största fördelarna är att "en sammanställning, kör överallt", men detta betyder inte att alla Java-program är plattformsoberoende egenskaper, i själva verket är en betydande del av Java-programmet inte i andra operativsystemkorrekt, hur kan skriva en verkligt plattformsoberoende Java-program?Följande är beredningen av plattformsoberoende Java-program är några av de saker att notera:

Beredning av plattformsoberoende Java-program kan du välja att JDK1.0, 1.1,1.2, eller stödja deras GUI utvecklingsverktyg som: Jbuilder, Visual Age för Java etc., men måste vara uppmärksam på ditt Java-program kan bara använda Java kärna API-paketOm du vill använda tredje part bibliotek paket bör biblioteket paketet som utvecklats av Java kärna paket, eller förfaranden för övergång när ni har stöd av Java-paket klassbibliotek JVM publicera.Med andra ord måste ditt program att vara 100% ren Java.Som ett exempel är Visual J + + inte ren Java, Visual J + +-program kan inte skrivas i plattformsoberoende.

Oavsett om du använder en JDK eller andra utvecklingsverktyg, vid kompileringen möjligheter ska vara öppna alla varningar, så kompilatorn vara så mycket som möjligt uttalandet att plattformen, och ger en varning.Det finns ingen kompilering varningar kan inte garantera att felet måste vara plattformsoberoende program, men förfarandet är väldigt fel med varningar kan vara icke-plattformsoberoende.

I programmet om du använder en metod, att se in i dokumentet, se till att använda metoden inte anges i handlingen är föråldrade metoder har (föråldrat metod), eller är det underförstått i dokumentet inte anger metoden (Oregistrerad metod).

Försök att inte avsluta i Java-programmets utgång metod att använda java.lang.System.Avsluta sätt att avsluta JVM, för att avsluta programmet, men om kör ett annat Java-program använder exit metod gör det möjligt att programmet har stängts, vilket uppenbarligen inte vad vi vill se.För att avsluta Java-programmet i själva verket kan du använda destory () stänga en fristående process.För flertrådade program, måste vi stänga av alla icke-daemon tråd.Endast när programmet lämnat enda sättet att avsluta programmet med exit.

Undvik att använda lokala metoder och lokala föreskrifter, så långt det är möjligt att skriva egna funktioner med motsvarande Java-klass, åsidosätta den här metoden.Om du måste använda alternativa metoder, kan du skriva en server program anropar metoden och då programmet kommer nu att skriva servern programmet som ett klientprogram, eller överväga CORBA (Common Object Request Broker) programstrukturen.

Java, Delphi på ett liknande sätt winexec, java.lang.runtime klass exec-metoden som själva metoden är oberoende av plattform, men metoden anropet till kommandot och parametrar kommandot är förknippade med plattformenDärför, i utarbetandet av programmen undvika, om vi vill kalla andra program, måste de låta användaren ställa in kommandot och dess parametrar.Till exempel kan du ringa notepad.exe i fönstren förfarande bör ringa vi i Linux i programmet.

Programmering all information i koden måste använda ASCII-teckenuppsättningen, eftersom inte alla operativsystem stöder Unicode teckenuppsättning, som för plattformsoberoende Java-program inte kan sägas om kinesiska programvara är ett stort dåliga nyheter.

Inte hårdkodade i programmet, något konstanter i samband med plattformen, såsom linjen separator, fil separator, sökvägsavgränsare etc., i dessa konstanter är olika på olika plattformar, till exempel fil separator, är i Unix och Mac"/" i windows är "", om du vill använda dessa konstanter måste du jdava.util.Properties klass getProperty metoder, såsom java.util.Properties.getProperty ("file.separator") kan få fil separator,getProperty ("line.separator") returnerar raden separator, getProperty ("path.separator") returkanal separator.

Vid utarbetandet av plattformsoberoende webbapplikationer, använd inte java.net.InetAddress klass gethostname erhållits värd namnet, på grund av de olika plattformarna för olika värdnamn format är bäst att använda getAddress få samma IP-adress format, den andra, programmetAlla värdnamnet måste ersättas av IP-adress, till exempel www.javafan.net nödvändigt att ersätta motsvarande IP-adress.

Förfaranden i samband med filhantering Obs: Använd inte hårdkodade i programmet sökvägen och 8, av samma skäl, men detta är särskilt viktigt, så separat.Dessutom medför de olika plattformar som används för tecken som filnamn och den maximala filnamnet krav längd är olika, till den tid skriva ditt program att använda en allmän karaktär som ASCII-kod namnet på filen och kan inte vara en plattform med samma namn redan finns i programmet, annars kommerkonflikt.

Om ditt program är ett grafiskt program skrivet i användningen av AWT-komponenter kan inte godtyckligt bestämma storlek och placering av komponenten bör använda Java layout manager (layout manager) för att ställa upp och förvalta storlek och placering av visuella komponenter, ellerlayouten kan orsaka missförstånd.

Eftersom olika operativsystem, olika maskiner, stöder det system som färg och skärmens storlek och upplösning är olika, hur man får dessa attribut?Klass kan få den nödvändiga användningen av java.awt.Systemcolor färg, till exempel klass inactiveCaption är den händelse titeln i fönsterramen bakgrundsfärg är meny menyn bakgrundsfärg.Den getScreenResolution kan använda java.awt.Toolkit "pixlar per tum" som enheter av skärmen upplösning.GetScreenSize klass kan få skärmstorlek (tum) kan loadSystemColors lista alla systemets färger.

Några av dessa överväganden från referenserna, några av hans långa erfarenhet av att skriva Java-program, tror jag ert program kommer att hjälpa till att utforma