41bb726c

Dia 1

Uma introdução para programação de Java

Laura Lemay


CONTEÚDOS

Olá e bem-vindo Ensinar-se Java durante 21 Dias! Começar hoje e durante as próximas poucas semanas aprenderá todos sobre a língua de Java e como usá-lo para criar programas que dirigem Páginas da Web interiores (chamou applets) e os programas que podem correr sozinhos (chamado aplicações).

Isto é a meta total para as próximas semanas de par. Hoje, as metas são um tanto mais modestas, e aprenderá sobre o seguinte:

O que é Java?

Baseado no montante enorme da prensa Java vem e o montante de excitação que gerou, pode adquirir a impressão que Java salvará o mundo - ou pelo menos resolverá todos os problemas da Internet. Não assim. O falatório de Java correu longe à frente das suas capacidades, e enquanto Java de fato é novo e interessante, realmente é outra linguagem de programação com a qual escreve programas que correm na Internet. Neste aspecto, Java é mais fechado para linguagens de programação populares como C, C ++, Visual Básico, ou Pascal, do que é a uma língua de descrição de página como HTML ou língua scripting muito simples como JavaScript.

Mais especificamente, Java é uma linguagem de programação orientada ao objeto desenvolvida por Microsistemas de Sol, uma companhia melhor conhecida pelas suas estações de trabalho UNIX de alta qualidade. Modelado depois C ++, a língua de Java projetou-se para ser pequena, simples, e portátil através de plataformas e sistemas operacionais, tanto na fonte como ao nível binário, que significa que os programas Java (applets e aplicações) podem correr em qualquer máquina que tem Java máquina virtual instalada (aprenderá mais sobre isto depois).

Java menciona-se normalmente no contexto de World Wide Web, onde os browseres como Navegador de Netscape e Internet Explorer de Microsoft afirmam ser "Java permitido". Java permitiu meios que o browser em questão pode carregar e jogar programas Java, chamados applets, no sistema do leitor. Applets aparecem em uma Página da Web o caminho quase o mesmo como as imagens fazem, mas diferentemente de imagens, os applets são dinâmicos e interativos. Applets pode usar-se para criar animação, números, formas que imediatamente respondem para introduzir do leitor, jogos ou outros efeitos interativos sobre as mesmas Páginas da Web entre o texto e gráfica. A figura 1.1 mostra um applet que corre no Netscape 3.0. (Este applet, em http://prominence.com/java/poetry/, é uma versão eletrônica dos magnetos de refrigerador que pode deslocar para criar poesia ou mensagens.)

A figura 1.1: Netscape que dirige Java applet.

Novo termo
Applets são programas de que carregam de World Wide Web um Navegador da Web e a corrida dentro de uma Página da Web de HTML. Precisará de um browser permitido por Java como Navegador de Netscape ou Internet Explorer de Microsoft para dirigir applets.

Para criar um applet, escreve-o na língua de Java, compila-o usando um compilador de Java e envia a isto applet nas suas Páginas da Web de HTML. Põe o HTML resultante e arquivos de Java em um Web site de mesmo modo que põe à disposição HTML ordinário e arquivos de imagem. Então, quando alguém que usa um browser permitido por Java examina a sua página com o applet introduzido, aquele browser carrega do applet no sistema local e realiza-o, permitindo ao seu leitor examinar e interagir com o seu applet em toda a sua honra. (Os leitores que usam outros browseres podem ver o texto, um gráfico estático, ou nada.) aprenderá mais sobre como applets, os browseres e World Wide Web colaboram depois neste livro.

Enquanto applets são provavelmente o uso mais popular de Java, a coisa importante a entender sobre Java consiste em que pode fazer muito mais com ele do que criam e usam applets. Java escreveu-se como uma linguagem de programação de uso geral crescida na qual pode realizar os mesmos tipos de tarefas e resolver os mesmos tipos de problemas que pode em outras linguagens de programação, como C ou C ++.

O passado de Java, presente e o futuro

A língua de Java desenvolveu-se em Microsistemas de Sol em 1991 como parte de um projeto de pesquisa de desenvolver o software de televisores dos dispositivos de eletrônica de consumo, VCR, torradeiras e outros tipos de máquinas que pode comprar em qualquer loja de departamento. As metas de Java então foram ser pequenas, rápidas, eficientes, e facilmente portáteis a uma ampla variação de dispositivos de hardware. Aquelas mesmas metas fizeram Java uma língua ideal para distribuir programas executáveis via World Wide Web e também uma linguagem de programação de uso geral para desenvolver programas que são facilmente usáveis e portáteis através de plataformas diferentes.

A língua de Java usou-se em vários projetos dentro do Sol (abaixo do nome Carvalho), mas não adquiriu a atenção em grande parte comercial até que se juntasse com HotJava. HotJava, browser de World Wide Web experimental, escreveu-se em 1994 em uma matéria de meses, tanto como um veículo para carregar como dirigir applets e também como um exemplo do tipo da aplicação complexa que pode escrever-se em Java. Embora HotJava adquirisse muita atenção na comunidade de Web, não foi até que o Netscape incorporasse a capacidade de HotJava de jogar applets no seu próprio browser que Java realmente tirou e começou a gerar excitação que tem tanto em como de World Wide Web. Java gerou tanta excitação, de fato, que dentro do Sol o grupo de Java se originou na sua própria filial chamada JavaSoft.

As versões de próprio Java, ou, como se chama o mais comumente, Java API, correspondem a versões do Conjunto de Desenvolvedor de Java de Sol ou JDK. Desde esta escrita, a versão atual do JDK é 1.0.2. As versões anteriormente lançadas do JDK (alfa e betas) não tiveram todas as características ou tinham um número de defeitos relacionados à segurança. A maior parte de instrumentos de Java e os browseres conformam-se com as características nos 1.0.2 JDK e todos os exemplos nesta corrida de livro naquela versão também.

O seguinte lançamento principal do JDK e por isso de Java API será 1.1, com uma versão de versão preliminar disponível algum dia na parte posterior de 1996. Este lançamento terá poucas modificações da língua, mas um número de capacidades adicionais e características acrescentadas à biblioteca de classe. Em todas as partes deste livro, se uma característica se modificará ou se realçará em 1,1, o avisaremos, e durante dois dias anteriores deste livro descobrirá mais sobre novas características de Java de 1,1 e do futuro.

Atualmente, ao programa em Java, precisará de um ambiente de desenvolvimento de Java de algum tipo da sua plataforma. JDK de sol trabalha somente perfeito com esta finalidade e inclui instrumentos para compilar e testar Java applets e aplicações. Além disso, uma grande variedade de ambientes de desenvolvimento de Java excelentes desenvolveram-se, inclusive própria Oficina de Java de Sol, Café de Symantec, J Visual de Microsoft ++ (que de fato é um instrumento de Java, apesar do seu nome), e o Assador de Inteligência Natural, com mais instrumentos de desenvolvimento que aparecem todo o tempo.

Para dirigir e examinar Java applets, precisará de um browser permitido por Java ou outro instrumento. Como mencionado antes, as versões recentes do Navegador de Netscape (2.0 e mais alto) e Internet Explorer (3.0) podem dirigir ambos Java applets. (Observe que para o Windows precisará da versão de 32 bits do Netscape, e para Macintosh precisará do Netscape 3.0.) Também pode usar o próprio browser de HotJava de Sol para examinar applets, enquanto tem a 1,0 versão de prebeta (as mais velhas versões não são compatíveis com mais novo applets, e vice-versa). Mesmo se não tiver um browser permitido por Java, muitos instrumentos de desenvolvimento provêem espectadores simples com os quais pode dirigir o seu applets. O JDK vem com um destes; chamou o appletviewer.

Observar
Se estiver dirigindo o Windows 3.x como o seu sistema principal, muito poucos instrumentos existem para você para ser capazes de trabalhar com Java. Como escrevo isto, o único instrumento de Java disponível para escrever e dirigir Java applets é uma versão do JDK de IBM chamada o ADK. Pode escrever applets que usa este instrumento e examiná-los usando o espectador applet que vem com aquele pacote (nem Netscape nem Internet Explorer dirigirá Java applets no Windows 3.1). Ver http://www.alphaWorks.ibm.com/ de mais informação.

O que está para acontecer para Java no futuro? Um número de novos desenvolvimentos têm-se preparado (perdoe o jogo de palavras):

Porque aprendem Java?

No momento atual, provavelmente a razão mais inelutável de aprender Java - e provavelmente a razão comprou este livro - consiste em que applets se escrevem em Java. Mesmo se não foi o caso, Java como uma linguagem de programação tem vantagens significantes quanto a outras línguas e outros ambientes que o fazem conveniente para quase qualquer tarefa de programação. Esta seção descreve algumas daquelas vantagens.

Java é plataforma independente

A independência de plataforma - isto é, a capacidade de um programa de mover-se facilmente de um sistema de computador ao outro - é uma das vantagens mais significantes que Java tem sobre outras linguagens de programação, em particular se o seu software tiver de correr em muitas plataformas diferentes. Se estiver escrevendo que o software de World Wide Web, sendo capaz de dirigir o mesmo programa em muitos sistemas diferentes é crucial para o êxito daquele programa. Java é plataforma independente tanto na fonte como no nível binário.

Novo termo
A independência de plataforma significa que um programa pode correr em qualquer sistema de computador. Os programas de Java podem correr em qualquer sistema para o qual Java a máquina virtual se instalou.

Ao nível de fonte, os tipos de dados primitivos de Java têm tamanhos consistentes através de todas as plataformas de desenvolvimento. As bibliotecas de classe de fundação de Java fazem fácil escrever codificar o que pode mover-se da plataforma para a plataforma sem a necessidade de reescrevê-lo para trabalhar com aquela plataforma. Quando escreve um programa em Java, não precisa de confiar em características daquele determinado sistema operacional para realizar tarefas básicas. A independência de plataforma ao nível de fonte significa que pode mover arquivos originais de Java do sistema ao sistema e fazê-los compilar e correr limpamente em qualquer sistema.

A independência de plataforma em Java não para ao nível de fonte, de qualquer modo. Java compilou arquivos binários também são plataforma independente e podem correr em múltiplas plataformas (se tiverem Java máquina virtual disponível) sem a necessidade de recompilar a fonte.

Normalmente, quando compila um programa escrito em C ou na maior parte de outras línguas, o compilador traduz o seu programa para código de máquina ou instruções de processador. Aquelas instruções são específicas para o processador que o seu computador dirige assim, por exemplo, se compilar o seu código de um sistema baseado em Intel, o programa resultante só correrá em outros sistemas baseados em Intel. Se quiser usar o mesmo programa em outro sistema, tem de voltar ao seu texto fonte original, adquirir um compilador daquele sistema e recompilar o seu código para que tenha um programa específico para aquele sistema. A figura 1.2 mostra o resultado deste sistema: múltiplos programas executáveis de múltiplos sistemas.

A figura 1.2: programas compilados tradicionais.

As coisas são diferentes quando escreve o código em Java. O ambiente de desenvolvimento de Java de fato tem duas partes: um compilador de Java e um intérprete de Java. O compilador de Java toma o seu programa Java e, em vez de gerar códigos de máquina dos seus arquivos originais, gera bytecodes. Bytecodes são instruções que parecem muito ao código de máquina, mas não são específicas para nenhum processador.

Para realizar um programa Java, corre um programa chamou um intérprete bytecode, que à sua vez lê o bytecodes e realiza o seu programa Java (ver a Figura 1.3). Java bytecode intérprete muitas vezes também se chama Java a máquina virtual ou o tempo de execução de Java.

A figura 1.3: programas de Java.

Novo termo
Java bytecodes é um jogo especial de instruções de máquina que não são específicas para nenhum processador ou sistema de computador. Um intérprete bytecode específico para a plataforma realiza Java bytecodes. Também chamam o intérprete bytecode Java máquina virtual ou o intérprete de tempo de execução de Java.

Onde adquire o intérprete bytecode? Para applets, o intérprete bytecode incorpora-se em cada browser permitido por Java, portanto não tem de incomodar-se com ele-Java applets somente automaticamente correm. Para aplicações de Java mais gerais, precisará de mandar instalar o intérprete no seu sistema para dirigir aquele programa Java. Agora mesmo, pode adquirir o intérprete de Java como parte do seu ambiente de desenvolvimento, ou se comprar um programa Java, o adquirirá com aquele pacote. No futuro, contudo, Java bytecode intérprete virá mais provavelmente com cada nova compra sistema operacional uma máquina de Windows, e adquirirá Java grátis.

Porque atravessam toda a preocupação de acrescentar esta extra camada do intérprete bytecode? Ter os seus programas Java na forma de bytecode significa que em vez de ser específicos para qualquer sistema, os seus programas podem dirigir-se em qualquer plataforma e qualquer funcionamento ou sistema de janela enquanto o intérprete de Java está disponível. Esta capacidade de um arquivo binário único de ser executável através de plataformas é crucial para o que faz applets trabalhar porque próprio World Wide Web também é plataforma independente. Tão como os arquivos de HTML podem ler-se em qualquer plataforma, assim pode applets realizar-se em qualquer plataforma que tem um browser permitido por Java.

A desvantagem de usar bytecodes está na velocidade de execução. Como os programas específicos para o sistema correm diretamente no hardware para o qual se compilam, correm significativamente mais rápido do que Java bytecodes, que deve processar-se pelo intérprete. Para muitos programas Java básicos, a velocidade pode não ser uma questão. Se escrever programas que necessitam mais velocidade de execução do que o intérprete de Java pode prover, tem várias soluções disponíveis para você, inclusive ser capaz de ligar o código nativo no seu programa Java ou usar instrumentos especiais (chamou compiladores just-in-time) converter o seu Java bytecodes no código nativo e acelerar a sua execução. Observe que usando alguma destas soluções, perde a portabilidade que Java bytecodes fornece. Aprenderá sobre cada um destes mecanismos no Dia 20, "Usando Métodos nativos e Bibliotecas".

Java é objeto orientado

A alguns, a técnica de programação orientada ao objeto (OOP) é simplesmente um modo de organizar programas, e pode realizar-se usando qualquer língua. Trabalhar com uma verdadeira língua orientada ao objeto e programar ambiente, contudo, permitem-lhe tomar a vantagem cheia da metodologia orientada ao objeto e as suas capacidades para criar programas flexíveis, modulares e reutilizar o código.

Muitos de conceitos orientados ao objeto de Java herdam-se de C ++, a língua na qual se baseia, mas empresta muitos conceitos de outras línguas orientadas ao objeto também. Como as linguagens de programação mais orientadas ao objeto, Java inclui o grupo de bibliotecas de classe que fornecem tipos de dados básicos, capacidades de entrada e saída de sistema e outras funções de serviço. Estas bibliotecas básicas são parte do ambiente de Java padrão, que também inclui bibliotecas simples, ligação em rede de forma, protocolos de Internet comuns e funções de caixa de ferramentas de interface de usuário. Como estas bibliotecas de classe se escrevem em Java, são portáteis através de plataformas como todas as aplicações de Java são.

Aprenderá mais sobre a programação orientada ao objeto e Java amanhã.

Java é fácil aprender

Além da sua portabilidade e orientação de objeto, uma de metas de desenho iniciais de Java foi ser pequena e simples, e por isso mais fácil escrever, mais fácil compilar, mais fácil depurar, e, a melhor de todos, fáceis aprender. Guardar a língua pequena também o faz mais robusto porque há menos possibilidades de programadores de fazer erros que são difíceis de fixar. Apesar do seu tamanho e desenho simples, contudo, Java ainda tem muito poder e flexibilidade.

Java modela-se depois C e C ++, e a maior parte da sintaxe e estrutura orientada ao objeto empresta-se do último. Se for familiar com C ++, aprendendo que Java será especialmente fácil para você porque tem a maioria da fundação já. (De fato, pode encontrar-se que omite a primeira semana deste livro regularmente rapidamente. Progressão; não me incomodarei.)

Embora Java pareça semelhante a C e C ++, a maioria das partes mais complexas daquelas línguas excluíram-se de Java, fazendo a língua mais simples sem sacrificar a maior parte do seu poder. Não há ponteiros em Java, nem há aritmética de ponteiro. As cadeias e as tabelas são verdadeiros objetos em Java. A gestão de memória é automática. A um programador experimentado, estas omissões podem ser difíceis de acostumar-se a, mas a principiantes ou programadores que trabalharam em outras línguas, fazem a língua de Java muito mais fácil aprender.

Contudo, enquanto o desenho de Java facilita aprender do que outras linguagens de programação, que trabalham com uma linguagem de programação ainda são mais complicadas do que, diga, trabalhando no HTML. Se não tiver contexto de linguagem de programação em absoluto, pode achar Java difícil de entender e agarrar. Mas não se descoroçoe! A aprendizagem de programação é uma habilidade valiosa da Web e de computadores em geral, e Java é uma língua terrível para começar com.

Começar programando em Java

Bastante contexto! Já que a segunda metade deste dia nos deixa de fato mergulhar-nos na programação de Java simples e criar dois programas Java: uma aplicação de Java autônoma e um applet que pode examinar em um browser permitido por Java. Embora ambos estes programas sejam extremamente simples, lhe darão uma ideia da que um programa Java parece e como compilá-lo e dirigi-lo.

Adquirir um ambiente de desenvolvimento de Java

Para escrever programas Java, precisará naturalmente, de um ambiente de desenvolvimento de Java. (Embora os browseres como Netscape lhe permitam jogue Java applets, não o deixam escrever-lhes. Para isto precisará de um instrumento separado.) JDK de sol, que está disponível para carregar no Web site de JavaSoft (http://www.javasoft.com/) e incluído no CD deste livro, fará somente perfeito. Corre em Solaris, o Windows 95 e NT e Macintosh. Contudo, apesar da popularidade do JDK, não é o instrumento de desenvolvimento mais fácil para usar. Se estiver acostumado a usar um usuário gráfico instrumento de desenvolvimento baseado na interface com um editor integrado e depurador, achará mais provavelmente as interfaces de linha de comando do JDK bastante primitivas. Afortunadamente, o JDK não é o único instrumento na cidade.

Como mencionado antes, um número de ambientes de desenvolvimento da terceira pessoa (chamado ambientes de desenvolvimento integrados ou IDOS) também estão disponíveis para desenvolver-se em Java. Estes incluem a Oficina de Java de Sol de Solaris, Windows NT e o Windows 95 (pode adquirir mais informação sobre ele em http://www.sun.com/developer-products/java/); o Café de Symantec do Windows 95, Windows NT e Macintosh (http://cafe.symantec.com/); J Visual de Microsoft ++ para o Windows 95 e Windows NT (http://www.microsoft.com/visualj/); e o Assador de Inteligência Natural (http://www.natural.com/pages/products/roaster/index.html). Todos os três são programas comerciais, mas poderia ser capaz de carregar de prova ou versões limitadas destes programas para prová-los. Aprenderá mais sobre as características e as capacidades dos vários IDOS de Java no Dia 22, "Instrumentos de Programação de Java".

Observar
Acho os ambientes de desenvolvimento gráficos muito mais fáceis usar do que o JDK padrão. Se tiver o dinheiro e o tempo para investir em um destes instrumentos, altamente recomendo que faça assim. Fará a sua experiência de desenvolvimento de Java muito mais agradável.

Instalar o JDK e arquivos de mostra

JDK de sol de Solaris, Windows e Macintosh inclui-se como parte do CD-ROM que vem com este livro. Também no CD-ROM são todos dos exemplos de código deste livro-a grande ajuda se não quiser datilografar todos eles em novamente. Para instalar o JDK ou os arquivos de mostra (ou ambos), use um dos seguintes procedimentos:

Observar
Se não tiver acesso a CD-ROM drive, também pode adquirir o acesso a estes arquivos sobre World Wide Web. Pode carregar do próprio JDK de http://java.sun.com/products/JDK/1.0.2/ e instalá-lo por instruções naquelas páginas. Os arquivos de mostra deste livro estão disponíveis no Web site para este livro: http://www.lne.com/Web/JavaProf/.
Se carregar do JDK e os arquivos originais, ao contrário da obtenção deles do CD-ROM, asseguram-se que lê a seção "Configuração do JDK" para assegurar-se que tudo se funda direito.


Windows
JDK de sol corre no Windows 95 e Windows NT. Não corre no Windows 3.x.

Para instalar o JDK ou os arquivos de mostra no Windows, corra o Programa de instalação no CD-ROM (clicando duas vezes no ícone CD fará isto automaticamente). À revelia, o pacote vai se instalar em C:\Java; pode instalá-lo em qualquer lugar no seu disco rígido de que você gostaria. Lhe darão opções de instalar o JDK, os arquivos de mostra e vários outros extra arquivos; escolha as opções que quer e aqueles arquivos vão se instalar.

Se tenha instalado o JDK, observe que no diretório JDK\lib há um arquivo chamado classes.zip. Não abra o zíper este arquivo; tem de ficar na forma de código postal para ele trabalhar corretamente. O arquivo JDK\src.zip contém o texto fonte de muitas das bibliotecas JDK; pode abrir o zíper este se você gostar. Assegure-se se faz isto tem um programa de código postal que apoia nomes de arquivo longos, ou não trabalhará corretamente!

Macintosh
JDK de sol de Macintosh corre no Sistema 7 (MacOS) de 68 KBS ou Poder Mac.

Para instalar o JDK ou os arquivos de mostra no Macintosh, clique duas vezes no programa de instalação no CD-ROM. À revelia, o pacote vai se instalar na pasta Java no seu disco rígido; pode instalá-lo em qualquer lugar no seu disco de que você gostaria. Lhe darão opções de instalar o JDK, os arquivos de mostra e vários outros extra arquivos; escolha as opções que quer e aqueles arquivos vão se instalar.

Solaris
JDK de sol de Solaris corre em Solaris 2.3, 2.4, e 2.5, bem como a versão x86 de Solaris.

O CD-ROM deste livro contém o JDK alcatroado e silvado no diretório jdk/solaris/jdk1.02.tgz. Usando a utilidade gunzip e tar, pode extrair os conteúdos daquele arquivo em qualquer lugar no sistema de arquivos do qual você gostaria. Por exemplo, se copiar o arquivo de .tgz ao seu diretório padrão e usar as seguintes ordens de extrai-lo, terminará com um diretório java que contém o JDK cheio:

gunzip ./jdk1.02.tgz
tar xvf ./jdk1.02.tar

Observe que no diretório java\lib há um arquivo chamado classes.zip. Não abra o zíper este arquivo; tem de ficar na forma de código postal para ele trabalhar corretamente. O arquivo java\src.zip contém o texto fonte de muitas das bibliotecas JDK; pode abrir o zíper este se se interessar no texto fonte.

Os arquivos de mostra também se contêm no CD-ROM em authors/authors.tar. Crie um diretório onde os arquivos de mostra viverão (por exemplo, um diretório chamado javasamples no seu diretório padrão), copie o arquivo de authors.tar lá, e logo use a ordem de tar de extrai-lo, como isto:

mkdir ~/javasamples
cp /cdrom/authors/authors.tar
tar xvf authors.tar

Configuração do JDK

Se tenha instalado o JDK utilização dos programas de instalação do CD-ROM, as possibilidades são boas que se configurou corretamente para você. Contudo, porque a maior parte de problemas comuns com Java resultam de erros de configuração, recomendo que reexamine a sua configuração para assegurar-se que tudo é direito. E se instalou o JDK de uma fonte outra do que o CD-ROM, quererá definitivamente ler esta seção para assegurar-se que se funda tudo.

Windows
O JDK precisa de duas modificações importantes ao seu arquivo de autoexec.bat para trabalhar corretamente: O diretório JDK\bin deve estar no seu caminho de execução, e deve ter a variável de CLASSPATH fundada.

Edite o seu arquivo de autoexec.bat usando o seu editor favorito (O bloco de anotações fará somente perfeito). Procure uma linha que olha algo como isto:

PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\DOS; ...

Em algum lugar naquela linha deve ver uma entrada do JDK; se instalou o JDK do CD-ROM, olhará algo como isto (os pontos estão lá para indicar que pode haver outro material nesta linha):

PATH C:\WINDOWS; ... C:\TEAchY~1\JDK\BIN; ...

Se não puder encontrar nenhuma referência para JDK\BIN ou JAVA\BIN no seu PATH, precisará de acrescentá-lo. Simplesmente inclua o nome de caminho cheio na sua instalação JDK ao fim daquela linha, que começa com C: e termina em BIN; por exemplo, C:\JAVA\BIN ou C:\Java\JDK\BIN.

Observar
Os diretórios Teach Yourself Java e TEAchY~1 são de fato a mesma coisa; o antigo é como o diretório aparece no Windows 95, e o último é como aparece no DOS. Qualquer trabalhará perfeito; não há necessidade de modificá-lo se um ou o outro aparecer. Observe, contudo, que se o nome de caminho contiver espaços, deve estar em citações.

A segunda coisa que precisará de acrescentar ao arquivo de autoexec.bat (se já não estiver lá) é uma variável de CLASSPATH. Procure uma linha que olha algo como isto:

SET CLASSPATH=C:\TEAchY~1\JDK\lib\classes.zip;.;

A variável de CLASSPATH também pode ter outras entradas nela para Netscape ou Internet Explorer, mas aquele no qual mais se interessa é uma referência para o arquivo de classes.zip no JDK, e ao diretório atual (.). Se o seu arquivo de autoexec.bat não incluir nenhuma destas posições, acrescente uma linha ao arquivo que contém ambas estas coisas (a linha mostrada em cima trabalhará somente perfeita).

Depois de salvar o seu arquivo de autoexec.bat, precisará de reiniciar o Windows das modificações para entrar em vigor.

Macintosh
O JDK de Macintosh não deve precisar de nenhuma nova configuração depois da instalação.

Solaris
Para configurar o JDK de Solaris, tudo que tem de fazer é acrescenta o diretório java/bin ou jdk/bin ao seu caminho de execução. Normalmente uma linha algo como isto no seu .cshrc, .login ou arquivos de .profile trabalhará:

set path= (~/java/bin/ $path)

Esta linha supõe que tenha instalado o JDK (como o diretório java) no seu diretório padrão; se o tenha instalado em outro lugar, quererá substituir aquele nome de caminho.

Assegure-se que usa a ordem de source com o nome do arquivo apropriado para assegurar-se que as modificações entram em vigor (ou desligue e registre em log atrás em novamente):

source ~/.login

Criar uma aplicação de Java

Agora vamos vir de fato para trabalhar. Começaremos criando uma aplicação de Java simples: o clássico exemplo Olá Mundial que muito uso de livros de linguagem de programação para começar.

As aplicações de Java são diferentes de Java applets. Applets, como aprendeu, são programas Java que se carregam sobre World Wide Web e se realizam por um Navegador da Web na máquina do leitor. Applets dependem de um browser permitido por Java para correr.

Novo termo
As aplicações de Java, contudo, são programas mais gerais escritos na língua de Java. As aplicações de Java não necessitam que um browser corra; de fato, Java pode usar-se para criar todas as espécies de aplicações que usaria normalmente uma linguagem de programação mais convencional para criar.

As aplicações de Java são programas Java autônomos que não necessitam que um Navegador da Web corra. As aplicações de Java são mais programas de uso geral como encontraria em qualquer computador.

Um programa Java único pode ser um applet ou uma aplicação ou ambos, dependendo de como escreve que o programa e as capacidades aquele programa usam. Durante esta primeira semana como aprende a língua de Java, estará escrevendo pela maior parte aplicações; então aplicará o que aprendeu a escrever a applets na Semana 2. Se for ansioso por começar com applets, são pacientes. Tudo que aprende enquanto cria aplicações de Java simples aplicará à criação applets, e é mais fácil começar com os fundamentos antes de entrar para o material difícil. Estará criando a abundância de applets na Semana 2.

Criação do arquivo original

Como com todas as linguagens de programação, os seus arquivos originais de Java criam-se em um editor de texto simples, ou em um editor que pode salvar arquivos em ASCII claro sem qualquer caráter de formatação. Em UNIX, emacs, pico e vi trabalharão; no Windows, Bloco de anotações ou DOS Editam são ambos editores de texto que trabalharão (embora prefira usar o shareware TextPad). No Macintosh, SimpleText (que veio com o seu Mac) ou o shareware BBedit trabalhará. Se estiver usando um ambiente de desenvolvimento como Café ou Assador, terá o seu próprio editor de texto construído que pode usar.

Observar
Se estiver usando o Windows para fazer o seu desenvolvimento de Java, deveria assegurar-se que o Windows entende a extensão de arquivo de .java antes que comece; de outra maneira, o seu editor de texto pode insistir dar a todos os seus arquivos uma extensão de .txt. O modo mais fácil de fazer isto deve ir a qualquer janela Explorer de Windows, escolher Tipos de View|Options|File, escolher o Novo Tipo e acrescentar Java Source File e .java à Descrição de Tipo e caixas de Extensão Associadas, respectivamente.

Acenda o seu editor da escolha e entre no programa Java mostrado na Listagem 1.1. Datilografe este programa, como mostrado, no seu editor de texto. Esteja cuidadoso que todos os parênteses, as tiras e as citações estão lá, e que usou todo o superior correto - e cartas em letras minúsculas.

Observar
Também pode encontrar o código destes exemplos no CD-ROM como parte do código de mostra. Contudo, é uma boa ideia de datilografar de fato estes primeiros poucos exemplos curtos para que adquira uma sensação para a que o código de Java de fato parece.


A listagem 1.1. A sua primeira aplicação de Java.
1: class HelloWorld {
2:     public static void main (String args[]) {
3:         System.out.println("Hello World!");
4:     }
5: }

Aviso
O número antes de cada linha é a parte da listagem e não a parte do programa; os números estão lá portanto posso referir-me a números de linha específicos quando explico o que está acontecendo no programa. Não os inclua no seu próprio arquivo.

Depois de ter terminado de datilografar no programa, salve o arquivo em algum lugar no seu disco com o nome HelloWorld.java. Isto é muito importante. Os arquivos originais de Java devem ter o mesmo nome que a classe que definem (inclusive o mesmo superior - e cartas em letras minúsculas), e devem ter a extensão .java. Aqui, a definição de classe tem o nome HelloWorld, portanto o nome de arquivo deve ser HelloWorld.java. Se denominar o seu arquivo algo mais (até algo como helloworld.java ou Helloworld.java), não será capaz de compilá-lo. Faça absolutamente certo que o nome é HelloWorld.java.

Pode salvar os seus arquivos de Java em qualquer lugar você gosta no seu disco, mas eu gosto de ter um diretório central ou pasta para guardar todos eles em. Para os exemplos neste capítulo, pus os meus arquivos em um diretório chamado TYJtests (curto para Ensinam-se Testes de Java).

Compilar e dirigir o arquivo original

Agora é tempo de compilar o arquivo. Se estiver usando o JDK, pode usar as instruções para o seu sistema de computador contido nas seguintes poucas páginas. Se estiver usando um ambiente de desenvolvimento gráfico, haverá mais provavelmente um botão ou opção de compilar o arquivo (confira com a documentação que veio com o seu programa).

Windows
Para compilar o arquivo original de Java, usará a linha de comando compilador de Java que vem com o JDK. Para dirigir o compilador, precisará de lançar primeiro uma concha de DOS. No Windows 95, a concha de DOS é de acordo com o menu Programs (chamou o MS-DOS Pronto).

Do interior de DOS, diretórios de modificação à posição onde salvou o seu arquivo de HelloWorld.java. Pus meu no diretório TYJtests, assim para modificar diretórios usaria esta ordem:

CD C:\TYJtests

Uma vez que se modificou para o diretório direito, use a ordem de javac como se segue, com o nome do arquivo quando o salvou no Windows (estantes de javac do compilador de Java). Observe que tem de assegurar-se que datilografa mesmo assim superior - e letra minúscula aqui também:

javac HelloWorld.java

Observar
A razão que acentuei a utilização do nome de arquivo original consiste em que uma vez que é dentro da concha de DOS, poderia notar que os seus nomes de arquivo longos bonitos foram truncados a 8,3 nomes antiquados e que, de fato, HelloWorld.java de fato se destaca como HELLOW~1.jav. Não apavore; isto é simplesmente um efeito de lado do Windows 95 e como dirige nomes de arquivo longos. Ignore o fato que o arquivo parece ser HELLOW~1.jav e somente usar o nome de arquivo que originalmente usou quando salvou o arquivo.

A figura 1.4 mostra o que fiz na concha de DOS portanto pode assegurar-se que segue ao longo.

A figura 1.4: Compilação de Java na concha de DOS.

Se tudo estiver bem, terminará com um arquivo chamado HelloWorld.class (ou pelo menos isto é o que se chamará se olhar para ele do lado de fora da concha de DOS; do interior de DOS o seu HELLOW~1.cla chamado). Isto é o seu Java bytecode arquivo. Se adquirir algum erro, volte ao seu arquivo original original e assegure-se que o datilografou exatamente como aparece na Listagem 1.1 com o mesmo superior - e letra minúscula. Também se assegure que o nome de arquivo tem exatamente o mesmo superior - e letra minúscula como o nome da classe (isto é, ambos devem ser HelloWorld).

Uma vez que tem um arquivo de classe, pode dirigir aquele arquivo usando Java bytecode intérprete. Chamam o intérprete de Java simplesmente java, e corre do DOS descasca como fez javac. Dirija o seu programa Hello World como isto da linha de comando, com mesmo assim superior - e letra minúscula (e observe que o argumento ao programa java não tem uma extensão de .class):

java HelloWorld

Se o seu programa se datilografou e se compilou corretamente, deve adquirir a frase Hello World! impresso para a sua tela como uma resposta. A figura 1.5 mostra como o fiz.

A figura 1.5: Gerência de aplicações de Java na concha de DOS.

Observar
Lembre-se, o compilador de Java e o intérprete de Java são coisas diferentes. Usa o compilador de Java (javac) para os seus arquivos originais de Java para criar arquivos de .class, e usa o intérprete de Java (java) para dirigir de fato os seus arquivos de classe.

Macintosh
O JDK de Mac vem com uma aplicação chamada Compilador de Java. Para compilar o seu arquivo original de Java, simplesmente arraste e deixe-o em cima do ícone Java Compiler. O programa compilará o seu arquivo de Java e, se não houver erros, criarem um arquivo chamado HelloWorld.class na mesma pasta que o seu arquivo original original.

Ponta
Pôr um pseudônimo do Compilador de Java no desktop faz fácil arrastar e deixar arquivos originais de Java.

Se adquirir algum erro, volte ao seu arquivo original original e assegure-se que o datilografou exatamente como aparece na Listagem 1.1, com o mesmo superior - e letra minúscula. Também se assegure que o nome de arquivo tem exatamente o mesmo superior - e letra minúscula como o nome da classe (isto é, ambos devem ser HelloWorld).

Uma vez que gerou com sucesso um arquivo de HelloWorld.class, simplesmente clique duas vezes nele para dirigi-lo. A aplicação que o Corredor de Java, parte de Mac JDK, começará, e o programa lhe pedirá argumentos de linha de comando. A licença o que protege o espaço em branco e clica em OK. Uma janela etiquetada stdout aparecerá com a mensagem Hello World!. A figura 1.6 mostra aquela janela.

A figura 1.6: Gerência de aplicações de Java em Mac que usa Corredor de Java.

É isso! Tenha em mente como trabalha que usa a aplicação de Compilador de Java para compilar os seus arquivos de .java em arquivos de .class, que então pode dirigir a utilização Corredor de Java.

Para compilar o arquivo original de Java em Solaris, usará a linha de comando compilador de Java que vem com o JDK. De uma linha de comando UNIX, cd ao diretório que contém o seu arquivo original de Java. Pus meu no diretório TYJtests, assim para modificar diretórios usaria esta ordem:

cd ~/TYJtests

Uma vez que está no diretório direito, use a ordem de javac com o nome do arquivo, como isto:

javac HelloWorld.java

Se tudo estiver bem, terminará com um arquivo chamado HelloWorld.class no mesmo diretório que o seu arquivo original. Isto é o seu Java bytecode arquivo. Se adquirir algum erro, volte ao seu arquivo original original e assegure-se que o datilografou exatamente como aparece na Listagem 1.1, com o mesmo superior - e cartas em letras minúsculas. Também se assegure que o nome de arquivo tem exatamente o mesmo superior - e cartas em letras minúsculas como o nome da classe (isto é, ambos devem ser HelloWorld).

Uma vez que tem um arquivo de classe, pode dirigir aquele arquivo usando Java bytecode intérprete. Chamam o intérprete de Java simplesmente java, e dirige-o da linha de comando como fez javac, como isto (e observe que o argumento ao programa java não tem uma extensão de .class):

java HelloWorld

Se o seu programa se datilografou e se compilou corretamente, deve adquirir a frase Hello World! impresso para a sua tela como uma resposta. A figura 1.7 mostra uma listagem de todas as ordens que costumei adquirir a este ponto (a parte com [desire]~[1] é o meu sistema pronto).

A figura 1.7: Compilação e gerência de uma aplicação de Java em Solaris.

Observar
Lembre-se de que o compilador de Java e o intérprete de Java são coisas diferentes. Usa o compilador de Java (javac) para os seus arquivos originais de Java para criar arquivos de .class, e usa o intérprete de Java (java) para dirigir de fato os seus arquivos de classe.

Criar Java Applet

A criação applets é diferente de criar uma aplicação simples. Java applets corre e expõe-se dentro de uma Página da Web com outros elementos de página, e por isso têm regras especiais para como se comportam. Por causa destas regras especiais de applets, criando um maio applet em muitos casos ser mais complexo do que a criação de uma aplicação.

Por exemplo, para criar um simples Olá Mundo applet, em vez de ser simplesmente capaz de imprimir uma mensagem como grupo de carateres, tem de fazer o espaço da sua mensagem nas Páginas da Web e logo usar fonte especial e operações de gráficos para pintar a mensagem à tela.

Observar
De fato, pode dirigir uma aplicação de planície Java como um applet, mas a mensagem de Hello World imprimirá para uma janela especial ou para um arquivo de log, dependendo de como o browser mandou fundar a sua produção. Aprenderá mais sobre isto a próxima semana.

Criação do arquivo original

Neste exemplo, criará um simples Olá Mundo applet, o colocará dentro de uma Página da Web e examinará o resultado. Como com a aplicação Olá Mundial, criará primeiro o arquivo original em um editor de texto simples. A listagem 1.2 mostra o código do exemplo.


A listagem 1.2. Olá Mundo applet.
1: import java.awt.Graphics;
2:
3: public class HelloWorldApplet extends java.applet.Applet {
4:
5:     public void paint(Graphics g) {
6:        g.drawString("Hello world!", 5, 25);
7:    }
8:}

Salve aquele arquivo tão como fez a aplicação Olá Mundial, com o nome de arquivo exatamente o mesmo como o nome da classe. Neste caso o nome de classe é HelloWorldApplet, portanto o nome de arquivo ao qual o salva seria HelloWorldApplet.java. Como com a aplicação, pus o arquivo em um diretório chamado TYJch01, mas pode salvá-lo em qualquer lugar você gosta.

Compilação do arquivo original

O seguinte passo deve compilar Java applet arquivo. Apesar de que isto é um applet, compila o arquivo exatamente o mesmo modo que fez a aplicação de Java, usando um dos seguintes procedimentos:

javac HelloWorldApplet.java
javac HelloWorldApplet.java

Windows
Do interior de uma concha de DOS, cd ao diretório que contém o seu arquivo original applet e uso a ordem de javac de compilar ele (olham os superiores - e cartas em letras minúsculas):

Macintosh
Arraste e deixe o arquivo de HelloWorldApplet.java para o ícone Java Compiler.


Salaris
De uma linha de comando, cd ao diretório que contém o seu arquivo original applet e uso a ordem de javac de compilar ele:

Inclusive Applet em uma página da Web

Se tenha datilografado o arquivo corretamente, deve terminar com um arquivo chamado HelloWorldApplet.class no mesmo diretório que o seu arquivo original. Isto é o seu Java applet arquivo; para ter a corrida de applet dentro de uma Página da Web deve referir-se àquele arquivo de classe dentro do código de HTML daquela página usando a etiqueta de <APPLET>. A listagem 1.3 mostra um arquivo de HTML simples que pode usar.


A listagem 1.3. O HTML com o applet nele.
1: <HTML>
2: <HEAD>
3: <TITLE>Hello to Everyone!</TITLE>
4: </HEAD><BODY>
5: <P>My Java applet says:
6: <APPLET CODE="HelloWorldApplet.class" WIDTH=150 HEIGHT=25>
7: </APPLET>
8: </BODY>
9: </HTML>

Aprenderão mais sobre <APPLET> depois neste livro, mas aqui são duas coisas a observar sobre ele:

Salve o arquivo de HTML no mesmo diretório que o seu arquivo de classe, com um nome descritivo e uma extensão de .html (por exemplo, poderia denominar o seu arquivo de HTML o mesmo nome que o seu applet-HelloWorldApplet.html).

Observar
Como mencionado antes com os arquivos originais de Java, o seu editor de texto pode insistir denominar os seus arquivos de HTML com uma extensão .txt se o Windows não entender para que a extensão .html se usa. Selecione Tipos de View|Options|File de qualquer janela Explorer de Windows para acrescentar um novo tipo de arquivo de arquivos de HTML para resolver este problema.

Agora está pronto para a prova final de fato que examina o resultado de dirigir o seu applet. Para examinar o applet, precisa de um do seguinte:

Se estiver usando um browser permitido por Java como Netscape para examinar os seus arquivos applet, pode usar o Arquivo Aberto... item de acordo com o menu File para navegar ao arquivo de HTML que contém o applet (assegure-se que abre o arquivo de HTML e não o arquivo de classe). No Internet Explorer, selecione File|Open e logo Pesquise para encontrar o arquivo no seu disco. Não precisa de instalar nada em um Servidor Web ainda; tudo isso trabalha no seu sistema local. Observe que Java applet pode levar tempo para lançar depois que a página parece fazer-se carregando; esteja paciente. A figura 1.8 mostra o resultado de dirigir o applet no Netscape.

A figura 1.8: O applet que corre em Netscape.

Se não tiver um Navegador da Web com capacidades de Java incorporadas nele, pode usar o programa appletviewer do JDK para examinar o seu Java applet.

appletviewer HTML/HelloWorldApplet.html

Windows ou Solaris
Para dirigir o appletviewer em Windows ou versões de Solaris do JDK, cd ao diretório onde o seu HTML e os arquivos de classe se contêm e usam a ordem de appletviewer com o nome do HTML entra somente criou:

O appletviewer lhe mostrará só o próprio applet, não o texto de HTML em volta do applet. Embora o appletviewer seja um bom modo de fazer testes simples de Java applets, é uma melhor ideia de adquirir um browser permitido por Java para que possa ver o seu applet na sua página na sua honra cheia.

Resolução de problemas

Se tenha batido em algum problema com os exemplos prévios, esta seção pode ajudar. Aqui estão alguns a maior parte de problemas comuns e como fixá-los:

Sumário

Hoje adquiriu uma introdução básica para a língua de Java e as suas metas e características. Java é uma linguagem de programação, semelhante a C ou C ++, no qual pode desenvolver uma ampla variação de programas. A maior parte de uso comum de Java no momento atual está na criação applets para HotJava, um browser de World Wide Web promovido também escrito em Java. Applets são programas Java de que carregam e corrida como parte de uma Página da Web. Applets pode criar animação, jogos, programas interativos e outros efeitos de multimédia sobre Páginas da Web.

As forças de Java estão na sua portabilidade - tanto na fonte como ao nível binário, no seu desenho orientado ao objeto - e na sua simplicidade. Cada uma destas características ajuda a permitir applets, mas também fazem Java uma língua excelente para escrever mais programas de uso geral que não necessitam que um browser permitido por Java corra. Estes programas Java de uso geral chamam-se aplicações.

Para terminar neste dia, experimentou com um exemplo de um applet e um exemplo de uma aplicação, adquirindo uma sensação das diferenças entre os dois e como criar, compilar, e dirigir programas Java - ou, em caso de applets, como inclui-los em Páginas da Web. Daqui, agora tem a fundação para criar aplicações mais complexas e applets. Para a frente a Dia 2, "Programação orientada ao Objeto e Java"!

Perguntas e Respostas

Q:
Sei muito sobre o HTML, mas não muito sobre a programação de computador. Ainda posso escrever programas Java?
A:
Se não tiver experiência de programação em absoluto, mais provavelmente achará a programação Java significativamente mais difícil do que o HTML. Contudo, Java é uma língua excelente para aprender a programação com, e se pacientemente trabalhar pelos exemplos e os exercícios neste livro, deve ser capaz de aprender bastante para começar com Java.
Q:
Qual é a relação entre JavaScript e Java?
A:
Têm as mesmas quatro primeiras cartas.
Um erro comum no mundo de Web hoje é que Java e JavaScript têm mais em comum do que de fato fazem. Java é a linguagem de programação de uso geral sobre que aprenderá neste livro; usa-o para criar applets. JavaScript é uma língua scripting inventada pelo Netscape que olha o tipo de Java parecido; com ele pode fazer várias coisas elegantes em Páginas da Web. São línguas independentes, usadas com objetivos diferentes. Se se interessar na programação de JavaScript, quererá apanhar outro livro, tais que Se ensinam JavaScript durante uma Semana ou a Oficina de Web de Laura Lemay: JavaScript, ambos também disponíveis de Publicação de Sams.net.
Q:
Segundo a lição de hoje, carregam de Java applets via um browser permitido por Java como Netscape e corrida no sistema do leitor. Não é um buraco de segurança enorme? O que para alguém de escrever um applet que compromete a segurança do meu sistema - ou pior, que danifica o meu sistema?
A:
A equipe de Java de sol pensou muito na segurança de applets dentro de browseres permitidos por Java e implementou vários cheques para assegurar-se que applets não pode fazer coisas sórdidas:
  • Java applets não pode ler ou escrever ao disco no sistema local.
  • Java applets não pode realizar nenhum programa no sistema local.
  • Java applets não pode unir-se a nenhuma máquina na Web exceto o servidor do qual carregam originalmente deles.

Observe que algumas destas restrições podem permitir-se em alguns browseres ou podem acender-se na configuração de browser. Contudo, não pode esperar nenhuma destas capacidades de estar disponível.

Além disso, o compilador de Java e o intérprete verificam tanto o texto fonte de Java como Java bytecodes para assegurar-se que o programador de Java não tentou nenhum truque furtivo (por exemplo, atravessando correndo buffers ou armações de pilha).

Estes cheques obviamente não podem parar cada buraco de segurança potencial (nenhum sistema pode prometer isto!), mas podem reduzir significativamente o potencial de applets hostil. Aprenderá mais sobre questões de segurança de applets no Dia 8, "Java Fundamentos de Applet", e no maior detalhe do Dia 21, "Abaixo do Capuz".

Q:
Segui todas as direções que deu para criar Java applet. Carreguei-o em HotJava, mas Olá o Mundo não se destacou. O que fiz mal?
A:
Não use HotJava para examinar applets que criou neste livro; adquira um browser mais atualizado como Netscape ou Internet Explorer. HotJava foi um browser experimental e não se atualizou desde então logo depois do seu lançamento original. Os passos que toma para definir e escrever que a um applet se modifique desde então, e o applets que escreve agora não correrão em HotJava.
Q:
Mencionou Solaris, Windows e Macintosh neste capítulo. Que tal outros sistemas operacionais?
A:
Se usar um sabor do UNIX outro do que Solaris, as possibilidades são boas que o JDK se transportou em diagonal ao seu sistema. Aqui estão alguns exemplos:

(Graças às perguntas frequentes de Java de Elliote Rusty Harold em http://www.sunsite.unc.edu/javafaq/javafaq/html desta informação.)

Q:
Porque Java não corre no Windows 3.1?
A:
As limitações técnicas no Windows 3.1 fazem Java que transporta em diagonal ao Windows 3.1 especialmente difícil. O rumor tem-no que tanto IBM como Microsoft trabalham em portos, mas nenhuma verdadeira informação é próxima.
Q:
Uso o Bloco de anotações no Windows para editar os meus arquivos de Java. O programa insiste acrescentar uma extensão de .txt a todos os meus arquivos, apesar do que os denomino (portanto sempre termino com arquivos como HelloWorld.java.txt). Em falta de renomeá-los antes que os compile, o que posso fazer para fixar isto?
A:
Embora possa renomear os arquivos justo antes de que os compila, que podem vir para ser uma dor, em particular quando tem muitos arquivos. O problema aqui consiste em que o Windows não entende a extensão de .java (também pode ter este problema com a extensão de .html DE HTML também).

Para fixar isto, entre em qualquer janela Explorer de Windows e selecione Tipos de View|Options|File. Daquela lista, selecione o Novo Tipo. Entre em Java Source Files na Descrição da caixa de Tipo e .java na caixa de Extensão Associada. Então clique em OK. Faça o mesmo com arquivos de HTML se precisar e clicar em OK novamente. Deve ser capaz agora de usar o Bloco de anotações (ou qualquer outro editor de texto) para criar e salvar arquivos de HTML e Java.

Q:
Onde posso aprender mais sobre Java e encontrar que applets e aplicações jogam com?
A:
Pode ler o resto deste livro! Aqui estão alguns outros lugares de procurar a informação de Java e Java applets:
  • A home page de Java em http://www.java.sun.com/ é a fonte oficial da informação de Java, inclusive a informação sobre o JDK, sobre 1,1 lançamento vindoiro, e sobre instrumentos de desenvolvedor como a Oficina de Java, bem como documentação extensa.
  • Gamelan, em http://www.gamelan.com/, é um repositório de applets e informação de Java, organizada em categorias. Se quiser jogar com applets ou aplicações, isto é o lugar de olhar.
  • Para a discussão de Java, verifique os grupos de notícias de comp.lang.java, inclusive comp.lang.java.programmer, comp.lang.java.tech, comp.lang.java.advocacy, e assim por diante. (Precisará de um locutor de Usenet para acessar estes grupos de notícias.)