Sênior de programação JAVA: programas de plataforma cruzada nota escrita



linguagem Java para criar aplicações usando as maiores vantagens é que "uma compilação, run everywhere", mas isso não significa que todos os programas Java são características multi-plataforma, na verdade, uma parte considerável do programa Java não está em outros sistemas operacionaiscorretamente, então como pode escrever um verdadeiro cross-platform programa em Java?O seguinte é a elaboração de programas multi-plataforma Java são algumas das coisas a observar:

Preparação da cruz-plataforma de aplicativos Java, você pode optar por JDK1.0, 1.1,1.2, ou apoiar suas ferramentas de desenvolvimento GUI, tais como: JBuilder, Visual Age for Java, etc, mas deve prestar atenção ao seu programa em Java só pode usar a API Java pacotes básicosSe você quiser usar o pacote de biblioteca de terceiros, a biblioteca deve pacote desenvolvido pelos pacotes básicos de Java, ou procedimentos para a libertação quando tiver o apoio dos pacotes de classe biblioteca Java JVM publicar.Em outras palavras, o programa precisa ser 100% puro Java.Como exemplo, o Visual J + + não é puro Java, Visual J + + programa não pode ser escrito em plataforma independente.

Se você estiver usando um JDK ou outras ferramentas de desenvolvimento, em opções de compilação deve ser aberto todos os avisos, assim o compilador pode ser tanto quanto possível, a afirmação de que a plataforma, e dá um aviso.Embora não haja tempo de compilação avisos não pode garantir que o erro deve ser programa multi-plataforma, mas o procedimento é muito errado com as advertências podem não ser independente de plataforma.

No programa ao usar qualquer um método, a olhar para o documento, verifique se você usar o método não é referido no documento é métodos ultrapassados foram (método obsoleto), nem está implícito no documento não indicar o método (método não documentado).

Tente não sair do método do programa em Java para usar saia java.lang.System.formas Sair para encerrar o JVM, para encerrar o programa, mas se executar um outro programa em Java, use o método exit irá permitir que o programa foi fechado, o que obviamente não é o que queremos ver.Para sair do programa em Java, de fato, você pode usar destory () sair de um processo autônomo.Para os programas multi-threaded, devemos desligar todos thread não daemon.Somente quando o programa foi encerrado a única maneira de sair do programa com a saída.

Evite o uso de métodos locais e os códigos locais, na medida do possível para escrever suas próprias funções com a classe Java correspondente, substituir esse método.Se você deve usar os métodos nativos, você pode escrever um programa de servidor chama o método e, em seguida o programa irá agora escrever o programa do servidor como um programa de cliente, ou considerar a estrutura do programa CORBA (Common Object Request Broker).

Java, Delphi em uma winexec forma semelhante, o método exec da classe java.lang.runtime como o método em si é independente de plataforma, mas a chamada de método para o comando e os parâmetros de comando são associadas com a plataformaPortanto, na elaboração de programas de evitar, se queremos chamar outros programas, eles têm que deixar o usuário para definir o comando e seus parâmetros.Por exemplo, você pode chamar notepad.exe no procedimento de janelas deve chamar o vi no linux no programa.

Programação de todas as informações no código tem de usar conjunto de caracteres ASCII, porque nem todos os sistemas operacionais suportam Unicode conjunto de caracteres, o que para programas multi-plataforma Java não pode ser dito de software chinesa é uma grande notícia ruim.

Não codificado no programa, os constantes associadas com a plataforma, como a linha separadora, separador de arquivo, separador de caminho, etc, essas constantes são diferentes em diferentes plataformas, tais como separador de arquivo, está no UNIX e MAC"/" no Windows é "", se você quiser usar essas constantes, você precisa jdava.util.Properties métodos getProperty classe, como java.util.Properties.getProperty ("File.separator") pode obter separador de arquivo,getProperty ("line.separator") retorna a linha separadora, getProperty ("path.separator"), separador de caminho de regresso.

Na preparação das aplicações web multi-plataforma, não use gethostname classe java.net.InetAddress obtidos nome do host, porque das diferentes plataformas de formato diferente do nome do host é melhor usar o obterEndereço obter o formato mesmo endereço IP, o outro, o programaTodos o nome do host deve ser substituído pelo endereço IP, como www.javafan.net necessário substituir o endereço IP correspondente.

Procedimentos relativos às operações de arquivo Nota: Não codificado no caminho do arquivo do programa, e 8, pelas mesmas razões, mas isso é particularmente importante, por isso separadamente.Além disso, as plataformas diferentes utilizadas para caracteres de nome de arquivo eo máximo de arquivo requisitos comprimento do nome são diferentes, o tempo para escrever o programa para usar os caracteres do código ASCII como o nome geral do arquivo e não pode ser uma plataforma com o mesmo nome já existe no programa, caso contrário ele seráconflito.

Se o programa é um programa GUI escrito no uso de componentes AWT não pode ser arbitrariamente definir o tamanho ea localização do componente deve usar o gerente de Java layout (layout manager) para configurar e gerenciar o tamanho e localização de componentes visuais, ouo layout pode causar confusão.

Como os sistemas operacionais diferentes, máquinas diferentes, o sistema suporta a cor eo tamanho da tela e resolução são diferentes, como obter esses atributos?Classe pode começar o uso necessário de cor java.awt.Systemcolor, como a estrutura de classe inactiveCaption janela no título do evento é a cor de fundo dos menus, é a cor de fundo do menu.O GetScreenResolution pode usar java.awt.Toolkit "pixels por polegada" como unidades de a resolução da tela de exibição.GetScreenSize classe pode obter o tamanho da tela (polegadas), loadSystemColors pode listar todas as cores do sistema.

Algumas dessas considerações a partir de referências, algumas de sua longa experiência em escrever programas em Java, acredito que o programa vai ajudar a projetar