Java & OpenJDK Thiago S. Gonzaga Sun Campus Ambassador [email protected] Tópicos •Sobre a Sun Microsystems •Algumas tecnologias da Sun •Linguagem de Programação •Ciclo de Desenvolvimento •O que é Java? •Histórico de Java •OpenJDK •Por que usar Java? •Grupo de Usuários Java •O que fazer/Onde ir •Prêmio de inovação da comunidade Sobre a Sun Microsystems •A Sun possui uma relação muito especial com instituições de ensino, pois ela nasceu em um campus universitário. O nome Sun vem de Stanford University Network (Rede da Universidade de Stanford), fundada em 1982, com uma visão singular - “The Network is the Computer” (A rede é o computador) - desde o primeiro dia, nossos sistemas já incluíam uma interface de rede e todos os nossos funcionários usavam e-mail. Isto aconteceu há 16 anos. Desde então, a Sun vem percorrendo uma trajetória de inovação e liderança que vai de protocolos que impulsionam a Internet até a nossa (amplamente adotada) tecnologia Java - utilizada em tudo, de cartões inteligentes e supercomputadores. Sobre a Sun Microsystems •A Sun tem 33 350 funcionários em todo mundo. •Possuimos negócios em mais de 100 países no mundo. •Sun recebeu três prêmios Tecnologia do ano da InfoWorld 2008: SO Servidor mais inovador: Solaris 10, Melhor Sistema de Arquivpos: Solaris ZFS, Melhor servidor de armazenamento: Sun Fire X4500 (Thumper). •Sun anunciou a aquisição da MySQL™ AB, um ícone open source e desenvolvedor de um dos mais acendentes banco de dados open source. Tecnologias da Sun para você Ferramentas educacionais Open Source • *NetBeans - www.netbeans.org • *Open JDK – http://openjdk.java.net • OpenSolaris - http://br.pensolaris.org • OpenSparc - http://www.opensparc.net • *Java - http://dev.java.net Linguagens de Programação • Alto nível ➢ (C, C++, Java) • Baixo nível ➢ (Assembly,linguagem de máquina) Ciclo de programação O que é Java? • Java é uma linguagem de progamação de alto nível orientada a objetos desenvolvida pela Sun Microsystems. • Uma linguagem compilada e interpretada • Multi-plataforma, os programas escritos em Java funcionam na maioria dos sistemas operacionais conhecidos. • Java é uma linguagem Open Source e seu código fonte pode ser encontrado na Internet. Plataforma Java • J2SE – Java Standard Edition – Desenvolvimento Desktop • J2ME – Java Micro Edition - Desenvolvimento para dispositivos móveis • J2EE – Java Enterprise Edition - Desenvolvimento Web Historico de Java • Java foi criado em 1991 por por James Gosling da Sun Microsystems. • Inicialmente chamada OAK (Carvalho), em homenagem à uma árvore de janela do Gosling, seu nome foi mudado devido a existência de uma linguagem com o nome OAK. • Um dia tomando café em um barzinho, Gosling estava lendo as propagandas que normalmente havia nos folhetos nas mesas dos bares, e em letras muito pequenas estava escrito “café produzido na Ilha de Java”, a partir dai, resolveu dar o nome da sua linguagem de “Java” e seu símbolo(logotipo) se tornou uma xícara de café. Historico de Java James Gosling criador de Java OpenJDK • Para desenvolver programas em Java é necessário ter o JDK. • O JDK ou Java Development Kit (Kit de Desenvolvimento Java) é um conjunto de ferramentas para desenvolver programas em linguagem Java • JDK é composto por compilaror (javac), interpretador ou maquina virtual (JVM), bibliotecas, APIs e utilitarios. • JDK também é opensource. Javac • Javac é o compilador Java • Ao contrário de um compilador de uma linguagem nativa o compilador Java não gera um arquivo binário (linguagem da maquina), e sim um arquivo com bytecodes • Bytecodes é a linguagem da maquina virtual Maquina virtual • A maquina virtual ou JVM (Java Virtual Machine) é uma maquina que roda sobre uma maquina real • Ela intrepreta os bytecodes e os transforma em codigo nativo • É uma das principal caracteristica de Java ser uma linguagem multiplataforma • Qualquer maquina real com qualquer sistema operacional que possuir uma maquina virtual java é capaz de executar um programa Java, mesmo se ele não foi feito nessa maquina Processo do Código Ou seja... Resumindo... Garbage Collection • Em algumas linguagem após utilizar algum recurso (variável) na memória o programador deve manualmente desalocar essa parte da memória para que possa ser utilizada novamente por outro programa. Porém muitos se esquecem de fazer isso o que resulta nos chamados escapes de memória (em Windows, Blue Screen of Death). • Em Java, o programador não possui a obrigação de 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. Caracteristicas Gerais • • • • • • • • • Simples Orientada a objetos Distribuida MultiThread Dinamica Portavel (Independente de Arquitetuta) Robusta Segura Alta Performance* Por que usar Java? 5 bilhões de dispositivos com Java (Desktop, mobile phones, java cards, set-top boxes, brinquedos, sistemas de navegação, robôs, etc). 6 milhões de desenvolvedores Java pelo Mundo; 6,5 Milhões de linhas de código no Java SE software livre licenciado GPL v2; 436 milhões de downloads da JRE 8.750.000 de downloads do Java SDK -(SE, EE, ME) 6,3 milhões de downloads do Java SE JDK; Por que usar Java? 60% PCs já são vendidos com o Java SE pre instalado; 90% PCs com Java Virtual Machine; 800 Milhões de Desktops com Java; 7 Milhões de set-top boxes com Java habilitado; 4 Milhões de dispositivos Blu Ray habilitados com Java. Por que usar Java? Mais de CEM linguagens já foram testadas para rodar dentro da JVM (Java Virtual Machine); Bolsa de valores NASDAC, que roda tudo com Real Time Java e suporta 5 bilhões de dolares por dia de transações que são da ordem de 158.378 por segundo; http://www.tiobe.com/tpci.htm Grupo de Usuários Java Sun Microsystems afirma que “um Grupo de Usuários Java é um grupo de pessoas que compartilham um interesse comum: a tecnologia Java, e se encontram regularmente para compartilhar idéias e informações. Na verdade, a estrutura de um JUG pode variar enormemente, de um pequeno grupo de amigos e colegas para um um grande grupo de empresas localizadas em uma mesma área geográfica. Independentemente do tamanho ou foco de um JUG em particular, o espírito da comunidade permanecem o mesmo”. Java O que fazer • Entre no site http://java.sun.com e baixe o pacote de desenvolvimento java (JDK) • Cadastre-se na lista de e-mails do seu grupo • Mande suas dúvidas e sugestões • Crie algo legal! • Compartilhe seu código Java & OpenJDK http://www.sun.com OBRIGADO! Thiago S. Gonzaga Sun Campus Ambassador [email protected]