SlideShare uma empresa Scribd logo
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.
Java modulo 01 - Introdução
Parte II
Tá bom… Mas como o
Java funciona?
Java modulo 01 - Introdução
Java modulo 01 - Introdução
Java modulo 01 - Introdução
Java modulo 01 - Introdução
aaah! Eu acho que
estou entendendo.
Java modulo 01 - Introdução
Java modulo 01 - Introdução
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.
Java modulo 01 - Introdução
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
Java modulo 01 - Introdução

Mais conteúdo relacionado

Mais procurados (20)

PDF
Introdução à Programação
Mario Sergio
 
PDF
Introdução à Engenharia de Software
Nécio de Lima Veras
 
PDF
Sistemas Operacionais
Adir Kuhn
 
PDF
Aula 4 - Teste de mesa
Pacc UAB
 
PDF
Engenharia de Requisitos
Cloves da Rocha
 
PDF
Arquitetura Cliente-Servidor
Israel Messias
 
PPTX
Visualg
Pedro Silva
 
PDF
Aula de Introdução - JAVA
Moises Omena
 
PPT
Uml
Túlio Filho
 
PDF
Aula 1 - Introdução a Engenharia de Software
Leinylson Fontinele
 
PPT
Apostila de Fundamentos Java
Marcio Marinho
 
PDF
Introdução a JavaScript
Bruno Catão
 
PDF
Aula 8 - Comandos de Entrada e Saída
Luiz Augusto Macêdo Morais
 
PDF
1.Introdução Banco de Dados
vini_campos
 
PPT
Sistemas operativos 10º
teacherpereira
 
PPTX
O que é programação?
Tatiane Aguirres Nogueira
 
ODP
Aula01-JavaScript
Jorge Ávila Miranda
 
PDF
Arquitetura de Software
Marcelo Yamaguti
 
PDF
Introdução a Informática
Daniel Brandão
 
PPTX
Informatica Básica - Sexta Básica
Professor Samuel Ribeiro
 
Introdução à Programação
Mario Sergio
 
Introdução à Engenharia de Software
Nécio de Lima Veras
 
Sistemas Operacionais
Adir Kuhn
 
Aula 4 - Teste de mesa
Pacc UAB
 
Engenharia de Requisitos
Cloves da Rocha
 
Arquitetura Cliente-Servidor
Israel Messias
 
Visualg
Pedro Silva
 
Aula de Introdução - JAVA
Moises Omena
 
Aula 1 - Introdução a Engenharia de Software
Leinylson Fontinele
 
Apostila de Fundamentos Java
Marcio Marinho
 
Introdução a JavaScript
Bruno Catão
 
Aula 8 - Comandos de Entrada e Saída
Luiz Augusto Macêdo Morais
 
1.Introdução Banco de Dados
vini_campos
 
Sistemas operativos 10º
teacherpereira
 
O que é programação?
Tatiane Aguirres Nogueira
 
Aula01-JavaScript
Jorge Ávila Miranda
 
Arquitetura de Software
Marcelo Yamaguti
 
Introdução a Informática
Daniel Brandão
 
Informatica Básica - Sexta Básica
Professor Samuel Ribeiro
 

Destaque (20)

PPT
ApresentaçãO De Java
Eduardo Bregaida
 
ODP
Apresentação java
munosai
 
PPT
Introdução ao JAVA (linguagem de programação WEB)
Luis Borges Gouveia
 
PDF
Linguagem de Programação Java para Iniciantes
Oziel Moreira Neto
 
PPT
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
Professor Samuel Ribeiro
 
PPT
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
Professor Samuel Ribeiro
 
KEY
Introdução a java
Carlos Cavalcanti
 
PPT
Ihm Aula 06 Gestalt 25.03.08 E
Professor Samuel Ribeiro
 
ODP
Algoritmo aula 01-f
Professor Samuel Ribeiro
 
PPT
Introdução à programação para web com Java - Módulo 01: Conceitos básicos
Professor Samuel Ribeiro
 
PPTX
Apresentação do Curso Técnico em Informática para Internet
Professor Samuel Ribeiro
 
PPT
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Professor Samuel Ribeiro
 
PPT
Algoritmos 05 - Estruturas de repetição
Professor Samuel Ribeiro
 
PDF
Introdução a Linguagem Java
UFPA
 
PPT
Algoritmo 04 - Estruturas de decisão
Professor Samuel Ribeiro
 
PPTX
Curso Básico de Java - Aula 4
PeslPinguim
 
PDF
Mini Curso Java Day(Eliane Raquel)
raquelcarsi
 
PPTX
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Denis Sobrenome
 
PPT
Aula 02 implementação objeto
Danilo Alves
 
PPTX
Curso Java Básico - Aula02
Natanael Fonseca
 
ApresentaçãO De Java
Eduardo Bregaida
 
Apresentação java
munosai
 
Introdução ao JAVA (linguagem de programação WEB)
Luis Borges Gouveia
 
Linguagem de Programação Java para Iniciantes
Oziel Moreira Neto
 
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...
Professor Samuel Ribeiro
 
Introdução a java
Carlos Cavalcanti
 
Ihm Aula 06 Gestalt 25.03.08 E
Professor Samuel Ribeiro
 
Algoritmo aula 01-f
Professor Samuel Ribeiro
 
Introdução à programação para web com Java - Módulo 01: Conceitos básicos
Professor Samuel Ribeiro
 
Apresentação do Curso Técnico em Informática para Internet
Professor Samuel Ribeiro
 
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Professor Samuel Ribeiro
 
Algoritmos 05 - Estruturas de repetição
Professor Samuel Ribeiro
 
Introdução a Linguagem Java
UFPA
 
Algoritmo 04 - Estruturas de decisão
Professor Samuel Ribeiro
 
Curso Básico de Java - Aula 4
PeslPinguim
 
Mini Curso Java Day(Eliane Raquel)
raquelcarsi
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Denis Sobrenome
 
Aula 02 implementação objeto
Danilo Alves
 
Curso Java Básico - Aula02
Natanael Fonseca
 
Anúncio

Semelhante a Java modulo 01 - Introdução (20)

ODP
Java 01 Java Visao Geral
Regis Magalhães
 
ODP
Java 01 Java Visao Geral Detalhado
Regis Magalhães
 
PDF
Conhecendo Java
TI Infnet
 
PPT
Java
acarriconde
 
PPT
Conhecendo Java
Rafael Carneiro
 
PDF
Aula 2 - POO: Fundamentos da linguagem Java
Daniel Brandão
 
PDF
Java Fundamentos
Wilson Lima
 
PPT
27072010221224.introdução a java aula 1
bibliotecadobarao
 
PPTX
Curso Básico de Java - Aula 1
PeslPinguim
 
PDF
Linguagem de java
Genique
 
PPTX
ESTRUTURA DE DADOS (JAVA) AULA 01
ETEC Monsenhor Antonio Magliano
 
PDF
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
Daniel Elektron !
 
ODP
Java 01 Java Visao Geral Resumo
Regis Magalhães
 
PDF
Java basico modulo_01
CASSIANE SILVA
 
PDF
Java basico modulo_01
Patricia Marques
 
PDF
Java basico modulo_01
rollbackpt
 
PDF
Java basico modulo_01
Daniel Alves
 
PPTX
Introdução ao java
Charleston Anjos
 
PPSX
Introdução ao java
Charleston Anjos
 
PPSX
Introdução ao java
Charleston Anjos
 
Java 01 Java Visao Geral
Regis Magalhães
 
Java 01 Java Visao Geral Detalhado
Regis Magalhães
 
Conhecendo Java
TI Infnet
 
Conhecendo Java
Rafael Carneiro
 
Aula 2 - POO: Fundamentos da linguagem Java
Daniel Brandão
 
Java Fundamentos
Wilson Lima
 
27072010221224.introdução a java aula 1
bibliotecadobarao
 
Curso Básico de Java - Aula 1
PeslPinguim
 
Linguagem de java
Genique
 
ESTRUTURA DE DADOS (JAVA) AULA 01
ETEC Monsenhor Antonio Magliano
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
Daniel Elektron !
 
Java 01 Java Visao Geral Resumo
Regis Magalhães
 
Java basico modulo_01
CASSIANE SILVA
 
Java basico modulo_01
Patricia Marques
 
Java basico modulo_01
rollbackpt
 
Java basico modulo_01
Daniel Alves
 
Introdução ao java
Charleston Anjos
 
Introdução ao java
Charleston Anjos
 
Introdução ao java
Charleston Anjos
 
Anúncio

Mais de Professor Samuel Ribeiro (20)

PPTX
Tecnologia, Inovação e uma pitada de Programação
Professor Samuel Ribeiro
 
PPT
Java básico - Módulo 09: Introdução a programação orientada à objetos
Professor Samuel Ribeiro
 
PPT
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Professor Samuel Ribeiro
 
PPT
Java Básico - Módulo 07: Introdução à programação orientada à objetos
Professor Samuel Ribeiro
 
PPT
Java básico - Módulo 06: Array
Professor Samuel Ribeiro
 
PPT
Java básico - Módulo 05 - Estruturas de Repetição
Professor Samuel Ribeiro
 
PPT
Java básico - Módulo 04: Estruturas de controle
Professor Samuel Ribeiro
 
PPT
Java básico - módulo 03: captura de dados
Professor Samuel Ribeiro
 
PPT
Java m01 - Nomenclaturas
Professor Samuel Ribeiro
 
PPTX
OPC TWS – MODULO 06
Professor Samuel Ribeiro
 
PPTX
OPC TWS – MODULO 05
Professor Samuel Ribeiro
 
PPTX
OPC TWS – MODULO 04
Professor Samuel Ribeiro
 
PPTX
OPC TWS – MODULO 03
Professor Samuel Ribeiro
 
PPTX
OPC-TWS - modulo 02
Professor Samuel Ribeiro
 
PPTX
OPC-TWS - Módulo 01
Professor Samuel Ribeiro
 
POT
Algoritmo 06 - Array e Matrizes
Professor Samuel Ribeiro
 
PPT
Algoritmo - tipos de dados
Professor Samuel Ribeiro
 
PPT
Aula 07 Css - Parte 1
Professor Samuel Ribeiro
 
PPT
Aula 03 - Mecanismos da Percepção Humana
Professor Samuel Ribeiro
 
PPT
O Sistema Perceptual Humano
Professor Samuel Ribeiro
 
Tecnologia, Inovação e uma pitada de Programação
Professor Samuel Ribeiro
 
Java básico - Módulo 09: Introdução a programação orientada à objetos
Professor Samuel Ribeiro
 
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
Professor Samuel Ribeiro
 
Java básico - Módulo 06: Array
Professor Samuel Ribeiro
 
Java básico - Módulo 05 - Estruturas de Repetição
Professor Samuel Ribeiro
 
Java básico - Módulo 04: Estruturas de controle
Professor Samuel Ribeiro
 
Java básico - módulo 03: captura de dados
Professor Samuel Ribeiro
 
Java m01 - Nomenclaturas
Professor Samuel Ribeiro
 
OPC TWS – MODULO 06
Professor Samuel Ribeiro
 
OPC TWS – MODULO 05
Professor Samuel Ribeiro
 
OPC TWS – MODULO 04
Professor Samuel Ribeiro
 
OPC TWS – MODULO 03
Professor Samuel Ribeiro
 
OPC-TWS - modulo 02
Professor Samuel Ribeiro
 
OPC-TWS - Módulo 01
Professor Samuel Ribeiro
 
Algoritmo 06 - Array e Matrizes
Professor Samuel Ribeiro
 
Algoritmo - tipos de dados
Professor Samuel Ribeiro
 
Aula 07 Css - Parte 1
Professor Samuel Ribeiro
 
Aula 03 - Mecanismos da Percepção Humana
Professor Samuel Ribeiro
 
O Sistema Perceptual Humano
Professor Samuel Ribeiro
 

Último (20)

PPT
o bota-abaixo e a criminalização da pobreza.ppt
Yorda Ganbatte
 
PPTX
SÃO BENTO, Abade e Confessor, c. 480-547, Fundador do monaquismo ocidental....
Martin M Flynn
 
PPTX
Explorando Recursos do Summer '25: Dicas Essenciais - 01
Mauricio Alexandre Silva
 
PDF
PROVA DE BIOLOGIA PARA O SEGUNDO ANO DO ENSINO MÉDIO
Salvioli1
 
PDF
RUIZSJES4.001 tradução Frei Antônio S João da Cruz.pdf
roselp
 
PPTX
CONJUNÇÕES SUBORDINATIVAS SLIDES DE AULA
LucianneFerreira1
 
PPTX
Slides Lição 3, CPAD, Uma Igreja Fiel à Pregação do Evangelho, 3Tr25.pptx
LuizHenriquedeAlmeid6
 
PPTX
AULA APRESENTAÇÃO DISCIOLINA Arte_6Ano DANÇA.pptx
xaviermat5
 
PPTX
Possessive adjective (1).pptx língua inglesa
AlinePaesDeOliveira
 
PPTX
Aula 4 - concordância nominal, uso da língua.pptx
jadla1
 
PDF
AULA_SOCIOLOGIA_Desvendando-o-Indice-de-Democracia-Categorias-e-Implicacoes .pdf
mariaoliveira0808200
 
PPSX
Equilibrio térmico CALORIMETRIA EXERCICIOS.ppsx
MarceloAlano2
 
PPT
Os Direitos Humanos e a Cidadania-Filosofiappt
ToniNunes3
 
PPTX
Android Studio - Aula 1 de Programação 10º
Clara Ferreira
 
PPTX
RODA DE CONVERSA - DIA DA MULHER.pptx
MaiharaMarques
 
PDF
Caderno de Resumos XIX ENPFil, X EPGFil e VIII EPFEM.pdf
enpfilosofiaufu
 
PPTX
zoologia_invertebrados_características_gerais
thomaznova1
 
PDF
PROJETO PALAMENTO JOVEM REGIONAL. _
Colégio Santa Teresinha
 
PPTX
Apresentação de questões de retoma da sobre filosofia .pptx
RAFAELDEBARROS2
 
PPTX
Slides Lição 2, Betel, O Evangelho do Filho de DEUS, 3Tr25.pptx
LuizHenriquedeAlmeid6
 
o bota-abaixo e a criminalização da pobreza.ppt
Yorda Ganbatte
 
SÃO BENTO, Abade e Confessor, c. 480-547, Fundador do monaquismo ocidental....
Martin M Flynn
 
Explorando Recursos do Summer '25: Dicas Essenciais - 01
Mauricio Alexandre Silva
 
PROVA DE BIOLOGIA PARA O SEGUNDO ANO DO ENSINO MÉDIO
Salvioli1
 
RUIZSJES4.001 tradução Frei Antônio S João da Cruz.pdf
roselp
 
CONJUNÇÕES SUBORDINATIVAS SLIDES DE AULA
LucianneFerreira1
 
Slides Lição 3, CPAD, Uma Igreja Fiel à Pregação do Evangelho, 3Tr25.pptx
LuizHenriquedeAlmeid6
 
AULA APRESENTAÇÃO DISCIOLINA Arte_6Ano DANÇA.pptx
xaviermat5
 
Possessive adjective (1).pptx língua inglesa
AlinePaesDeOliveira
 
Aula 4 - concordância nominal, uso da língua.pptx
jadla1
 
AULA_SOCIOLOGIA_Desvendando-o-Indice-de-Democracia-Categorias-e-Implicacoes .pdf
mariaoliveira0808200
 
Equilibrio térmico CALORIMETRIA EXERCICIOS.ppsx
MarceloAlano2
 
Os Direitos Humanos e a Cidadania-Filosofiappt
ToniNunes3
 
Android Studio - Aula 1 de Programação 10º
Clara Ferreira
 
RODA DE CONVERSA - DIA DA MULHER.pptx
MaiharaMarques
 
Caderno de Resumos XIX ENPFil, X EPGFil e VIII EPFEM.pdf
enpfilosofiaufu
 
zoologia_invertebrados_características_gerais
thomaznova1
 
PROJETO PALAMENTO JOVEM REGIONAL. _
Colégio Santa Teresinha
 
Apresentação de questões de retoma da sobre filosofia .pptx
RAFAELDEBARROS2
 
Slides Lição 2, Betel, O Evangelho do Filho de DEUS, 3Tr25.pptx
LuizHenriquedeAlmeid6
 

Java modulo 01 - Introdução

  • 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.
  • 21. Tá bom… Mas como o Java funciona?
  • 26. aaah! Eu acho que estou entendendo.
  • 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.
  • 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