Високи Јава програмирање: повеќе-платформски програми напишани белешка



Напиши апликации со употреба на јазик Јава најголемите предности е тоа што "една компилација, работи насекаде", но тоа не значи дека сите Јава програмите се крос-платформа карактеристики, всушност, значителен дел од програмата за Јава не е во други оперативни системиправилно, тогаш како можам да напишам еден навистина крос-платформа Јава програма?Следниве е подготовка на повеќе-платформски Јава програмите се некои од работите е да се напомене:

Подготовка на повеќе-платформски Java апликација, можете да изберете да JDK1.0, 1.1,1.2, или поддршка на нивната GUI развојни алатки како што се: JBuilder, Visual Возраст за Java и сл, но мора да се обрне внимание на вашиот Јава програма може единствено да го користат Java API основни пакетиАко сакате да го користите трети библиотека пакет, библиотеката треба пакет развиен од страна на Јава основни пакети, или постапките за пуштање, кога ќе ја имаме поддршката на Јава класа библиотека пакети JVM објават.Со други зборови, вашата програма треба да биде 100% чисто Јава.Како пример, Visual J + + не е чиста Јава, на Visual J + + програма не можат да бидат напишани на платформата независен.

Без разлика дали сте со користење на JDK или други алатки за развој, при компајлирање опции треба да бидат отворени сите предупредувања, па компајлерот може да биде колку што е можно во соопштението на оваа платформа, и дава предупредување.Иако не постои компајлирање време предупредувања не може да гарантира дека грешката треба да биде повеќе-платформски програма, но постапката е многу погрешно со предупредувања може да биде не-платформски независни.

Во програмата при користење на било кој начин, да се погледне во документот, бидете сигурни дека имате потреба при користење на метод не е наведено во документот е застарен методи биле (застарено метод), ниту пак е имплицитно во документот не се наведува начинот (недокументирани метод).

Обидете се да не излезете излез метод на Јава програма за користење на java.lang.System.Излез начини да го прекине JVM, да го прекине програмата, но ако помине некоја друга програма Јава, користете излез метод ќе им овозможи на програмата е затворена, кој очигледно не е она што сакаме да го видиме.За да излезете од Јава програма всушност, можете да го користите destory () излез самостојна процес.За повеќе нишки програми, ние мора да го исклучите сите не-демон тема.Само, кога на програмата постоеле само начин да излезете од програмата за користење на излез.

Избегнувајте користење на локални методи и локалните кодови, колку што е можно за да напишете свој функции со соодветните Java класа, надмини оваа метода.Ако мора да го користат мајчиниот методи, можете да пишете на серверската програма повикува метод, а потоа на програмата сега ќе пишувам на серверската програма како клиент на програмата, или сметаат дека CORBA (обичен предмет Барам Брокер) програмска структура.

Java, Delphi на сличен начин winexec, java.lang.runtime класа методот Exec како метод себе е независен од платформата, но методот повик до команда и командата параметри се поврзани со платформаЗатоа, во подготовка на програми за да се избегне, ако сакаме да се јават други програми, тие треба да дозволиме на корисникот за да го поставите командата и нејзините параметри.На пример, можете да се јавите notepad.exe во прозорците постапка треба да се јавите на vi во Linux во програмата.

Програмирање на сите информации во кодот треба да користи ASCII карактери, бидејќи не сите оперативни системи поддржуваат Unicode карактерите, кои за повеќе-платформски програми Јава не може да се каже на кинески софтвер е голема лоши вести.

Не хард кодирани во програмата, било константи поврзани со платформа, како што е на линија сепаратор, датотеката сепаратор, патот сепаратор, итн, во овие константи се различни на различни платформи, како датотека сепаратор, е во UNIX и MAC"/" во Windows е "", ако сакате да ги користат овие константи, што треба jdava.util.Properties класа getProperty методи, како што java.util.Properties.getProperty ("file.separator") може да се добие датотека сепаратор,getProperty ("line.separator") се враќа на линија сепаратор, getProperty ("path.separator") се врати патека ги одвоите.

Во подготовката на повеќе-платформски веб-апликации, не користат java.net.InetAddress класа getHostName добиено името на домаќинот, како што името на host на различна платформа формат е различна, може подобро да го користи истиот формат getAddress IP адреса, од друга страна, на програматаСите го името на домаќинот да се замени со IP адреса, како на пример www.javafan.net потребно да се заменат соодветните IP адреса.

Постапки поврзани со Операции со датотеки Забелешка: Не хард кодирани во програмската датотека патот, и 8, од истите причини, но тоа е особено важно, така одделно.Покрај тоа, на различни платформи користи за име на датотека знаци и максимално име на датотека Должина на барањата се различни, толку време да се напише својата програма да користи ASCII код ликови како општа името на датотеката и не може да биде платформа со истото име веќе постои во програмата, во спротивно ќеконфликт.

Ако вашата програма е програма GUI напишани во употреба на AWT компоненти не може да се произволно да поставите големината и локацијата на компонента треба да го користи распоред менаџер Јава (распоред менаџер) да се постави и управува со големината и локацијата на визуелните компоненти, илираспоред може да предизвика конфузија.

Поради различните оперативни системи, различни машини, системот ја поддржува боја и големина на екран и резолуција се различни, како да ги добијат овие атрибути?Класа може да го добиете бараниот користење на java.awt.Systemcolor боја, како што се класа inactiveCaption настан титула во дограма е боја на позадината, мени е мени боја на позадината.На getScreenResolution да го користите java.awt.Toolkit "точки по инч" како единици на екранот и одберете резолуција.GetScreenSize класа може да се добие во големината на екранот (инчи), loadSystemColors може да ги наброиме сите системски бои.

Некои од овие размислувања од референците, некои од неговите долго искуство во пишување на Java програмите, верувам дека вашата програма ќе ви помогне дизајн