Este documento fornece uma introdução básica à linguagem de programação Java, discutindo sua criação pela Sun Microsystems nos anos 90, seu objetivo de ser executado em qualquer dispositivo, e seu uso de uma máquina virtual para alcançar portabilidade entre plataformas. Ele também cobre como escrever o primeiro programa Java "Olá Mundo", compilá-lo e executá-lo, e exercícios básicos para consolidar os conceitos aprendidos.
Desmistificando um Ambiente de Desenvolvimento WEB com VagrantLuis Henrique Costa
Este documento apresenta a ferramenta Vagrant, que simplifica o ambiente de desenvolvimento web. Vagrant permite a criação, configuração e provisionamento de máquinas virtuais de forma automatizada e portátil através do arquivo Vagrantfile. O documento também discute como ferramentas como Puppet e PuPHPet podem ser usadas para automatizar ainda mais a configuração do ambiente de desenvolvimento.
O documento discute o desenvolvimento PHP usando Vagrant para criar ambientes de desenvolvimento virtualizados, consistentes e portáteis. Ele introduz o Vagrant, explica como ele automatiza a configuração de hardware, sistema operacional e softwares usando boxes, provisionamento e comandos simples. O documento também fornece exemplos de Vagrantfiles e projetos open source que usam Vagrant.
Java é uma linguagem de programação orientada a objetos desenvolvida pela Sun Microsystems em 1991. Originalmente chamada de OAK, Java foi lançada oficialmente em 1995 e posteriormente tornada de código aberto. Java funciona compilando código para a máquina virtual Java (JVM) em vez de linguagem de máquina nativa, permitindo que o mesmo código Java rode em diferentes plataformas.
O documento descreve as etapas de desenvolvimento de um programa Java, desde a escrita do código fonte em um arquivo .java até a execução do bytecode gerado pela compilação em diferentes sistemas operacionais através da máquina virtual Java (JVM). O código fonte é compilado usando o javac em um arquivo .class e então executado usando o comando java, com a JVM interpretando o bytecode em plataformas como DOS, SCO, Windows e Linux.
[Curso Java Básico] Aula 02: Instalando o Java no Windows (Windows XP, Window...Loiane Groner
O documento fornece instruções passo a passo para instalar o Java no Windows, incluindo baixar o instalador, executar a instalação, testar a versão do Java e configurar as variáveis de ambiente. O leitor é incentivado a instalar o Java no seu próprio sistema como lição de casa para as próximas aulas do curso.
Curso Java Básico Aula 01: Introdução e Dicas para quem está ComeçandoLoiane Groner
O documento introduz a tecnologia Java, descrevendo o que é Java, o que pode ser feito com ela e como ela pode mudar a vida de alguém. É fornecido um guia básico sobre como começar com Java, incluindo dicas para iniciantes e recursos úteis.
O documento discute o uso de Vagrant e Docker para criar ambientes de desenvolvimento isolados e configurados automaticamente. Vagrant permite criar máquinas virtuais idênticas em diferentes sistemas operacionais, enquanto Docker facilita a criação e uso de containers leves com aplicações e serviços. Ambas as ferramentas automatizam a configuração do ambiente e isolam as dependências do projeto.
O documento discute o desenvolvimento de aplicativos móveis com Java, abordando as tecnologias Java ME, JavaFX, Android e Javafxports. O JavaFX e o Javafxports permitem levar aplicativos Java para dispositivos móveis, enquanto o Android é um sistema operacional baseado em Java.
Desmistificando um Ambiente de Desenvolvimento WEB com VagrantLuis Henrique Costa
Este documento apresenta a ferramenta Vagrant, que simplifica o ambiente de desenvolvimento web. Vagrant permite a criação, configuração e provisionamento de máquinas virtuais de forma automatizada e portátil através do arquivo Vagrantfile. O documento também discute como ferramentas como Puppet e PuPHPet podem ser usadas para automatizar ainda mais a configuração do ambiente de desenvolvimento.
O documento discute o desenvolvimento PHP usando Vagrant para criar ambientes de desenvolvimento virtualizados, consistentes e portáteis. Ele introduz o Vagrant, explica como ele automatiza a configuração de hardware, sistema operacional e softwares usando boxes, provisionamento e comandos simples. O documento também fornece exemplos de Vagrantfiles e projetos open source que usam Vagrant.
Java é uma linguagem de programação orientada a objetos desenvolvida pela Sun Microsystems em 1991. Originalmente chamada de OAK, Java foi lançada oficialmente em 1995 e posteriormente tornada de código aberto. Java funciona compilando código para a máquina virtual Java (JVM) em vez de linguagem de máquina nativa, permitindo que o mesmo código Java rode em diferentes plataformas.
O documento descreve as etapas de desenvolvimento de um programa Java, desde a escrita do código fonte em um arquivo .java até a execução do bytecode gerado pela compilação em diferentes sistemas operacionais através da máquina virtual Java (JVM). O código fonte é compilado usando o javac em um arquivo .class e então executado usando o comando java, com a JVM interpretando o bytecode em plataformas como DOS, SCO, Windows e Linux.
[Curso Java Básico] Aula 02: Instalando o Java no Windows (Windows XP, Window...Loiane Groner
O documento fornece instruções passo a passo para instalar o Java no Windows, incluindo baixar o instalador, executar a instalação, testar a versão do Java e configurar as variáveis de ambiente. O leitor é incentivado a instalar o Java no seu próprio sistema como lição de casa para as próximas aulas do curso.
Curso Java Básico Aula 01: Introdução e Dicas para quem está ComeçandoLoiane Groner
O documento introduz a tecnologia Java, descrevendo o que é Java, o que pode ser feito com ela e como ela pode mudar a vida de alguém. É fornecido um guia básico sobre como começar com Java, incluindo dicas para iniciantes e recursos úteis.
O documento discute o uso de Vagrant e Docker para criar ambientes de desenvolvimento isolados e configurados automaticamente. Vagrant permite criar máquinas virtuais idênticas em diferentes sistemas operacionais, enquanto Docker facilita a criação e uso de containers leves com aplicações e serviços. Ambas as ferramentas automatizam a configuração do ambiente e isolam as dependências do projeto.
O documento discute o desenvolvimento de aplicativos móveis com Java, abordando as tecnologias Java ME, JavaFX, Android e Javafxports. O JavaFX e o Javafxports permitem levar aplicativos Java para dispositivos móveis, enquanto o Android é um sistema operacional baseado em Java.
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe ScannerLoiane Groner
Este documento fornece instruções sobre como ler dados do teclado em Java, incluindo ler uma linha inteira ou um tipo de dado específico usando a classe Scanner. Ele também lista os requisitos do JDK e IDE e fornece um link para um curso online completo sobre Java básico.
O documento fornece instruções para importar e usar um robô de exemplo chamado AndersonRobot no NetBeans, explica recursos avançados do AdvancedRobot, dá exemplos de robôs avançados e descreve uma Liga Nacional de Robocode no Brasil.
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
Talk apresentada no Tchêlinux - Pelotas (2014)
Falando de ambientes de desenvolvimento virtual, apontando as facilitades/vantagens do uso do mesmo, e usando vagrant como ferramenta criar esses ambientes
O documento resume as piores práticas ao usar containers, como usar a tag :latest que pode quebrar o projeto com atualizações, expor portas públicas deixando a aplicação vulnerável, e instalar/atualizar pacotes dentro do container que podem quebrar a imutabilidade. Ele também discute outras práticas como armazenar dados sensíveis, usar root, não usar .dockerignore e ter múltiplos serviços em um container.
O documento discute o que é o JavaFX, apresentando-o como uma abordagem prática para desenvolvimento de interfaces ricas na web e em dispositivos móveis. Apresenta alguns recursos como animações, kits de desenvolvimento e demonstra exemplos de código JavaFX para criação de jogos e aplicativos CRUD. Conclui dizendo que o JavaFX vale a pena ser aprendido.
O documento discute porque programadores preguiçosos e criativos são melhores, explicando que eles criam ferramentas que automatizam tarefas manuais e evitam código repetitivo. Também apresenta o GruntJS, um gerenciador de tarefas front-end em JavaScript, e explica como instalá-lo e configurá-lo em um projeto.
O documento discute ferramentas para testes automatizados em dispositivos móveis, comparando Calabash e iPhoneDriver. Calabash permite escrever testes de aceitação automatizados em aplicativos móveis usando Ruby e Cucumber, funcionando em Android e iOS. iPhoneDriver é um projeto obsoleto que recomenda usar ios-driver ou Appium, e é usado para testar navegadores em iPhone usando linguagens como Java e Ruby.
O documento discute como o JavaFX pode ser usado em dispositivos Android através do projeto JavaFXPorts, que permite portar aplicativos JavaFX para iOS e Android usando conceitos de ports. Explica o processo de conversão de projetos JavaFX para projetos Android usando ferramentas como o Android SDK, Ant e Gradle.
Este documento apresenta uma mini-aula sobre a linguagem de programação Java, explicando sua origem na década de 1990, suas principais características como portabilidade e orientação a objetos, e demonstra um exemplo de código Java.
[Curso Java Básico] Aula 06: Passando argumentos para o programaLoiane Groner
Este documento ensina como passar argumentos para um programa Java da linha de comando. Ele explica como compilar e executar um programa simples chamado "Argumentos" que imprime o primeiro argumento passado e fornece um exemplo de código para isso. Também dá uma tarefa para criar um programa semelhante que imprime "Olá Mundo" concatenado com o argumento.
O documento apresenta o Vagrant, uma ferramenta que agiliza a configuração de ambientes de desenvolvimento virtuais. O Vagrant automatiza a instalação de sistemas operacionais e softwares em máquinas virtuais, tornando os ambientes leves, reproduzíveis e portáteis. O documento demonstra como usar os principais comandos do Vagrant e fornece referências para aprender mais sobre a ferramenta.
QUnit é um framework JavaScript para testes unitários. Ele permite escrever testes, fazer afirmações sobre o resultado esperado e verificar se os testes falham ou passam. Rhino é uma implementação do JavaScript para Java que permite executar testes QUnit no servidor.
Simples pelo simples google android com robo guiceDiogo Souza
O documento apresenta o framework RoboGuice para injeção de dependências em aplicativos Android. Discute como o RoboGuice permite escrever código Android de forma mais simples e desacoplada, evitando atividades grandes com muitas responsabilidades. Apresenta um exemplo de uso do RoboGuice para injetar dependências em uma atividade e reduzir seu acoplamento.
O documento discute o desenvolvimento de aplicativos com Node.js, Ionic e Angular, incluindo como instalar as ferramentas necessárias, criar um projeto Ionic, estrutura de diretórios e uso de componentes e câmera nativa.
Este documento fornece uma introdução básica à linguagem de programação Java, discutindo sua criação pela Sun Microsystems nos anos 90, seu motivador de ser executado em qualquer dispositivo, e como a máquina virtual Java permite que um programa escrito uma vez possa ser executado em qualquer sistema operacional. O documento também fornece instruções para escrever o primeiro programa Java simples e exercícios para consolidar os conceitos aprendidos.
Slides utilizados para treinamento interno na DBlinks visando o aprendizado básico da linguagem Java.
* Exemplos retirados de cursos e posts da Alura (www.alura.com.br)
Este documento fornece uma introdução aos conceitos fundamentais da linguagem de programação Java, incluindo:
1) Como obter o Java Development Kit e ferramentas de desenvolvimento como Eclipse ou NetBeans;
2) Principais conceitos como classe, objeto, métodos e atributos;
3) Organização de classes em pacotes e importação de pacotes;
4) Tipos de dados primitivos e wrappers em Java.
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
O documento discute conceitos fundamentais de lógica de programação, incluindo:
1) O objetivo de desenvolver o raciocínio lógico do aluno para programação de computadores.
2) Diferentes tipos de linguagens de programação como imperativa, funcional, lógica e orientada a objetos.
3) Conceitos como algoritmos, variáveis, constantes, diagramas de blocos e pseudocódigo para representar algoritmos.
O documento apresenta uma introdução à tecnologia Java, descrevendo sua história, características e aplicações. Resumidamente, Java é uma linguagem de programação orientada a objetos desenvolvida pela Sun Microsystems em 1991 que permite escrever um código uma vez e executá-lo em qualquer sistema compatível, independentemente da plataforma hardware ou software, graças à máquina virtual Java. O documento também explica brevemente os componentes JDK, JRE e o mecanismo de coleta de lixo automática de Java.
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe ScannerLoiane Groner
Este documento fornece instruções sobre como ler dados do teclado em Java, incluindo ler uma linha inteira ou um tipo de dado específico usando a classe Scanner. Ele também lista os requisitos do JDK e IDE e fornece um link para um curso online completo sobre Java básico.
O documento fornece instruções para importar e usar um robô de exemplo chamado AndersonRobot no NetBeans, explica recursos avançados do AdvancedRobot, dá exemplos de robôs avançados e descreve uma Liga Nacional de Robocode no Brasil.
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
Talk apresentada no Tchêlinux - Pelotas (2014)
Falando de ambientes de desenvolvimento virtual, apontando as facilitades/vantagens do uso do mesmo, e usando vagrant como ferramenta criar esses ambientes
O documento resume as piores práticas ao usar containers, como usar a tag :latest que pode quebrar o projeto com atualizações, expor portas públicas deixando a aplicação vulnerável, e instalar/atualizar pacotes dentro do container que podem quebrar a imutabilidade. Ele também discute outras práticas como armazenar dados sensíveis, usar root, não usar .dockerignore e ter múltiplos serviços em um container.
O documento discute o que é o JavaFX, apresentando-o como uma abordagem prática para desenvolvimento de interfaces ricas na web e em dispositivos móveis. Apresenta alguns recursos como animações, kits de desenvolvimento e demonstra exemplos de código JavaFX para criação de jogos e aplicativos CRUD. Conclui dizendo que o JavaFX vale a pena ser aprendido.
O documento discute porque programadores preguiçosos e criativos são melhores, explicando que eles criam ferramentas que automatizam tarefas manuais e evitam código repetitivo. Também apresenta o GruntJS, um gerenciador de tarefas front-end em JavaScript, e explica como instalá-lo e configurá-lo em um projeto.
O documento discute ferramentas para testes automatizados em dispositivos móveis, comparando Calabash e iPhoneDriver. Calabash permite escrever testes de aceitação automatizados em aplicativos móveis usando Ruby e Cucumber, funcionando em Android e iOS. iPhoneDriver é um projeto obsoleto que recomenda usar ios-driver ou Appium, e é usado para testar navegadores em iPhone usando linguagens como Java e Ruby.
O documento discute como o JavaFX pode ser usado em dispositivos Android através do projeto JavaFXPorts, que permite portar aplicativos JavaFX para iOS e Android usando conceitos de ports. Explica o processo de conversão de projetos JavaFX para projetos Android usando ferramentas como o Android SDK, Ant e Gradle.
Este documento apresenta uma mini-aula sobre a linguagem de programação Java, explicando sua origem na década de 1990, suas principais características como portabilidade e orientação a objetos, e demonstra um exemplo de código Java.
[Curso Java Básico] Aula 06: Passando argumentos para o programaLoiane Groner
Este documento ensina como passar argumentos para um programa Java da linha de comando. Ele explica como compilar e executar um programa simples chamado "Argumentos" que imprime o primeiro argumento passado e fornece um exemplo de código para isso. Também dá uma tarefa para criar um programa semelhante que imprime "Olá Mundo" concatenado com o argumento.
O documento apresenta o Vagrant, uma ferramenta que agiliza a configuração de ambientes de desenvolvimento virtuais. O Vagrant automatiza a instalação de sistemas operacionais e softwares em máquinas virtuais, tornando os ambientes leves, reproduzíveis e portáteis. O documento demonstra como usar os principais comandos do Vagrant e fornece referências para aprender mais sobre a ferramenta.
QUnit é um framework JavaScript para testes unitários. Ele permite escrever testes, fazer afirmações sobre o resultado esperado e verificar se os testes falham ou passam. Rhino é uma implementação do JavaScript para Java que permite executar testes QUnit no servidor.
Simples pelo simples google android com robo guiceDiogo Souza
O documento apresenta o framework RoboGuice para injeção de dependências em aplicativos Android. Discute como o RoboGuice permite escrever código Android de forma mais simples e desacoplada, evitando atividades grandes com muitas responsabilidades. Apresenta um exemplo de uso do RoboGuice para injetar dependências em uma atividade e reduzir seu acoplamento.
O documento discute o desenvolvimento de aplicativos com Node.js, Ionic e Angular, incluindo como instalar as ferramentas necessárias, criar um projeto Ionic, estrutura de diretórios e uso de componentes e câmera nativa.
Este documento fornece uma introdução básica à linguagem de programação Java, discutindo sua criação pela Sun Microsystems nos anos 90, seu motivador de ser executado em qualquer dispositivo, e como a máquina virtual Java permite que um programa escrito uma vez possa ser executado em qualquer sistema operacional. O documento também fornece instruções para escrever o primeiro programa Java simples e exercícios para consolidar os conceitos aprendidos.
Slides utilizados para treinamento interno na DBlinks visando o aprendizado básico da linguagem Java.
* Exemplos retirados de cursos e posts da Alura (www.alura.com.br)
Este documento fornece uma introdução aos conceitos fundamentais da linguagem de programação Java, incluindo:
1) Como obter o Java Development Kit e ferramentas de desenvolvimento como Eclipse ou NetBeans;
2) Principais conceitos como classe, objeto, métodos e atributos;
3) Organização de classes em pacotes e importação de pacotes;
4) Tipos de dados primitivos e wrappers em Java.
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
O documento discute conceitos fundamentais de lógica de programação, incluindo:
1) O objetivo de desenvolver o raciocínio lógico do aluno para programação de computadores.
2) Diferentes tipos de linguagens de programação como imperativa, funcional, lógica e orientada a objetos.
3) Conceitos como algoritmos, variáveis, constantes, diagramas de blocos e pseudocódigo para representar algoritmos.
O documento apresenta uma introdução à tecnologia Java, descrevendo sua história, características e aplicações. Resumidamente, Java é uma linguagem de programação orientada a objetos desenvolvida pela Sun Microsystems em 1991 que permite escrever um código uma vez e executá-lo em qualquer sistema compatível, independentemente da plataforma hardware ou software, graças à máquina virtual Java. O documento também explica brevemente os componentes JDK, JRE e o mecanismo de coleta de lixo automática de Java.
Este documento apresenta uma mini-aula sobre a linguagem de programação Java, explicando sua origem no início dos anos 1990, suas principais características como portabilidade e orientação a objetos, e demonstra um exemplo simples de código Java.
O documento apresenta uma introdução básica à linguagem de programação Java, descrevendo sua natureza orientada a objetos e portabilidade, as principais edições e elementos do universo Java, incluindo JDK, JRE, JVM e API. O autor é o professor Sérgio Luiz da Silveira.
O documento apresenta uma introdução básica à linguagem de programação Java, descrevendo o que é Java, suas principais características como portabilidade e orientação a objetos, e os principais elementos do universo Java, incluindo JDK, JRE, JVM e API Java.
O documento resume conceitos básicos de programação orientada a objetos em Java, incluindo: O que é Java, JVM, JRE e JDK; Como criar um programa Java passo a passo; E o que é uma IDE e principais IDEs.
O documento fornece uma introdução abrangente ao Java, cobrindo tópicos como:
1) A história e características fundamentais da linguagem Java;
2) Os componentes-chave do ambiente Java como a máquina virtual Java e o coletor de lixo;
3) As etapas de um programa Java;
4) Ferramentas do JDK e versões do Java.
O documento fornece uma introdução abrangente ao Java, cobrindo tópicos como:
1) A história e características fundamentais da linguagem Java;
2) Os componentes-chave do ambiente Java como a máquina virtual Java e o coletor de lixo;
3) As etapas de um programa Java;
4) Ferramentas do JDK e versões do Java.
O documento fornece uma introdução abrangente ao Java, cobrindo tópicos como:
1) A história e características fundamentais da linguagem Java;
2) Os componentes-chave do ambiente Java como a máquina virtual Java e o coletor de lixo;
3) As etapas do desenvolvimento de um programa Java.
O documento fornece uma introdução abrangente ao Java, cobrindo tópicos como:
1) A história e características fundamentais da linguagem Java;
2) Os componentes-chave do ambiente Java como a máquina virtual Java e o coletor de lixo;
3) As etapas de um programa Java;
4) Ferramentas do JDK e versões do Java.
O documento apresenta uma introdução à programação orientada a objetos na linguagem Java, abordando tópicos como: a história e evolução do Java desde sua criação em 1991; as principais distribuições da linguagem (JSE, JEE, JME); a máquina virtual Java e o compilador; e um exemplo simples de um programa "Hello World" em Java.
O documento discute Java e fornece informações sobre:
1. As expectativas de vários alunos em relação ao curso de Java;
2. Breve histórico da linguagem Java, sua máquina virtual, coletor de lixo e ferramentas;
3. Convenções de nomenclatura em Java.
O documento apresenta um curso de Programação Orientada a Objetos com Java ministrado pelo instrutor Daniel Bernardo. O curso é destinado a estudantes, programadores e empresas interessadas em aprender Java. Ele é dividido em 6 aulas que cobrem conceitos de OO, Java e APIs importantes como Swing e JDBC.
O documento apresenta conceitos básicos sobre programação orientada a objetos com Java. Resume os principais tópicos abordados:
1) Apresenta o Eclipse como um ambiente de desenvolvimento integrado (IDE) para Java;
2) Explica as diferenças entre JDK, JRE e JVM e suas funções na execução de programas Java;
3) Define o arquivo JAR como um arquivo compactado usado para distribuir classes Java compiladas.
O documento explica como compilar programas Java usando o compilador javac. Primeiro, é necessário configurar as variáveis de ambiente JAVA_HOME e PATH para apontar para a instalação do Java. Em seguida, para compilar um programa Java chamado Exemplo.java, usa-se o comando "javac Exemplo.java" no prompt de comando, que cria o arquivo Exemplo.class. Para executar o programa, usa-se "java Exemplo".
Esta apresentação contém alguns conceitos fundamentais sobre a linguagem de programação Java. É indicada para quem não tem nenhum conhecimento sobre o assunto.
O documento descreve a história da linguagem de programação Java, desde sua criação no projeto Green pela Sun Microsystems em 1991 até seu lançamento em 1995. Foi desenvolvida inicialmente para o dispositivo *7 e depois adaptada para rodar na Internet, tornando-se popular por meio de aplicativos em navegadores.
A plataforma Java foi desenvolvida inicialmente pela Sun Microsystems como uma linguagem para dispositivos móveis e evoluiu para ser independente de plataforma. Sua arquitetura é baseada na máquina virtual Java (JVM) e na API Java. As principais características da plataforma Java incluem orientação a objetos, portabilidade, segurança e distribuição.
O documento discute linguagens de programação, apresentando suas categorias e o ciclo de vida do desenvolvimento de programas. A linguagem Java é introduzida, incluindo sua história, tecnologia, máquina virtual e portabilidade. Ambientes de desenvolvimento Java também são explicados.
O documento discute linguagens de programação, apresentando suas categorias e o ciclo de vida do desenvolvimento de programas. A linguagem Java é então introduzida, desde sua criação até suas principais características como portabilidade, máquina virtual e plataformas.
Este documento apresenta um capítulo sobre introdução à linguagem de programação Java. O capítulo aborda as características da linguagem Java, como sua portabilidade através da máquina virtual Java, seus usos em diferentes ambientes como aplicativos desktop e web. Também discute os tipos de dados, variáveis, operadores e estruturas de controle de fluxo em Java.
2. O motivador Java
Máquina Virtual
O primeiro código
Executando seu primeiro programa
Como é o BYTECODE?
Exercitar é Preciso
A LINGUAGEM JAVA
3. O Java foi criado pela SUN no inicio dos anos 90 e teve o
nome OAK;
Java foi criado para ser uma linguagem unica para uma
infinidade de dispositivos;
Em 1994 surgiu a primeira versão Java, o java 1.0;
O MOTIVADOR JAVA
13. Preparar o ambiente Java:
Utilize o artigo "Preparando_o_Ambiente.pdf" que pode ser
encontrado em
www.fullcodes.com.br/artigos/Preparando_o_Ambiente.pdf
1 Crie seu primeiro programa Java imprimindo uma mensagem
diferente.
2 Altere seu programa para imprimir duas linhas de texto
usando duas linhas de código System.out. Compile, rode e
compartilhe o código do seu programa.
EXERCITAR É PRECISO
14. 3 Sabendo que os caracteres nrepresentam uma quebra de
linha, imprima duas linhas de texto usando uma única linha de
código System.out.
4 Um arquivo fonte Java deve sempre ter a extensão .java, ou
o compilador o rejeitará. Além disso, existem algumas outras
regras na hora de dar o nome de um arquivo Java.
Experimente gravar o código deste capítulo com
OutroNome.javaou algo similar. Compile e verifique o nome do
arquivo gerado. Como executar a sua aplicação?
EXERCITAR É PRECISO
Notas do Editor
O MOTIVADOR JAVA
Quais eram os maiores problemas para programadores na década de 1990?
ponteiros?gerenciamento de memória?organização?falta de bibliotecas?ter de reescrever parte do código ao mudar de sistema operacional? custo financeiro de usar a tecnologia?
A linguagem Java resolve bem esses problemas, que até então apareciam com frequência nas outras linguagens. Alguns desses problemas foram particularmente atacados porque uma das grandes motivações para a criação da plataforma Java era de que essa linguagem fosse usada em pequenos dispositivos, como tvs, videocassetes, aspiradores, liquidificadores e outros. Apesar disso a linguagem teve seu lançamento focado no uso em clientes web (browsers) para rodar pequenas aplicações (applets). Hoje em dia esse não é o grande mercado do Java: apesar de ter sido idealizado com um propósito e lançado com outro, o Java ganhou destaque no lado do servidor.
O Java foi criado pela Sun (http://www.sun.com) e mantida através de um comitê (http://www.jcp.org). Seu site principal era o java.sun.com, e java.com um site mais institucional, voltado ao consumidor de produtos e usuários leigos, não desenvolvedores. Com a compra da Sun pela Oracle em 2009, muitas URLs e nomes tem sido trocados para refletir a marca da Oracle. A página principal do Java é: (http://www.oracle.com/technetwork/java/)http://www.oracle.com/technetwork/java/ (http://www.oracle.com/technetwork/java/).
Máquina Virtual
Em uma linguagem de programação como C e Pascal, temos a seguinte situação quando vamos compilar um programa: o código fonte é compilado para código de máquina específico de uma plataforma e sistema operacional. Muitas vezes o próprio código fonte é desenvolvido visando uma única plataforma!
Esse código executável (binário) resultante será executado pelo sistema operacional e, por esse motivo, ele deve saber conversar com o sistema operacional em questão.
Isto é, temos um código executável para cada sistema operacional. É necessário compilar uma vez para Windows, outra para o Linux, e assim por diante, caso a gente queira que esse nosso software possa ser utilizado em várias plataformas. Esse é o caso de aplicativos como o OpenOffice, Firefox e outros.
Na maioria das vezes, a sua aplicação se utiliza das bibliotecas do sistema operacional, como, por exemplo, a de interface gráfica para desenhar as "telas". A biblioteca de interface gráfica do Windows é bem diferente das do Linux: como criar então uma aplicação que rode de forma parecida nos dois sistemas operacionais?
Precisamos reescrever um mesmo pedaço da aplicação para diferentes sistemas operacionais, já que eles não são compatíveis.
Já o Java utiliza do conceito de máquina virtual, onde existe, entre o sistema operacional e a aplicação, uma camada extra responsável por "traduzir" - mas não apenas isso - o que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional onde ela está rodando no momento.
Dessa forma, a maneira com a qual você abre uma janela no Linux ou no Windows é a mesma: você ganha independência de sistema operacional. Ou, melhor ainda, independência de plataforma em geral: não é preciso se preocupar em qual sistema operacional sua aplicação está rodando, nem em que tipo de máquina, configurações, etc.
Repare que uma máquina virtual é um conceito bem mais amplo que o de um interpretador. Como o próprio nome diz, uma máquina virtual é como um "computador de mentira": tem tudo que um computador tem. Em outras palavras, ela é responsável por gerenciar memória, threads, a pilha de execução, etc.
Sua aplicação roda sem nenhum envolvimento com o sistema operacional! Sempre conversando apenas com a Java Virtual Machine (JVM).
Essa característica é interessante: como tudo passa pela JVM, ela pode tirar métricas, decidir onde é melhor alocar a memória, entre outros. Uma JVM isola totalmente a aplicação do sistema operacional. Se uma JVM termina abruptamente, só as aplicações que estavam rodando nela irão terminar: isso não afetará outras JVMs que estejam rodando no mesmo computador, nem afetará o sistema operacional.
Essa camada de isolamento também é interessante quando pensamos em um servidor que não pode se sujeitar a rodar código que possa interferir na boa execução de outras aplicações.
Essa camada, a máquina virtual, não entende código java, ela entende um código de máquina específico. Esse código de máquina é gerado por um compilador java, como o javac, e é conhecido por "bytecode", pois existem menos de 256 códigos de operação dessa linguagem, e cada "opcode" gasta um byte. O compilador Java gera esse bytecode que, diferente das linguagens sem máquina virtual, vai servir para diferentes sistemas operacionais, já que ele vai ser "traduzido" pela JVM.
Vamos para o nosso primeiro código!
O programa que imprime uma linha simples.
Para mostrar uma linha, podemos fazer:
1. System.out.println("Minha primeira aplicação Java!");
Mas esse código não será aceito pelo compilador java.
O Java é uma linguagem bastante burocrática, e precisa de mais do que isso para iniciar uma execução.
O mínimo que precisaríamos escrever é algo como:
class MeuPrograma {
public static void main(String[] args) {
System.out.println("Minha primeira aplicação Java!");
}
}
Após digitar o código acima, grave-o como MeuPrograma.java em algum diretório. Para compilar, você deve pedir para que o compilador de Java da Oracle, chamado %%javac%%, gere o bytecode correspondente ao seu código Java.
Depois de compilar, o bytecode foi gerado. Quando o sistema operacional listar os arquivos contidos no diretório atual, você poderá ver que um arquivo .class foi gerado, com o mesmo nome da sua classe Java.
Para executar o primeiro código Java siga os passos abaixo:
Abra o terminal do seu sistema operacional
Windows utiliza o “Command”
Linux e Os X utilizam o “Terminal”
Executando seu primeiro programa
Os procedimentos para executar seu programa são muito simples. O javac é o compilador Java, e o java é o responsável por invocar a máquina virtual para interpretar o seu programa.
1. java MeuPrograma
Ao executar, pode ser que a acentuação resultante saia errada devido a algumas configurações que deixamos de fazer. Sem problemas.
Para saber mais: como é o bytecode?
O MeuPrograma.class gerado não é legível por seres humanos (não que seja impossível). Ele está escrito no formato que a virtual machine sabe entender e que foi especificado que ela entendesse.
É como um assembly, escrito para esta máquina em específico. Podemos ler os mnemônicos utilizando a ferramenta javap que acompanha o JDK:
javap -c MeuPrograma
MeuPrograma();
Code:
0: aload_0
1: invokespecial
4: return #1; //Method java/lang/Object."<init>":()V
public static void main(java.lang.String[]);
Code:
0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #3; //String Minha primeira aplicação Java!!
5: invokevirtual #4; //Method java/io/PrintStream.println:
(Ljava/lang/String;)V
8: return
É o código acima, que a JVM sabe ler. É o "código de máquina", da máquina virtual.
Um bytecode pode ser revertido para o .java original (com perda de comentários e nomes de variáveis locais). Caso seu software vá virar um produto de prateleira, é fundamental usar um ofuscador no seu código, que vai embaralhar classes, métodos e um monte de outros recursos (indicamos o http://proguard.sf.net (http://proguard.sf.net)).
1 R:
class MeuProgramaModificado { public static void main(String[] args) {
System.out.println("Uma mensagem diferente.");
}
}
2 R:
class MeuProgramaModificado { public static void main(String[] args) {
System.out.println("Uma mensagem.");
System.out.println("Outra mensagem.");
}
}
3 R:
class MeuProgramaModificado { public static void main(String[] args) {
System.out.println("Minha primeira linha\nE minha segunda linha!”);
}
}
4 R:
O arquivo .classgerado tem o nome da classe em si. Então, como o que executamos é a classe, para rodar é preciso usar o nome do arquivo .classe não do .java:
java NomeDaClasse