SlideShare uma empresa Scribd logo
1 de 43
BEM-VINDO À JAVA
O que vamos ver
  hoje?




CONCEITOS BÁSICOS,
Introdução a linguagem Java;
Um pouco de História
Java Virtual Machine; Bytecode;
Método e Classe;
Garbage Collection
OBJETIVOS


    Apresentar o mundo java e um pouco de sua história.

    Compreender os aspectos que colaboraram para o
    crescimento da linguagem Java.

    Entender o processo de compilação.

    Compreender a anatomia de uma classe.

    Conhecer o Garbage Collection

    Criar programas usando o editor de texto com uma console de
    desenvolvimento.
O que é Java?
Java é uma linguagem de programação introduzida no mercado em 1995
pela Sun Microsystems, que provocou e ainda provoca entusiasmo em
programadores, analistas e projetistas de softwares.

Mas porque Java produz essa reação?
Simplesmente porque Java é resultado de um trabalho consistente de
pesquisa e desenvolvimento de mais do que uma simples linguagem de

                    programação, mas todo um ambiente de
                    desenvolvimento e execução de programas que exibe
                    as facilidades proporcionadas pela orientação à objetos,

                                    pela extrema portabilidade do código
                                    produzido, pelas características de
                                    segurança que esta plataforma
                                    oferece e finalmente pela facilidade
                                    de sua integração aos outros
                                    ambientes, destacando-se a internet.
Um pouco de História
A partir do século XIII quando os
Vikings exploraram e colonizaram
grandes áreas da Europa e das
ilhas do Atlântico Norte...


Ops! Não é preciso voltar tanto
assim...rs
Um pouco de História
Tudo começou em 1991, com um
pequeno grupo de projeto da Sun
Microsystem denominado green que
pretendia criar uma nova geração de
computadores portáteis e inteligentes,
capazes de se comunicar de várias
formas, ampliando suas potencialidades
de uso. Para tanto decidiram criar uma
nova plataforma para desenvolvimento
destes equipamentos de forma que seu
software pudesse ser portado para os
mais diferentes tipos de equipamentos.
A primeira escolha de uma linguagem
de programação para tal foi C++, mas
mesmo o C++ não permitia realizar tudo
aquilo que o grupo visionava...
James Gosling, coordenador do projeto,
                                        decidiu então pela criação de uma nova
                                        linguagem de programação que
                                        pudesse conter tudo aquilo que era
                                        considerado importante e que ainda
                                        assim fosse simples, portátil e fácil de
                                        programar.
                                        Surgiu assim a linguagem
                                        interpretada Oak
                                        (carvalho em inglês)
                                        Batizada assim dada a existência de
                                        uma destas árvores em frente ao
                                        escritório de Gosling. Para dar suporte
                                        também surgiu o Green OS e uma
                                        interface gráfica padronizada.

Mas tarde descobriu-se que já existia uma linguagem com esse nome, o
nome java foi sugerido por acaso quando a equipe visitava a cafeteria
(java era o nome de uma cidade de origem de um café importado).
Durante algum tempo o projeto passou por dificuldades por causa da falta de
mercado, pois o mercado produtos eletrônicos que era o principal foco da
linguagem não estava crescendo como esperado, porém apos a grande
popularidade alcançada pela internet em 1993, a Sun viu o grande potencial que o
java tinha para criar paginas mais dinâmicas. A Sun anunciou formalmente o Java
em 1995, e hoje é uma das linguagens mais populares do mundo, sendo usada
para construir páginas web, sistemas para PC, celulares e todo tipo de
dispositivos moveis.
Apesar de relativamente nova, a linguagem Java obteve uma espetacular aceitação
por programadores do mundo inteiro, tendo se difundido como nunca antes ocorreu
com uma linguagem de programação.

Características que colaboraram para grande aceitação da linguagem Java

        • simples
        • orientada a objetos
        • interpretada
        • robusta
        • portável e de arquitetura neutra
        • alta performance
        • distribuída e dinâmica
        • multithreaded
        • segura


                                   Com o advento da Internet, que tornou ainda
                          mais necessário a comunicação entre plataformas
                          heterogêneas, estes fatores fizeram com que o Java
                          fosse a tecnologia perfeita para este novo cenário.
Simples

Java foi idealizada para ser de fácil entendimento. Ela tem uma
sintaxe muito parecida com a do C e C++, facilitando a migração dos
programadores destas linguagens.
Orientada a objetos

A programação orientada a objetos está baseada no conceito de
classes. Uma classe é um conjunto de dados e métodos para
manipulação destes. Os dados podem ser vistos como as
propriedades do objeto, enquanto os métodos são os
comportamentos do objeto.
Interpretada

O compilador Javac gera um código
("byte code") para uma máquina
Virtual (Java virtual Machine - JVM),
ao invés de um código de máquina
para uma plataforma específica.
Qualquer plataforma que possuir um
interpretador Java poderá executar o
programa compilado. Assim, o
programa compilado é independente
de plataforma .
Robusta

Java foi desenvolvida para garantir a criação
de programas altamente confiáveis. Ela não
dispensa uma programação cuidadosa, mas
elimina alguns tipos de erros de programação,
possíveis em outras linguagens. A ausência da
aritmética de ponteiros exclui toda uma classe
de erros relacionados a esse tipo de estrutura.
O acesso a arrays e strings e a conversão de
tipos são checados em tempo de execução para
assegurar a sua validade. A coleta de lixo
(garbage collection) faz a desalocação
automática de memória evitando erros de
referência (ponteiros nulos), e perda de área de
memória por não desalocação de objetos não
mais referidos (leakage). Finalmente, o recurso
de Exception Handling permite o tratamento de
erros em tempo de execução, por um mecanismo
robusto, análogo ao do C++.
Portável e de arquitetura neutra

O fato do compilador gerar um código neutro ("byte code") permite
que o mesmo programa possa ser executado em qualquer máquina e
sistema operacional que possua um interpretador Java. Mas isto não
basta para um programa ser portável. Java pretende garantir que
todos os aspectos da linguagem sejam independentes da plataforma.
Por exemplo, Java especifica o tamanho e comportamento de cada
tipo de dado. É diferente de C no qual um tipo int pode ter 16, 32 ou
64 bits dependendo da plataforma.
Alta performance

Por ser uma linguagem interpretada, Java não oferece a mesma
velocidade de programas escritos em C/C++. Mas a sua performance
é adequada para aplicações como interface gráfica de programas
interativos e para funcionar em rede, já que eles demandam algum
tempo para a entrada de dados. Para aplicações onde se pode abrir
mão da portabilidade, podemos usar Java na interface gráfica e nos
recursos de rede e integrar um pacote escrito em C/C++ para as
operações de cálculo. Também é importante salientar que existe um
projeto da Sun em parceria com grandes empresas para melhorar a
performance da linguagem o que pode trazer grandes benefícios a
curto prazo.
Distribuída e dinâmica

Java verifica o tipo de qualquer objeto em tempo de compilação e
dinamicamente em tempo de execução.
Imagine agora que criamos um programa para tratamento de imagens.
Com o tempo os padrões vão se alterando e o nosso programa
precisa de atualizações. Em java é possível que o próprio programa se
atualize, conectando um computador remoto e carregando a classe
necessária, tudo isso em tempo de execução. Isto permite que
tenhamos instalado um programa simples que busca as classes
necessárias em diversos computadores da rede. Esta é a razão de
chamá-la de uma linguagem distribuída.
Multithreaded

Um programa escrito em Java
pode realizar várias tarefas
assincronamente com o uso de
"Threads". Criar um "Thread" e
manipulá-lo é tão simples quanto
criar e trabalhar com qualquer
variável. Isto permite que uma
rotina possa ser executada sem
que o usuário tenha que esperar
para entrar um novo comando do
programa. Por exemplo, ao lançar
um thread para imprimir um
documento, o usuário estará
imediatamente livre para continuar
sua edição.
Segura

Como vimos Java é uma linguagem que pode manipular objetos
distribuídos pela rede. Para garantir a segurança do sistema contra
operações ilegais existe a classe Security Manager. O objetivo é
permitir a execução de um programa, monitorando as ações que
podem causar dano ao sistema. Por exemplo, podemos impedir que
um programa tenha acesso ao disco local ou a informações do nosso
sistema. Mas se temos certeza da origem do programa, podemos ser
menos rígidos dando mais acesso ao mesmo. Isto é possível através
de uma assinatura digital, recurso implementado nas versões mais
novas da linguagem.
Parte II
Tá bom… Mas como o
Java funciona?
aaah! Eu acho que
estou entendendo.
Public class OlaMundo {

      public static void main (string[ ] args) {
             System.out.println(“Olá!”);
             System.out.println(“Mundo”);
        }
}
Máquina Virtual Java - JVM

A máquina virtual java (JVM) é uma máquina imaginária que emula
uma aplicação em uma máquina real. É a JVM que permite a
portabilidade do código Java, isto ocorre porque todo código Java é
compilado para um formato intermediário, bytecode, este formato é
então interpretado pela JVM.

Existem diversas JVMs cada uma delas destinada a um tipo de
sistema operacional (Windows, Linux, Mac e etc.), desta forma sendo o
código da aplicação Java, bytecode, um código interpretado pela JVM,
podemos desenvolver uma aplicação sem nos preocuparmos onde ela
será executada pois sabemos que existindo a JVM instalada nosso
código será executável.
BYTECODE

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.
Coletor de Lixo – Garbage Collection
Coletor de Lixo – Garbage Collection

Muitas linguagens de programação nos permitem alocar
espaço na memória em tempo de execução, uma vez
encerrado o programa deve haver uma maneira de
liberar este espaço para que outras aplicações possam
utilizá-lo. Em muitas das linguagens de programação,
inclusive C e C++, a responsabilidade pela liberação do
espaço que não mais será utilizado é do programador,
no entanto, nem sempre é fácil gerenciar
o que está e o que não está sendo
utilizado, a má gerência da memória
ocasiona muitas vezes o estouro de pilha
(stack overflow) entre outros problemas.
Na linguagem de programação Java a
responsabilidade pela gerência da memória é do
Coletor de lixo (Garbage Collector), desta forma,
programadores Java ficam livres da preocupação de
alocação e desalocação da memória.
O Coletor de lixo é um processo que roda em segundo
plano e é responsável pela liberação de memória
alocada por variáveis que não mais serão utilizadas
pela aplicação.
Exercícios

Criando a primeira aplicação console

Neste exercício utilizaremos um simples editor de texto, que pode ser
o gedit do Linux ou o notepad do Windows, para editar o código
fonte. Em seguida será necessário abrir uma janela
terminal para compilar e executar os programas.
Primeiro Programa Java


1º passo: digitar o código fonte


Digite as seguintes instruções no editor de textos:

public class Hello
{
   /**
    * Meu primeiro programa Java
    */
   public static void main(String[] args) {
// Mostra na tela o texto "Hello world"
       System.out.println("Hello world!");
   }
}
Primeiro Programa Java


2º passo: Salvar o programa Java


Chamaremos o programa de "Hello.java" e o
colocaremos em uma pasta denominada
"myJavaPrograms".

ATENÇÃO: Para o Notepad no Windows, mude o
Tipo para "All Files" (em Save as Type).
Primeiro Programa Java

3º passo: Abrir a janela de console


Para abrir o terminal no Linux, selecione
Applications ⇒ Accessories ⇒ Terminal.

Para abrir o terminal no Windows, selecione
Start ⇒ Run... e na janela que se apresenta, digite
cmd e pressione o botão OK
Primeiro Programa Java


4º passo: Compilar o programa


Para compilar o programa, utilizamos o comando:
javac [Nome do Arquivo]. Ou seja:
javac Hello.java

Durante a compilação, é criado o arquivo: [Nome do
Arquivo].class, neste caso, Hello.class,
que contém o código em linguagem de máquina
(chamado de bytecode).
Primeiro Programa Java


5º passo: Executar o programa


Assumindo que não ocorreu problemas na
compilação (caso tenha ocorrido qualquer problema
refaça os passos realizados), estamos prontos para
executar o programa.

Para executar o programa, utilizamos o comando:
java [nome do arquivo sem a extensão].
No caso do exemplo, digite:
java Hello
Exercícios
             1. Crie uma classe que imprima o seguinte texto “Bem-vindo
             ao mundo Java”.

             2. Compile e execute a classe desenvolvida no exercício
             anterior.

             3. Comente o trecho de código responsável pela execução
             da impressão, compile e execute.

             4. O que é o Garbage Collection e qual a sua função?
Pensamento



"Seja lá o que você fizer, seja bom nisso."

                                 Abraham Lincoln
Introdução à linguagem Java: conceitos básicos e história

Mais conteúdo relacionado

Mais procurados

Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em JavaDenis L Presciliano
 
Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open SourceDiogo Silva
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileCloves da Rocha
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linuxRogério Cardoso
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisVirgínia
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualizaçãocamila_seixas
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPFilipo Mór
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeHelder Lopes
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugolGabriel Faustino
 

Mais procurados (20)

Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 
Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open Source
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linux
 
Javascript aula 01 - visão geral
Javascript   aula 01 - visão geralJavascript   aula 01 - visão geral
Javascript aula 01 - visão geral
 
Introducao as rede de computadores
Introducao as rede de computadoresIntroducao as rede de computadores
Introducao as rede de computadores
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualização
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de Rede
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Evolução do windows
Evolução do windows Evolução do windows
Evolução do windows
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 

Destaque

Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Luis Borges Gouveia
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...Professor Samuel Ribeiro
 
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...Professor Samuel Ribeiro
 
Introdução à programação para web com Java - Módulo 01: Conceitos básicos
Introdução à programação para web com Java -  Módulo 01: Conceitos básicosIntrodução à programação para web com Java -  Módulo 01: Conceitos básicos
Introdução à programação para web com Java - Módulo 01: Conceitos básicosProfessor Samuel Ribeiro
 
Apresentação do Curso Técnico em Informática para Internet
Apresentação do Curso Técnico em Informática para InternetApresentação do Curso Técnico em Informática para Internet
Apresentação do Curso Técnico em Informática para InternetProfessor Samuel Ribeiro
 
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...Professor Samuel Ribeiro
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem JavaUFPA
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)raquelcarsi
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chaveDenis Sobrenome
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objetoDanilo Alves
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 

Destaque (20)

ApresentaçãO De Java
ApresentaçãO De JavaApresentaçãO De Java
ApresentaçãO De Java
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
 
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
 
Introdução a java
Introdução a javaIntrodução a java
Introdução a java
 
Ihm Aula 06 Gestalt 25.03.08 E
Ihm   Aula 06   Gestalt  25.03.08 EIhm   Aula 06   Gestalt  25.03.08 E
Ihm Aula 06 Gestalt 25.03.08 E
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Introdução à programação para web com Java - Módulo 01: Conceitos básicos
Introdução à programação para web com Java -  Módulo 01: Conceitos básicosIntrodução à programação para web com Java -  Módulo 01: Conceitos básicos
Introdução à programação para web com Java - Módulo 01: Conceitos básicos
 
Apresentação do Curso Técnico em Informática para Internet
Apresentação do Curso Técnico em Informática para InternetApresentação do Curso Técnico em Informática para Internet
Apresentação do Curso Técnico em Informática para Internet
 
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
 
Algoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetiçãoAlgoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetição
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 

Semelhante a Introdução à linguagem Java: conceitos básicos e história

Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoRegis Magalhães
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoRegis Magalhães
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo JavaTI Infnet
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1PeslPinguim
 
27072010221224.introdução a java aula 1
27072010221224.introdução a java   aula 127072010221224.introdução a java   aula 1
27072010221224.introdução a java aula 1bibliotecadobarao
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaRosicleia Frasson
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO IOs Fantasmas !
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introduçãoDenis Sobrenome
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introduçãoDenis Sobrenome
 
Curso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaCurso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaAlex Braz
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Aécio Costa
 
Apostila Java
Apostila JavaApostila Java
Apostila Javadeilton
 
Apostila Java
Apostila JavaApostila Java
Apostila Javadeilton
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 

Semelhante a Introdução à linguagem Java: conceitos básicos e história (20)

Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral Resumo
 
Java
JavaJava
Java
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
 
27072010221224.introdução a java aula 1
27072010221224.introdução a java   aula 127072010221224.introdução a java   aula 1
27072010221224.introdução a java aula 1
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com Java
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
 
Cursos
CursosCursos
Cursos
 
Curso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaCurso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação java
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Apostila Java
Apostila JavaApostila Java
Apostila Java
 
Apostila Java
Apostila JavaApostila Java
Apostila Java
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 

Mais de Professor Samuel Ribeiro

Tecnologia, Inovação e uma pitada de Programação
Tecnologia, Inovação e uma pitada de ProgramaçãoTecnologia, Inovação e uma pitada de Programação
Tecnologia, Inovação e uma pitada de ProgramaçãoProfessor Samuel Ribeiro
 
Java básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetosJava básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetosProfessor Samuel Ribeiro
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Professor Samuel Ribeiro
 
Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos Professor Samuel Ribeiro
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de RepetiçãoProfessor Samuel Ribeiro
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controleProfessor Samuel Ribeiro
 
Java básico - módulo 03: captura de dados
Java  básico - módulo 03: captura de dadosJava  básico - módulo 03: captura de dados
Java básico - módulo 03: captura de dadosProfessor Samuel Ribeiro
 
Aula 03 - Mecanismos da Percepção Humana
Aula 03  - Mecanismos da Percepção HumanaAula 03  - Mecanismos da Percepção Humana
Aula 03 - Mecanismos da Percepção HumanaProfessor Samuel Ribeiro
 

Mais de Professor Samuel Ribeiro (20)

Tecnologia, Inovação e uma pitada de Programação
Tecnologia, Inovação e uma pitada de ProgramaçãoTecnologia, Inovação e uma pitada de Programação
Tecnologia, Inovação e uma pitada de Programação
 
Informatica Básica - Sexta Básica
Informatica Básica - Sexta BásicaInformatica Básica - Sexta Básica
Informatica Básica - Sexta Básica
 
Java básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetosJava básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetos
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
 
Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
Java básico - módulo 03: captura de dados
Java  básico - módulo 03: captura de dadosJava  básico - módulo 03: captura de dados
Java básico - módulo 03: captura de dados
 
Java m01 - Nomenclaturas
Java   m01 - NomenclaturasJava   m01 - Nomenclaturas
Java m01 - Nomenclaturas
 
OPC TWS – MODULO 06
OPC TWS – MODULO 06OPC TWS – MODULO 06
OPC TWS – MODULO 06
 
OPC TWS – MODULO 05
OPC TWS – MODULO 05OPC TWS – MODULO 05
OPC TWS – MODULO 05
 
OPC TWS – MODULO 04
OPC TWS – MODULO 04OPC TWS – MODULO 04
OPC TWS – MODULO 04
 
OPC TWS – MODULO 03
OPC TWS – MODULO 03OPC TWS – MODULO 03
OPC TWS – MODULO 03
 
OPC-TWS - modulo 02
OPC-TWS - modulo 02OPC-TWS - modulo 02
OPC-TWS - modulo 02
 
OPC-TWS - Módulo 01
OPC-TWS -  Módulo 01OPC-TWS -  Módulo 01
OPC-TWS - Módulo 01
 
Algoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e MatrizesAlgoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e Matrizes
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Aula 07 Css - Parte 1
Aula 07   Css - Parte 1Aula 07   Css - Parte 1
Aula 07 Css - Parte 1
 
Aula 03 - Mecanismos da Percepção Humana
Aula 03  - Mecanismos da Percepção HumanaAula 03  - Mecanismos da Percepção Humana
Aula 03 - Mecanismos da Percepção Humana
 

Último

ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERDeiciane Chaves
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...ArianeLima50
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 

Último (20)

ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 

Introdução à linguagem Java: conceitos básicos e história

  • 2. O que vamos ver hoje? CONCEITOS BÁSICOS, Introdução a linguagem Java; Um pouco de História Java Virtual Machine; Bytecode; Método e Classe; Garbage Collection
  • 3. OBJETIVOS Apresentar o mundo java e um pouco de sua história. Compreender os aspectos que colaboraram para o crescimento da linguagem Java. Entender o processo de compilação. Compreender a anatomia de uma classe. Conhecer o Garbage Collection Criar programas usando o editor de texto com uma console de desenvolvimento.
  • 4. O que é Java? Java é uma linguagem de programação introduzida no mercado em 1995 pela Sun Microsystems, que provocou e ainda provoca entusiasmo em programadores, analistas e projetistas de softwares. Mas porque Java produz essa reação? Simplesmente porque Java é resultado de um trabalho consistente de pesquisa e desenvolvimento de mais do que uma simples linguagem de programação, mas todo um ambiente de desenvolvimento e execução de programas que exibe as facilidades proporcionadas pela orientação à objetos, pela extrema portabilidade do código produzido, pelas características de segurança que esta plataforma oferece e finalmente pela facilidade de sua integração aos outros ambientes, destacando-se a internet.
  • 5. Um pouco de História A partir do século XIII quando os Vikings exploraram e colonizaram grandes áreas da Europa e das ilhas do Atlântico Norte... Ops! Não é preciso voltar tanto assim...rs
  • 6. Um pouco de História Tudo começou em 1991, com um pequeno grupo de projeto da Sun Microsystem denominado green que pretendia criar uma nova geração de computadores portáteis e inteligentes, capazes de se comunicar de várias formas, ampliando suas potencialidades de uso. Para tanto decidiram criar uma nova plataforma para desenvolvimento destes equipamentos de forma que seu software pudesse ser portado para os mais diferentes tipos de equipamentos. A primeira escolha de uma linguagem de programação para tal foi C++, mas mesmo o C++ não permitia realizar tudo aquilo que o grupo visionava...
  • 7. James Gosling, coordenador do projeto, decidiu então pela criação de uma nova linguagem de programação que pudesse conter tudo aquilo que era considerado importante e que ainda assim fosse simples, portátil e fácil de programar. Surgiu assim a linguagem interpretada Oak (carvalho em inglês) Batizada assim dada a existência de uma destas árvores em frente ao escritório de Gosling. Para dar suporte também surgiu o Green OS e uma interface gráfica padronizada. Mas tarde descobriu-se que já existia uma linguagem com esse nome, o nome java foi sugerido por acaso quando a equipe visitava a cafeteria (java era o nome de uma cidade de origem de um café importado).
  • 8. Durante algum tempo o projeto passou por dificuldades por causa da falta de mercado, pois o mercado produtos eletrônicos que era o principal foco da linguagem não estava crescendo como esperado, porém apos a grande popularidade alcançada pela internet em 1993, a Sun viu o grande potencial que o java tinha para criar paginas mais dinâmicas. A Sun anunciou formalmente o Java em 1995, e hoje é uma das linguagens mais populares do mundo, sendo usada para construir páginas web, sistemas para PC, celulares e todo tipo de dispositivos moveis.
  • 9. Apesar de relativamente nova, a linguagem Java obteve uma espetacular aceitação por programadores do mundo inteiro, tendo se difundido como nunca antes ocorreu com uma linguagem de programação. Características que colaboraram para grande aceitação da linguagem Java • simples • orientada a objetos • interpretada • robusta • portável e de arquitetura neutra • alta performance • distribuída e dinâmica • multithreaded • segura Com o advento da Internet, que tornou ainda mais necessário a comunicação entre plataformas heterogêneas, estes fatores fizeram com que o Java fosse a tecnologia perfeita para este novo cenário.
  • 10. Simples Java foi idealizada para ser de fácil entendimento. Ela tem uma sintaxe muito parecida com a do C e C++, facilitando a migração dos programadores destas linguagens.
  • 11. Orientada a objetos A programação orientada a objetos está baseada no conceito de classes. Uma classe é um conjunto de dados e métodos para manipulação destes. Os dados podem ser vistos como as propriedades do objeto, enquanto os métodos são os comportamentos do objeto.
  • 12. Interpretada O compilador Javac gera um código ("byte code") para uma máquina Virtual (Java virtual Machine - JVM), ao invés de um código de máquina para uma plataforma específica. Qualquer plataforma que possuir um interpretador Java poderá executar o programa compilado. Assim, o programa compilado é independente de plataforma .
  • 13. Robusta Java foi desenvolvida para garantir a criação de programas altamente confiáveis. Ela não dispensa uma programação cuidadosa, mas elimina alguns tipos de erros de programação, possíveis em outras linguagens. A ausência da aritmética de ponteiros exclui toda uma classe de erros relacionados a esse tipo de estrutura. O acesso a arrays e strings e a conversão de tipos são checados em tempo de execução para assegurar a sua validade. A coleta de lixo (garbage collection) faz a desalocação automática de memória evitando erros de referência (ponteiros nulos), e perda de área de memória por não desalocação de objetos não mais referidos (leakage). Finalmente, o recurso de Exception Handling permite o tratamento de erros em tempo de execução, por um mecanismo robusto, análogo ao do C++.
  • 14. Portável e de arquitetura neutra O fato do compilador gerar um código neutro ("byte code") permite que o mesmo programa possa ser executado em qualquer máquina e sistema operacional que possua um interpretador Java. Mas isto não basta para um programa ser portável. Java pretende garantir que todos os aspectos da linguagem sejam independentes da plataforma. Por exemplo, Java especifica o tamanho e comportamento de cada tipo de dado. É diferente de C no qual um tipo int pode ter 16, 32 ou 64 bits dependendo da plataforma.
  • 15. Alta performance Por ser uma linguagem interpretada, Java não oferece a mesma velocidade de programas escritos em C/C++. Mas a sua performance é adequada para aplicações como interface gráfica de programas interativos e para funcionar em rede, já que eles demandam algum tempo para a entrada de dados. Para aplicações onde se pode abrir mão da portabilidade, podemos usar Java na interface gráfica e nos recursos de rede e integrar um pacote escrito em C/C++ para as operações de cálculo. Também é importante salientar que existe um projeto da Sun em parceria com grandes empresas para melhorar a performance da linguagem o que pode trazer grandes benefícios a curto prazo.
  • 16. Distribuída e dinâmica Java verifica o tipo de qualquer objeto em tempo de compilação e dinamicamente em tempo de execução. Imagine agora que criamos um programa para tratamento de imagens. Com o tempo os padrões vão se alterando e o nosso programa precisa de atualizações. Em java é possível que o próprio programa se atualize, conectando um computador remoto e carregando a classe necessária, tudo isso em tempo de execução. Isto permite que tenhamos instalado um programa simples que busca as classes necessárias em diversos computadores da rede. Esta é a razão de chamá-la de uma linguagem distribuída.
  • 17. Multithreaded Um programa escrito em Java pode realizar várias tarefas assincronamente com o uso de "Threads". Criar um "Thread" e manipulá-lo é tão simples quanto criar e trabalhar com qualquer variável. Isto permite que uma rotina possa ser executada sem que o usuário tenha que esperar para entrar um novo comando do programa. Por exemplo, ao lançar um thread para imprimir um documento, o usuário estará imediatamente livre para continuar sua edição.
  • 18. Segura Como vimos Java é uma linguagem que pode manipular objetos distribuídos pela rede. Para garantir a segurança do sistema contra operações ilegais existe a classe Security Manager. O objetivo é permitir a execução de um programa, monitorando as ações que podem causar dano ao sistema. Por exemplo, podemos impedir que um programa tenha acesso ao disco local ou a informações do nosso sistema. Mas se temos certeza da origem do programa, podemos ser menos rígidos dando mais acesso ao mesmo. Isto é possível através de uma assinatura digital, recurso implementado nas versões mais novas da linguagem.
  • 19.
  • 21. Tá bom… Mas como o Java funciona?
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. aaah! Eu acho que estou entendendo.
  • 27.
  • 28.
  • 29. Public class OlaMundo { public static void main (string[ ] args) { System.out.println(“Olá!”); System.out.println(“Mundo”); } }
  • 30. Máquina Virtual Java - JVM A máquina virtual java (JVM) é uma máquina imaginária que emula uma aplicação em uma máquina real. É a JVM que permite a portabilidade do código Java, isto ocorre porque todo código Java é compilado para um formato intermediário, bytecode, este formato é então interpretado pela JVM. Existem diversas JVMs cada uma delas destinada a um tipo de sistema operacional (Windows, Linux, Mac e etc.), desta forma sendo o código da aplicação Java, bytecode, um código interpretado pela JVM, podemos desenvolver uma aplicação sem nos preocuparmos onde ela será executada pois sabemos que existindo a JVM instalada nosso código será executável.
  • 31. BYTECODE 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.
  • 32.
  • 33. Coletor de Lixo – Garbage Collection
  • 34. Coletor de Lixo – Garbage Collection Muitas linguagens de programação nos permitem alocar espaço na memória em tempo de execução, uma vez encerrado o programa deve haver uma maneira de liberar este espaço para que outras aplicações possam utilizá-lo. Em muitas das linguagens de programação, inclusive C e C++, a responsabilidade pela liberação do espaço que não mais será utilizado é do programador, no entanto, nem sempre é fácil gerenciar o que está e o que não está sendo utilizado, a má gerência da memória ocasiona muitas vezes o estouro de pilha (stack overflow) entre outros problemas. Na linguagem de programação Java a responsabilidade pela gerência da memória é do Coletor de lixo (Garbage Collector), desta forma, programadores Java ficam livres da preocupação de alocação e desalocação da memória. O Coletor de lixo é um processo que roda em segundo plano e é responsável pela liberação de memória alocada por variáveis que não mais serão utilizadas pela aplicação.
  • 35. Exercícios Criando a primeira aplicação console Neste exercício utilizaremos um simples editor de texto, que pode ser o gedit do Linux ou o notepad do Windows, para editar o código fonte. Em seguida será necessário abrir uma janela terminal para compilar e executar os programas.
  • 36. Primeiro Programa Java 1º passo: digitar o código fonte Digite as seguintes instruções no editor de textos: public class Hello { /** * Meu primeiro programa Java */ public static void main(String[] args) { // Mostra na tela o texto "Hello world" System.out.println("Hello world!"); } }
  • 37. Primeiro Programa Java 2º passo: Salvar o programa Java Chamaremos o programa de "Hello.java" e o colocaremos em uma pasta denominada "myJavaPrograms". ATENÇÃO: Para o Notepad no Windows, mude o Tipo para "All Files" (em Save as Type).
  • 38. Primeiro Programa Java 3º passo: Abrir a janela de console Para abrir o terminal no Linux, selecione Applications ⇒ Accessories ⇒ Terminal. Para abrir o terminal no Windows, selecione Start ⇒ Run... e na janela que se apresenta, digite cmd e pressione o botão OK
  • 39. Primeiro Programa Java 4º passo: Compilar o programa Para compilar o programa, utilizamos o comando: javac [Nome do Arquivo]. Ou seja: javac Hello.java Durante a compilação, é criado o arquivo: [Nome do Arquivo].class, neste caso, Hello.class, que contém o código em linguagem de máquina (chamado de bytecode).
  • 40. Primeiro Programa Java 5º passo: Executar o programa Assumindo que não ocorreu problemas na compilação (caso tenha ocorrido qualquer problema refaça os passos realizados), estamos prontos para executar o programa. Para executar o programa, utilizamos o comando: java [nome do arquivo sem a extensão]. No caso do exemplo, digite: java Hello
  • 41. Exercícios 1. Crie uma classe que imprima o seguinte texto “Bem-vindo ao mundo Java”. 2. Compile e execute a classe desenvolvida no exercício anterior. 3. Comente o trecho de código responsável pela execução da impressão, compile e execute. 4. O que é o Garbage Collection e qual a sua função?
  • 42. Pensamento "Seja lá o que você fizer, seja bom nisso." Abraham Lincoln