Nota: Antes de utilizar estas informações e o produto a que se referem, certifique-se de ler as informações gerais em Avisos.
Esta edição do LEIA-ME aplica-se ao IBM zSeries Runtime Environment para Linux, Java 2 Technology Edition, e a todos os releases e modificações subseqüentes, até que seja indicado de outra maneira em novas edições.
(c) Copyright IBM Corporation 1999, 2002. Todos os direitos reservados.
(c) Copyright Sun Microsystems, Inc. 1997, 2001. 901 San Antonio Rd., Palo Alto, CA 94303 USA. Todos os direitos reservados.
Direitos Restritos para Usuários do Governo dos Estados Unidos -- Uso, duplicação e divulgação restritos pelo GSA ADP Schedule Contract com a IBM Corporation.
Este arquivo LEIA-ME fornece informações sobre o pacote Runtime Environment para Linux fornecido com o IBM(R) zSeries Developer Kit para Linux, Java(TM) 2 Technology Edition, (Developer Kit para Linux) no Nível Sun SDK 1.3.1.
O Runtime Environment permite executar aplicativos Java apenas. Para escrever e em seguida executar aplicativos Java, é necessário instalar o Developer Kit para Linux. Se o Developer Kit para Linux estiver instalado, o Runtime Environment não será necessário, o qual é um subconjunto do Developer Kit.
Para obter a lista de distribuições nas quais o Developer Kit para Linux foi testado, consulte:
http://www-106.ibm.com/developerworks/java/jdk/linux/tested.html
O produto Runtime Environment para Linux contém o subconjunto de classes necessárias para criar um ambiente Java de tempo de execução e para executar programas Java. Ele também contém a Máquina Virtual Java (JVM), classes Java e arquivos de suporte. O pacote Runtime Environment para Linux contém apenas um subconjunto das classes encontradas no produto Java Developer Kit.
Arquivos incluídos no pacote Runtime Environment para Linux
O Runtime Environment para Linux inclui arquivos .so não depuráveis e arquivos de classe necessários para suportar um programa no tempo de execução. O produto Runtime Environment para Linux não inclui nenhuma das ferramentas de desenvolvimento, como appletviewer ou javac, nem classes que pertençam apenas a um sistema de desenvolvimento.
Além disso, o pacote JAAS (Java Authentication and Authorization Service) é fornecido para ser utilizado com o Runtime Environment para Linux.
O arquivo LICENSE_xx.html contém o contrato de licença do software Runtime Environment para Linux. (xx é a abreviação do locale).
Para exibir ou imprimir o contrato de licença, abra o arquivo em um navegador da Web.
O compilador JIT (just-in-time, arquivo libjitc.so) gera código de máquina dinamicamente para seqüências de bytecode usadas freqüentemente em um aplicativo ou applet Java durante a sua execução.
O Runtime Environment para Linux inclui o compilador JIT (libjitc.so), que está ativado por padrão. É possível desativar o JIT para ajudar no isolamento de um problema com um aplicativo Java, um applet ou o próprio compilador. Para desativar o JIT, em um prompt de shell digite:
export JAVA_COMPILER=NONE
Para ativar o JIT, digite o seguinte em um prompt de comandos:
unset JAVA_COMPILER
Para verificar se o compilador está ativado ou não, digite o seguinte em um prompt de comandos:
java -version
Se o JIT estiver sendo utilizado, será exibida uma mensagem que inclui:
JIT enabled: jitc
Se o JIT não estiver sendo utilizado, a seguinte mensagem será exibida:
JIT disabled
A Native Method Interface e a Java Native
Interface
A IBM não suporta a Native Method Interface neste release. Não use esta interface em seus aplicativos.
A JNI (Java Native Interface) está incluída no Runtime Environment. Para obter informações sobre a utilização da JNI, consulte o site da Web da Sun:
Configurando o Runtime Environment para Linux
Após instalar o Runtime Environment para Linux, edite o script de shell e inclua este diretório em sua instrução PATH:
Se tiver instalado o Runtime Environment para Linux em um diretório diferente de
Java pode exibir todos os caracteres Unicode, mas a maioria das versões do Linux instalam apenas as fontes necessárias para mostrar seu idioma. Você pode fazer download de fontes da IBM que permitem ver o conjunto de caracteres Unicode completo. Estas fontes não estão incluídas no pacote Developer Kit para Linux porque são grandes e nem todos os usuários precisam delas. A IBM fornece duas fontes Unicode e cada delas é personalizada por país. Os usuários na China e Coréia devem utilizar as versões específicas do país e todos os outros devem utilizar a versão Japonesa dessas fontes.
Você pode fazer o download de fontes no site da Web da developerWorks em http://www.ibm.com/developer/java/. As descrições das fontes são fornecidas para ajudá-lo a decidir as fontes a serem transferidas por download.
Para instalar a fonte, coloque o arquivo no diretório /opt/IBMJava2-ppc-131/jre/lib/fonts.
Se o download de fontes for feito em partes, as partes deverão ser reunidas em um arquivo para cada fonte. Para fazer isso, verifique se as partes estão no diretório /opt/IBMJava2-ppc-131/jre/lib/fonts e utilize o comando cat.
Por exemplo, se você fez download da fonte Times New Roman WT J em partes, digite o seguinte comando para reuni-las:
cat tnrwt_j.t01 tnrwt_j.t02 tnrwt_j.t02 > tnrwt_j.ttf
Quando você estiver instalando em um sistema Red Hat, para que o servidor de fontes encontre as fontes Java TrueType, execute:
Você deve fazer isso no momento da instalação e deve ser root
para executar o comando.
Se você pretende utilizar o servidor BEA Weblogic, quando instalar os pacotes Developer Kit para Linux, deverá desmarcar a instalação opcional do JAAS. O servidor BEA Weblogic contém sua própria implementação do JAAS.
Removendo o Runtime Environment para Linux
O processo utilizado para remover o produto Runtime Environment para Linux depende do tipo de pacote instalado, o pacote RPM ou o pacote TAR compactado. Consulte Removendo a Instalação do Pacote RPM ou Removendo a Instalação do Pacote TAR Compactado para obter instruções.
Para remover o produto Runtime Environment para Linux se tiver instalado o pacote RPM:
rpm -qa | grep IBMO nome do pacote é exibido.
rpm -e IBMJava2-JRE
Removendo o pacote TAR compactado
Para remover o produto Runtime Environment para Linux instalado através do pacote TAR compactado:
Invocando o Java Runtime Interpreter
O produto Runtime Environment para Linux pode ser invocado a partir de um prompt de shell, através da ferramenta java.
java [-options] classname <args>
O argumento classname
é o nome do arquivo de classe a ser
executado.Os argumentos a serem passados para a classe
precisam ser colocados após classname
na linha de
comandos.
java -jar [-options] jarfile <args>
O argumento jarfile
é o nome do arquivo jar a ser
executado.Os argumentos a serem passados para o arquivo jar
precisam ser colocados após jarfile
na linha de
comandos.
As opções para a ferramenta java são as seguintes:
As opções -X não são padrão e estão sujeitas a alterações sem aviso prévio.
A propriedade do sistema ibm.jvm.bootclasspath pode ser definida com a opção -D descrita em Chamando o Java Runtime Interpreter. O valor desta propriedade é utilizado como um caminho de pesquisa adicional, inserido entre qualquer valor definido por -Xbootclasspath/p: e o caminho da bootclass. O caminho da bootclass é o padrão ou o caminho definido com a opção -Xbootclasspath:.
Obtendo o número de versão e de build IBM
Para obter o número de versão e build IBM, em um tipo de prompt de shell :
java -version
Em um sistema Linux de pilha não flutuante, independentemente do que está definido para -Xss, é fornecido um tamanho mínimo de pilha nativa de 256KB para cada thread. Em um sistema Linux de pilha flutuante, os valores -Xss são aceitos. Portanto, se você estiver migrando de um sistema Linux de pilha não-flutuante, deverá assegurar que todos os valores -Xss sejam suficientemente grandes e não estejam contando com um mínimo de 256KB.
Alternando o método de entrada para os idiomas DBCS
Em sistemas de conjunto de caracteres de byte duplo (DBCS), se você deseja alternar o método de entrada, é necessário definir uma variável de ambiente que represente o código-chave usado para alternar. Opcionalmente, é possível definir outra variável de ambiente que represente os modificadores do código-chave.
Para especificar o código-chave a ser utilizado para alternância, defina a variável de ambiente IBMJAVA_INPUTMETHOD_SWITCHKEY para uma definição de código-chave na classe java.awt.event.KeyEvent, por exemplo, VK_F4.
Opcionalmente, especifique os modificadores do código-chave. Para especificar modificadores do código-chave, defina a variável de ambiente IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS para alguma combinação das três definições de máscara a seguir da classe java.awt.event.InputEvent:
Separe as máscaras por vírgulas.
Por exemplo, você pode definir a variável de ambiente IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS para ALT_MASK, CTRL_MASK.
Durante a inicialização de Java, as duas variáveis de ambiente são armazenadas.
Para garantir que as variáveis de ambiente foram especificadas corretamente, pressione uma tecla e compare o resultado com a combinação de teclas especificada. Se forem equivalentes, um menu Java com métodos de entrada selecionáveis será exibido.
Este Developer Kit não fornece fontes Devanagari (Devamt.ttf e Devamtb.ttf) no diretório jre/lib/fonts. Em vez disso, onde apropriado, o Java utiliza as fontes Unicode Monotype (Times New Roman WorldType e Sans Monospace WorldType) fornecidas com a plataforma IBM ou o produto de software IBM para suportar fontes Devanagari (Hindi).
A página da Web da Sun, indicada a seguir, pode conter um exemplo "Hello World" do qual você pode fazer download. O exemplo mostra como criar um aplicativo Java simples que é executado e empacotado com o produto Runtime Environment para Linux. O exemplo pode ser encontrado no site da Sun na Web:
O exemplo mostra como fazer uma transição simples e transparente desde o desenvolvimento de um aplicativo com o Developer Kit para Linux, até implementá-lo em um programa mais leve, o produto Runtime Environment para Linux.
Instalando seu aplicativo em um sistema de usuário
Após desenvolver seu produto e estar pronto para expedi-lo, você precisa instalar o produto em um sistema de usuário, configurar o sistema do usuário para suportar o software e configurar o ambiente de tempo de execução.
Se você utilizar o Runtime Environment para Linux, deverá assegurar que o procedimento de instalação não sobreponha uma instalação já existente (a menos que o Runtime Environment para Linux seja uma versão anterior).
Para redistribuir o Runtime Environment para Linux, você pode instalá-lo em seu próprio sistema, e em seguida copiar os arquivos requeridos do Runtime Environment para o seu conjunto de instalação. Se você escolher esta abordagem, deverá incluir todos os arquivos fornecidos com o Runtime Environment para Linux. O software Runtime Environment para Linux só poderá ser redistribuído se todos os arquivos estiverem incluídos. De fato, quando você envia seu aplicativo, ele tem sua própria cópia do Runtime Environment para Linux.
Para obter informações específicas sobre os arquivos que devem ser redistribuídos, consulte o contrato de licença que acompanha esse produto.
O IBM Runtime Environment para Linux, Java 2 Technology Edition, V1.3.1 apresenta a opção de tempo de execução da JVM -Xgcpolicy para a especificação da política de coleta de lixo.
-Xgcpolicy assume dois valores, optthruput (o padrão) e optavgpause. A opção controla o comportamento da coleta de lixo, efetuando o equilíbrio entre o rendimento de aplicativo e de sistema global com os tempos de pausa causados pela coleta de lixo.
O formato da opção e seus valores são:
-Xgcpolicy:optthrupute
-Xgcpolicy:optavgpause
Quando a tentativa de um aplicativo em criar um objeto não pode ser atendida imediatamente no espaço disponível no heap, o coletor de lixo é responsável por identificar objetos não referenciados (lixo), por sua exclusão e pelo retorno do heap para um estado no qual pedidos de alocação imediatos e subseqüentes possam ser rapidamente atendidos. Tais ciclos de coleta de lixo apresentam pausas ocasionais inesperadas na execução do código de aplicativo. À medida que aumentam o tamanho e a complexidade dos aplicativos e os heaps tornam-se correspondentemente maiores, este tempo de pausa da coleta de lixo tende a crescer em tamanho e importância. O valor padrão de coleta de lixo, optthruput, possibilita um rendimento mais alto para os aplicativos, porém ao custo dessas pausas ocasionais, que podem variar de alguns milissegundos a muitos segundos, dependendo do tamanho do heap e da quantidade de lixo.
O valor optavgpause reduz substancialmente o tempo gasto nestas pausas de coleta de lixo, bem como limita o efeito de aumentar o tamanho do heap no comprimento da pausa da coleta de lixo. Isso é relevante especialmente para configurações com heaps grandes. (Um heap é considerado grande quando tiver pelo menos 1 GB). Os tempos de pausa são reduzidos sobrepondo-se as atividades de coleta de lixo com a execução normal do programa. Esta sobreposição resulta em uma pequena redução no rendimento do aplicativo.
Se o heap Java estiver quase cheio, e houver pouco lixo para ser recuperado, pedidos de novos objetos poderão não ser atendidos rapidamente por não haver espaço disponível de imediato. Se o heap estiver operando com capacidade quase cheia, o desempenho do aplicativo poderá ser afetado, independentemente de quais opções acima forem utilizadas; e se continuarem sendo feitos pedidos de mais espaço de heap, o aplicativo receberá uma exceção "Sem Memória", que resulta na finalização da JVM se a exceção não for capturada e tratada. Nessas situações, é recomendável aumentar o tamanho do heap utilizando a opção -Xmx ou reduzir o número de objetos do aplicativo em uso.
Para obter informações sobre o ajuste do tamanho do heap e as implicações da coleta de lixo no desempenho do aplicativo, consulte:
Documentação do Runtime Environment para Linux
A IBM fornece a seguinte documentação do tempo de execução:
public interface interface java.lang.Runnable extends java.lang.Object...
No Sistema Linux X Window, o mapa de teclas está definido para: 64 0xffe9 (Alt_L) 0xffe7 (Meta_L) e 113 0xffea (Alt_R) 0xffe8 (Meta_R). Para verificar isto, digite este comando em um prompt de shell:
xmodmap -pk
Os aplicativos Java que utilizam muitos threads podem exceder a capacidade de memória do sistema. Utilize a fórmula a seguir para estimar o número máximo de threads que um aplicativo Java pode utilizar:
heap_size(MB) + 2*thread_count < 910 (aproximadamente)
Quando a memória estiver esgotada, a JVM ou o JIT relatará uma condição de erro semelhante a uma das seguintes:
Exception in thread "main" java.lang.OutOfMemoryError at java.lang.Thread.start(Native Method) at serling.main(serling.java:29) COMPILER ERROR: java/io/ObjectStreamClass.compareClassNames - JIT: Out of memory, emitcode
É a indicação "out of memory" que é significativa, não os arquivos ou métodos específicos nomeados. Também é possível que outras mensagens de erro sigam o mencionado acima que não indicam erros adicionais, mas em vez disso indicam efeitos secundários da condição falta de memória.
Este release suporta apenas Inglês dos EUA e Japonês. O suporte ao idioma japonês foi testado apenas com o TurboLinux Server 6.1 para zSeries e S/390, e não foi testado com o SuSE Linux 7.0. Isso porque, no momento, apenas o TurboLinux Server 6.1 para zSeries e o S/390 suportam japonês.
Os componentes Swing podem exibir fontes japonesas instalando as fontes Japanese WorldType. (Consulte a seção em Instalando Fontes Adicionais). A instalação de fontes Japanese WorldType não afeta componentes AWT nem painéis de alternância IM. Para evitar esse problema, fontes Japanese TrueType adicionais precisam ser instaladas.
A TurboLinux Japan disponibilizou as fontes Japanese TrueType em seu site da Web - http://www.turbolinux.co.jp (Palavra-chave de pesquisa : truetype)
O S/390 não tem anexos nativos de exibições gráficas. Portanto é necessário um sistema remoto que possua uma exibição gráfica. Há duas formas de exibir aplicativos X nos sistemas remotos.
O TurboLinux Server 6.1 para zSeries e S/390 não tem nenhuma interface IM (Input Method), tal como kinput2. Como resultado, apenas a segunda opção acima foi testada neste release.
Os seguintes ambientes foram testados :
Sistema | SO | Idioma | Window Manager | Mecanismo de Entrada de Método Anexo ao Host |
Sistema Java | TurboLinux para S/390 | Japonês (EUC) | FVWM2 lesstif-mwm, twm (sem kinput2) |
Canna 3.5 (sem kinput2) |
Cliente gráfico | TurboLinux Server J6.5 | Japonês (EUC) | Sawfish1 com GNOME | Canna 3.5 com kinput2 FreeWnn com kinput2 |
Nas versões japonesas do Linux, você pode utilizar um método de entrada japonês como Canna, ATOK12(TM) SE, Wnn4(TM) ou Wnn6. Utilize as seções a seguir para evitar problemas ao utilizar métodos de entrada japoneses.
Para colocar outra janela no topo, execute uma destas ações:
Essas informações foram desenvolvidas para produtos e serviços oferecidos nos E.U.A.
A IBM pode não oferecer os produtos, serviços ou recursos, discutidos neste documento, em outros países. Para obter informações sobre os produtos e serviços atualmente disponíveis em sua área, consulte um representante IBM de sua localidade. Qualquer referência a um produto, programa ou serviço IBM não significa que apenas produtos, programas ou serviços IBM possam ser utilizados. Qualquer produto, programa ou serviço funcionalmente equivalente, que não infrinja nenhum direito de propriedade intelectual da IBM, poderá ser utilizado em substituição a este produto, programa ou serviço. A avaliação e verificação da operação de qualquer produto, programa ou serviço é de inteira responsabilidade do usuário.
A IBM pode ter patentes ou solicitações de patentes pendentes relativas a assuntos tratados nesta publicação. O fornecimento deste documento não lhe garante direito algum sobre tais patentes. Consultas sobre licenças devem ser enviadas, por escrito, para:
O parágrafo a seguir não se aplica a nenhum país em que tais disposições não estejam de acordo com a legislação local:
A INTERNATIONAL BUSINESS MACHINES CORPORATION FORNECE ESTA PUBLICAÇÃO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE NENHUM TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS IMPLÍCITAS DE MERCADO OU ADEQUAÇÃO A UM DETERMINADO PROPÓSITO. Alguns países não permitem a exclusão de garantias explícitas ou implícitas em certas transações; portanto, esta disposição pode não se aplicar a você.
Estas informações podem conter imprecisões técnicas ou erros tipográficos. Periodicamente, são feitas alterações nas informações aqui contidas; tais alterações serão incorporadas em futuras edições desta publicação. A IBM pode fazer aperfeiçoamentos e/ou alterações nos produtos e/ou programas descritos nesta publicação, a qualquer momento, sem aviso prévio.
Referências nesta publicação a sites não-IBM na Web são fornecidas apenas por conveniência e não representam de forma alguma um endosso a esses sites na Web. Os materiais contidos nesses sites da Web não fazem parte dos materiais deste produto IBM e a utilização desses sites da Web é de responsabilidade do usuário.
A IBM pode utilizar ou distribuir as informações recebidas da forma que julgar adequada, sem incorrer em obrigações para com você.
Os proprietários de licenças deste programa que desejarem obter informações com o propósito de habilitar (i) o intercâmbio de informações entre programas criados de modo independente e outros programas (incluindo este) e (ii) a utilização mútua das informações intercambiadas, devem entrar em contato com:
Tais informações podem estar disponíveis, sujeitas a termos e condições apropriados, incluindo, em alguns casos, o pagamento de uma taxa.
O programa licenciado descrito neste documento e todo o material licenciado disponível são fornecidos pela IBM sob os termos do Contrato com Cliente IBM, Contrato de Licença de Programa Internacional IBM ou qualquer contrato equivalente.
Todos os dados de desempenho aqui descritos foram determinados em um ambiente controlado. Portanto, os resultados obtidos em outros ambientes operacionais podem variar significativamente. Algumas medições podem ter sido efetuadas em sistemas em fase de desenvolvimento e não há garantia de que tais medições sejam as mesmas em sistemas disponíveis para o mercado. Além disso, algumas medições podem ter sido estimadas através de extrapolação. Os resultados reais podem variar. Os usuários deste documento devem verificar os dados que se aplicam ao seu ambiente específico.
As informações referentes a produtos não-IBM foram obtidas junto aos fornecedores desses produtos, anúncios publicados ou outras fontes publicamente disponíveis. A IBM não testou esses produtos e não pode confirmar a precisão de desempenho, compatibilidade nem qualquer outra reivindicação relacionada a produtos não-IBM. Dúvidas sobre os recursos dos produtos não-IBM devem ser encaminhadas aos fornecedores dos respectivos produtos.
IBM é uma marca da International Business Machines Corporation nos Estados e/ou em outros países.
Java e todas as marcas e logotipos com base em Java são marcas ou marcas registradas da Sun Microsystems, Inc., nos Estados Unidos e/ou em outros países. A tecnologia Java pertence e é exclusivamente licenciada pela Sun Microsystems, Inc.
Outros nomes de empresas, produtos e serviços podem ser marcas ou marcas de serviço de terceiros.