Módulo 1. Lição 2. Introdução à Programação I. Histórico de Java



Documentos relacionados
Módulo 1. Lição 8. Introdução à Programação I. Argumentos de linha de comando

Módulo 1. Lição 5. Introdução à Programação I. Capturando entrada de dados através do teclado

Módulo 1. Lição 7. Introdução à Programação I. Array em Java

Módulo 1. Lição 1. Introdução à Programação I. Introdução à Programação de Computadores

Módulo 1. Lição 3. Introdução à Programação I. Primeiros passos no ambiente de programação

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

Módulo 1. Lição 10. Introdução à Programação 1. Criando nossas classes

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Programação Orientada a Objetos (DPADF 0063)

Instalando o J2SE 5.0 JDK no Windows 2000/XP

Desenvolvimento Web TCC Turma A-1

Programação de Computadores II TCC Turma A-1

Programação de Computadores - I. Profª Beatriz Profº Israel

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

PROGRAMAÇÃO JAVA. Parte 1

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Corrida da Saúde. Infantis A - Feminino

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Requisitos de Sistema Impressão Comerciale Editorial

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

RESULTADOS. Nome Global ( /100) PT ADÃO AZEVEDO MALHEIRO MATOS BARBOSA 94 B1 PT ADRIANA MORAIS SOUSA 52 A1

Requisitos de Sistema Impressão Comercial e Editorial

Processo Seletivo Público Apex-Brasil ASII-07. Comunicado 04 Resultado Final 1ª Etapa - Análise Curricular 15/05/2014

Lógica de Programação

MFIG - TRABALHO Codigo Nome turma Nota Trabalho Adriana Castro Valente 2 15, Alex da Silva Carvalho 3 14, Alexandre

SEQUÊNCIA LISTA NOMINAL DOS CANDIDATOS APROVADOS 1 MAURO ROBERTO P. DUARTE 2 PAULO RENATO PEDRONI DE ALMEIDA 3 ALEX LOPES LYRIO 4 MARCOS ANDRE MURTA

Introdução à Linguagem Java

Manual de Instalação, Administração e Uso do Sistema Elétric

Tempo. Class. Tempo. Class. Tempo. Class. jdg. Projeção: SAO SALVADOR / S.C. RECIFE. Prova: 4X HB Hora: 09:15:00 Fase: Final. Projeção: E.C.

TURMA 10 H. CURSO PROFISSIONAL DE: Técnico de Multimédia RELAÇÃO DE ALUNOS

Linguagem de Programação Introdução a Linguagem Java

Requisitos de Sistema Impressão Comercial e Editorial

Belo Horizonte, 28 de setembro 2015.

Programação. Dia 31/05 1º período do curso de Engenharia de Computação

LOCAL: Auditório CEAM- O candidato deve pegar um transporte alternativo e pedir ao motorista que o deixe no CEAM que fica logo após o Porto Itaguaí

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

CURSO DE PROGRAMAÇÃO EM JAVA

Sistema de Gestão Comercial Plataforma GSAN. Documento de Procedimento de Instalação

Manual de Instalação do Agente Citsmart

ESCOLA E.B. 2,3 DE LAMAÇÃES

Java Server Pages: Apresentação e Instalação

Planilha Mensal de Ajuda de Custo (Res. 03/2011) Período de junho/2015

Laboratório de Redes. Professora Marcela Santos

CURSO TURNO NOME DO ALUNO CLASSIFICAÇÃO STATUS ENGENHARIA AMBIENTAL E SANITÁRIA noturno ANA CLÁUDIA ARAUJO DA MOTA 0 Desclassificado ENGENHARIA

Lista de Contactos do Departamento de Engenharia Informática

Amanda Cardoso de Melo

Escola Secundária de S. Pedro do Sul (AESPS)

Introdução. O Windows Server 2003 está dividido em quatro versões:

COMÉRCIO INTERNACIONAL CURSO DE ECONOMIA

UNIDADE: MARACANÃ ENGENHARIA INDUSTRIAL ELÉTRICA/TELECOMUNICAÇÕES SEM VAGAS DISPONÍVEIS (NÃO HOUVE FALTAS À MATRÍCULA DE 1ª RECLASSIFICAÇÃO)

Cadastramento de Computadores. Manual do Usuário

Inscrição Nome Opção de Curso Status RAQUEL REZENDE DANTAS EDUCACAO FISICA Aprovado

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TRIÂNGULO MINEIRO

Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves

Atendimento no sábado 06/11/2010. Grupo I 8h00 às 10h30. Local: Campus Samambaia. José Osvaldino da Silva Francisco Santos Sousa João Batista Quirino

Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes rxbrito@gmail.

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais

COMISSÃO ELEITORAL REDUZIDA. Ata da Quarta Reunião

LISTA DE CANDIDATOS ADMITIDOS E NÃO ADMITIDOS. Concurso Oferta de Escola para Contratação de Docente Grupo 110. Ano Letivo /2015

PROCESSO SELETIVO SIMPLIFICADO - EDITAL REDA 001/2013 CANDIDATOS APROVADOS POR ORDEM DE CLASSIFICAÇÃO

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

INSTALAÇÃO WinSEF_CC SEF. Manual de Instalação Versão 1.1. União Sul Brasileira da IASD Campanha de Colportagem 25/03/2009

MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO COMANDO MILITAR DO PLANALTO 11a REGIÃO MILITAR (Cmdo Mil de Bsb/1960) REGIÃO TENENTE-CORONEL LUIZ CRULS

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Ana Carolina Pereira Pires

Programação de Computadores II: Java. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

APRESENTAÇÃO GRAVITYZONE BUSINESS SECURITY

1º EXAMINADOR 2º EXAMINADOR 3º EXAMINADOR MÉDIA ESC. X3 MED PON DID. X4 TIT. X2 P.A. X Desclassificado

Requisitos de Sistema Impressão Comercial e Editorial

Agrupamento Escolas Castro Daire Escola Básica dos 2.º e 3.º Ciclos de Castro Daire. Relação de Alunos

Análise Matemática I - Informática de Gestão Avaliação da 1ª frequência

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Programação Orientada a Objetos

Obs.: poderá ocorrer mudanças na lista.

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

FACULDADE DE TECNOLOGIA SENAC GESTÃO DA TECNOLOGIA DA INFORMAÇÃO ARQUITETURA DE COMPUTADORES

Orientação a Objetos com Java

Quadro Competitivo Xadrez CAE - Round 5

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Aspectos de Segurança em Programação com Java

Pré-Requisitos do Software Themis Pré-Requisitos do Software Themis

UNIVERSIDADE ESTADUAL DE SANTA CRUZ UESC SECRETARIA GERAL DE CURSOS

Nome Curso Golos Amarelos Vermelhos

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

Resultados da Candidatura a Alojamento

Tutorial de instalação do Java 7 no Windows 7.

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

PROGRAMA DE PÓS-GRADUAÇÃO EM DIREITO PROCESSO SELETIVO 2015 PROVA ESCRITA DE CONHECIMENTO JURÍDICO DOUTORADO

Nome N Série: Ferramentas

AMANDA COSTA DE MORAIS

MicrovixPOS Requisitos, Instalação e Execução

MESTRADOS E DOUTORAMENTOS

Candidato Curso Turno Classificação Status Análise Data da Agenda Hora ANA CLAUDIA DE SOUSA. Em processo de análise diurno 1 INFORMAÇÃO

CERTIFICADO DE ATIVIDADE DE EXTENSÃO

Transcrição:

Módulo 1 Introdução à Programação I Lição 2 Histórico de Java Versão 1.0 - Jan/2007

Autor Florence Tiu Balagtas Equipe Joyce Avestro Florence Balagtas Rommel Feria Reginald Hutcherson Rebecca Ong John Paul Petines Sang Shin Raghavan Srinivas Matthew Thompson Necessidades para os Exercícios Sistemas Operacionais Suportados NetBeans IDE 5.5 para os seguintes sistemas operacionais: Microsoft Windows XP Profissional SP2 ou superior Mac OS X 10.4.5 ou superior Red Hat Fedora Core 3 Solaris 10 Operating System (SPARC e x86/x64 Platform Edition) NetBeans Enterprise Pack, poderá ser executado nas seguintes plataformas: Microsoft Windows 2000 Profissional SP4 Solaris 8 OS (SPARC e x86/x64 Platform Edition) e Solaris 9 OS (SPARC e x86/x64 Platform Edition) Várias outras distribuições Linux Configuração Mínima de Hardware Nota: IDE NetBeans com resolução de tela em 1024x768 pixel Sistema Operacional Processador Memória HD Livre Microsoft Windows Linux 500 MHz Intel Pentium III workstation ou equivalente 500 MHz Intel Pentium III workstation ou equivalente 512 MB 850 MB 512 MB 450 MB Solaris OS (SPARC) UltraSPARC II 450 MHz 512 MB 450 MB Solaris OS (x86/x64 Platform Edition) AMD Opteron 100 Série 1.8 GHz 512 MB 450 MB Mac OS X PowerPC G4 512 MB 450 MB Configuração Recomendada de Hardware Sistema Operacional Processador Memória HD Livre Microsoft Windows Linux 1.4 GHz Intel Pentium III workstation ou equivalente 1.4 GHz Intel Pentium III workstation ou equivalente 1 GB 1 GB 1 GB 850 MB Solaris OS (SPARC) UltraSPARC IIIi 1 GHz 1 GB 850 MB Solaris OS (x86/x64 Platform Edition) AMD Opteron 100 Series 1.8 GHz 1 GB 850 MB Mac OS X PowerPC G5 1 GB 850 MB Requerimentos de Software NetBeans Enterprise Pack 5.5 executando sobre Java 2 Platform Standard Edition Development Kit 5.0 ou superior (JDK 5.0, versão 1.5.0_01 ou superior), contemplando a Java Runtime Environment, ferramentas de desenvolvimento para compilar, depurar, e executar aplicações escritas em linguagem Java. Sun Java System Application Server Platform Edition 9. Para Solaris, Windows, e Linux, os arquivos da JDK podem ser obtidos para sua plataforma em http://java.sun.com/j2se/1.5.0/download.html Para Mac OS X, Java 2 Plataform Standard Edition (J2SE) 5.0 Release 4, pode ser obtida diretamente da Apple's Developer Connection, no endereço: http://developer.apple.com/java (é necessário registrar o download da JDK). Para mais informações: http://www.netbeans.org/community/releases/55/relnotes.html Introdução à Programação I 2

Colaboradores que auxiliaram no processo de tradução e revisão Alexandre Mori Alexis da Rocha Silva Aline Sabbatini da Silva Alves Allan Wojcik da Silva André Luiz Moreira Andro Márcio Correa Louredo Antoniele de Assis Lima Antonio Jose R. Alves Ramos Aurélio Soares Neto Bruno da Silva Bonfim Bruno dos Santos Miranda Bruno Ferreira Rodrigues Carlos Alberto Vitorino de Almeida Carlos Alexandre de Sene Carlos André Noronha de Sousa Carlos Eduardo Veras Neves Cleber Ferreira de Sousa Cleyton Artur Soares Urani Cristiano Borges Ferreira Cristiano de Siqueira Pires Derlon Vandri Aliendres Fabiano Eduardo de Oliveira Fábio Bombonato Fernando Antonio Mota Trinta Flávio Alves Gomes Francisco das Chagas Francisco Marcio da Silva Gilson Moreno Costa Givailson de Souza Neves Gustavo Henrique Castellano Hebert Julio Gonçalves de Paula Heraldo Conceição Domingues Hugo Leonardo Malheiros Ferreira Ivan Nascimento Fonseca Jacqueline Susann Barbosa Jader de Carvalho Belarmino João Aurélio Telles da Rocha João Paulo Cirino Silva de Novais João Vianney Barrozo Costa José Augusto Martins Nieviadonski José Leonardo Borges de Melo José Ricardo Carneiro Kleberth Bezerra G. dos Santos Lafaiete de Sá Guimarães Leandro Silva de Morais Leonardo Leopoldo do Nascimento Leonardo Pereira dos Santos Leonardo Rangel de Melo Filardi Lucas Mauricio Castro e Martins Luciana Rocha de Oliveira Luís Carlos André Luís Octávio Jorge V. Lima Luiz Fernandes de Oliveira Junior Luiz Victor de Andrade Lima Manoel Cotts de Queiroz Marcello Sandi Pinheiro Marcelo Ortolan Pazzetto Marco Aurélio Martins Bessa Marcos Vinicius de Toledo Maria Carolina Ferreira da Silva Massimiliano Giroldi Mauricio Azevedo Gamarra Mauricio da Silva Marinho Mauro Cardoso Mortoni Mauro Regis de Sousa Lima Namor de Sá e Silva Néres Chaves Rebouças Nolyanne Peixoto Brasil Vieira Paulo Afonso Corrêa Paulo José Lemos Costa Paulo Oliveira Sampaio Reis Pedro Antonio Pereira Miranda Pedro Henrique Pereira de Andrade Renato Alves Félix Renato Barbosa da Silva Reyderson Magela dos Reis Ricardo Ferreira Rodrigues Ricardo Ulrich Bomfim Robson de Oliveira Cunha Rodrigo Pereira Machado Rodrigo Rosa Miranda Corrêa Rodrigo Vaez Ronie Dotzlaw Rosely Moreira de Jesus Seire Pareja Sergio Pomerancblum Silvio Sznifer Suzana da Costa Oliveira Tásio Vasconcelos da Silveira Thiago Magela Rodrigues Dias Tiago Gimenez Ribeiro Vanderlei Carvalho Rodrigues Pinto Vanessa dos Santos Almeida Vastí Mendes da Silva Rocha Wagner Eliezer Roncoletta Auxiliadores especiais Revisão Geral do texto para os seguintes Países: Brasil Tiago Flach Guiné Bissau Alfredo Cá, Bunene Sisse e Buon Olossato Quebi ONG Asas de Socorro Coordenação do DFJUG Daniel deoliveira JUGLeader responsável pelos acordos de parcerias Luci Campos - Idealizadora do DFJUG responsável pelo apoio social Fernando Anselmo - Coordenador responsável pelo processo de tradução e revisão, disponibilização dos materiais e inserção de novos módulos Regina Mariani - Coordenadora responsável pela parte jurídica Rodrigo Nunes - Coordenador responsável pela parte multimídia Sérgio Gomes Veloso - Coordenador responsável pelo ambiente JEDI TM (Moodle) Agradecimento Especial John Paul Petines Criador da Iniciativa JEDI TM Rommel Feria Criador da Iniciativa JEDI TM Introdução à Programação I 3

1. Objetivos Nesta lição iremos discutir um pouco da história de Java e o que é a tecnologia Java. Também iremos discutir as fases de um programa Java. Ao final desta lição, o estudante será capaz de: Descrever as características da tecnologia Java como a JVM - Máquina Virtual Java, Garbage Collection e segurança do código; Descrever as diferentes fases de um programa Java. Introdução à Programação I 4

2. Explorando o Java 2.1. Um pouco da história Java foi criado em 1991 por James Gosling da Sun Microsystems. Inicialmente chamada OAK (Carvalho), em homenagem à uma árvore de janela do Gosling, seu nome foi mudado para Java devido a existência de uma linguagem com o nome OAK. Figura 1: James Gosling criador do Java A motivação original do Java era a necessidade de uma linguagem independente de plataforma que podia ser utilizada em vários produtos eletrônicos, tais como torradeiras e refrigeradores. Um dos primeiros projetos desenvolvidos utilizando Java era um controle remoto pessoal chamado *7 (Star Seven). Figura 2: Star Seven Ao mesmo tempo, a World Wide Web e a Internet foram ganhando popularidade. Gosling achava que a linguagem Java poderia ser usada para programação da Internet. 2.2. O que é a tecnologia Java? 2.2.1. Uma linguagem de programação Como linguagem de programação, Java pode ser utilizado para criar todos os tipos de aplicações existentes, de programas de Inteligência Artificial para Robôs até programas para aparelhos celulares. Introdução à Programação I 5

2.2.2. Um ambiente de desenvolvimento Como ambiente de desenvolvimento, a tecnologia Java fornece um grande conjunto de ferramentas: um compilador, um interpretador, um gerador de documentação, ferramenta de empacotamento de classes de arquivos e outros. 2.2.3. Um ambiente de aplicação Aplicações de tecnologia Java são tipicamente programas de propósito geral que executam sobre uma máquina onde o Java Runtime Environment é instalado. 2.2.4. Um ambiente de distribuição Há dois ambientes de distribuição principais: Primeiro, o JRE, fornecido através do Java 2 Software Development Kit (SDK), contém um conjunto completo de arquivos de classes para todos pacotes de tecnologia Java. Outro ambiente de distribuição é o navegador web, ou seja, o browser. Os navegadores web atuais fornecem interpretação à tecnologia e ambiente Java em tempo de execução. Figura 3: JDK e JRE 2.3. Algumas características do Java 2.3.1. Máquina Virtual Java A Máquina Virtual Java é uma máquina imaginária que é implementada através de um software emulador em uma máquina real. A JVM provê especificações de plataforma de hardware na qual compila-se todo código de tecnologia Java. Essas especificações permitem que o software Java seja uma plataforma independente pois a compilação é feita por uma máquina genérica conhecida como JVM. O bytecode é uma linguagem de máquina especial que pode ser entendida pela Máquina Virtual Java (JVM). O bytecode é independente de qualquer hardware de computador particular. Assim, qualquer computador com o interpretador Java pode executar um programa Java compilado, não importando em que tipo de computador o programa foi compilado. Introdução à Programação I 6

2.3.2. Garbage Collection Muitas linguagens de programação permitem ao programador alocar memória durante o tempo de execução. Entretanto, após utilizar a memória alocada, deve existir uma maneira para desalocar o bloco de memória de forma que os demais programas a utilizem novamente. Em C, C++ e outras linguagens o programador é o responsável por isso. Isso, às vezes, pode ser difícil já que instâncias podem ser esquecidas de serem desalocadas da memória pelos programadores e resultar no que chamamos de escapes da memória. Em Java, o programador não possui a obrigação da retirar uma variável criada das áreas de memória, isto é feito por uma parte da JVM específica que chamamos de Garbage Collection. O Garbage Collection é o grande responsável pela liberação automática do espaço em memória. Isso acontece automaticamente durante o tempo de vida do programa Java. 2.3.3. Segurança do Código Segurança do Código é alcançada em Java através da implementação da Java Runtime Environment (JRE). A JRE roda códigos compilados para a JVM e executa o carregamento de classes (através do Class Loader), verificação de código (através do verificador de bytecode) e finalmente o código executável. O Class Loader é responsável por carregar todas as classes necessárias ao programa Java. Isso adiciona segurança através da separação do namespace entre as classes do sistema de arquivos local e aquelas que são importadas pela rede. Isso limita qualquer ação de programas que podem causar danos, pois as classes locais são carregadas primeiro. Depois de carregar todas as classes, a quantidade de memória que o executável irá ocupar é determinada. Isto acrescenta, novamente, uma proteção ao acesso não autorizado de áreas restritas ao código pois a quantidade de memória ocupada é determinada em tempo de execução. Após carregar as classes e definir a quantidade de memória, o verificador de bytecode verifica o formato dos fragmentos de código e pesquisa nestes fragmentos por códigos ilegais que possam violar o direito de acesso aos objetos. Depois que tudo isso tiver sido feito, o código é finalmente executado. 2.4. Fases do Programa Java A figura seguinte descreve o processo de compilação e execução de um programa Java. Figura 1: Fases de um Programa Java. O primeiro passo para a criação de um programa Java é escrever os programas em um editor de texto. Exemplos de editores de texto que podem ser utilizados: bloco de notas, vi, emacs, etc. Esses arquivos são armazenados no disco rígido com a extensão.java. Introdução à Programação I 7

Após o programa Java ter sido criado e salvo, compile o programa utilizando o Compilador Java. A saída desse processo é um arquivo de bytecode com extensão.class. O arquivo.class é então lido pelo Interpretador Java que converte os bytecodes em linguagem de máquina do computador que se está usando. Tarefa Ferramenta utilizada Saída Escrever o programa Qualquer editor de texto Arquivo com extensão.java Compilar o programa Compilador Java Arquivo com extensão.class (Java bytecode) Executar o programa Interpretador Java Saída do programa Tabela 1: Resumo das fases de um programa Java. Introdução à Programação I 8

Parceiros que tornaram JEDI TM possível Instituto CTS Patrocinador do DFJUG. Sun Microsystems Fornecimento de servidor de dados para o armazenamento dos vídeo-aulas. Java Research and Development Center da Universidade das Filipinas Criador da Iniciativa JEDI TM. DFJUG Detentor dos direitos do JEDI TM nos países de língua portuguesa. Banco do Brasil Disponibilização de seus telecentros para abrigar e difundir a Iniciativa JEDI TM. Politec Suporte e apoio financeiro e logístico a todo o processo. Borland Apoio internacional para que possamos alcançar os outros países de língua portuguesa. Instituto Gaudium/CNBB Fornecimento da sua infra-estrutura de hardware de seus servidores para que os milhares de alunos possam acessar o material do curso simultaneamente. Introdução à Programação I 9