Entendendo as versões do Java
Link: https://www.oracle.com/java/technologies/java-se-glance.html
SE = Stantard Edition
LTS = Long-term support
O Java lança novas versões entre uma LTS e outra. Isso significa que após uma versão LTS eu posso ver versões "pequenas".
A versões LTS (de longo período de suporte) possui suporte ao longo do tempo! Por isso que para o curso iremos utilizar a versão SE 11 (LTS). A versão 8 é a última versão de longo suporte antes da versão 11. Versões LTS implicam em menos trabalhos "dor de cabeça" com atualizações, por isso as empresas utilizam ela.
![2023-04-01_15h37_40](https://user-images.githubusercontent.com/44206400/229308543-ccc6fef6-bea1-4ac6-987e-f4dff9472b60.png)
SE: Standard Edition (Padrão/Simples)
→ Indicado para quem irá desenvolver aplicativos em janelas
EE: Enterprise Edition
→ Indicado para quem irá desenvolver aplicativos em janelas e irá utilizar bancos de dados gigantes, coisas maiores, usados em empresas
ME: Micro Edition (Algo portátil)
→ Indicado para quem vai utilizar cosias pequenas, controle, controle de um dispositivo, aplicações para celular.
Histórico e Edições do Java
O que é Java?
É um conjunto de regras de programação (regras léxicas e sintáticas)
Mas ela também é uma plataforma de desenvolviment oe execução
- Oferece Bibliotecas (API);
- Oferece ambientes de execução
Histórico
-
Problemas resolvidos e motivo de seu sucesso
-
Ponteiros / gerenciamento de memória;
-
Portabilidade falha: reescrever parte do código ao mudar de SO;
-
Utilização em dispositivos diversos;
-
Custo alto;
Isso significa haviam todos esses problemas com a atual situação de desnvolvimento.
-
Por isso na meio da década de 90 a empresa Sun Microsystems criou o Java.
- Foi uma revolução no mercado pois era uma linguagem de orientação ao objeto e era uma linguagem de mai alto nível.
-
O Java foi adquirida pela Oracle Corporation em 2010!
Aspectos notáveis:
- Código compilado para bytecode e executado em máquina virtual (JVM);
- A plataforma do Java é portável, segura e robusta;
- Roda em vários tipos de dispositivos;
- Domina o mercado corporativo desde o fim do século 20 (Pois ela foi pioneira ao resolver os problemas);
- Padrão Android por muitos anos;
Edições:
JDK / JVM - Máquina Virtual do Java
- JVM - Java Virtual Machine
- Máquina Virtual do Java - necessário para executar sistemas Java;
![2023-04-01_15h56_23](https://user-images.githubusercontent.com/44206400/229309262-0aa24f20-135d-4d0d-a144-130530f33cce.png)
Com a abordadem interpretada eu não tenho problema com portabilidade, ou seja, roda em diferentes sistemas operacionais com apenas um executável, mudando somente o interpretador. Por isso são mais lentas pois são executadas Just in Time , ou seja, no momento da execução.
Obs: Linguagens compiladas rodam mais rápidas pois são feitas voltadas para o sistema operacional específico.
Resumo
Linguagens Compiladas: C, C++ (Mais rápidas)
- Menos suscetíveis a bugs pois o compilador ajuda a verificar o código;
- Mais rápidas;
Exemplo: Se eu quiser usar uma uma linguagem compilada em diferentes sistemas operacionais, eu TENHO QUE USAR OUTRO COMPILADOR, ou seja, problema de portabilidade.
Linguagens Intepretadas. PHP, JS
- São mais difíceis de programar - tipagem fraca - o que abre uma brecha para bugs.
- Mais lentas;
- Maior flexibilidade e manutenção e tem menos bug;
Linguagens Híbridas. Java, C#.
- Obtém vantagens dos dois mundos e maior portabilidade.
- Possuem uma abordadem híbrida. Obteve vantagens dos dois mundos e maior portabilidade.
- O processo de compilação do Byte code se chama JIT (just-in-time)
Estrutura de uma aplicação Java
Classes
Java é uma linguagem Orienteada a Objetos e a undiade lógica baica de um programa orientada objeto é a classe. Todo código Java tem que star dentro de Classes.
![2023-04-01_16h21_41](https://user-images.githubusercontent.com/44206400/229310222-f42a0448-f040-4da6-87d1-0cc64573c3a5.png)
Pacotes (Packages):
Agrupamento lógico de classes relacionadas.
![2023-04-01_16h21_48](https://user-images.githubusercontent.com/44206400/229310225-b62e7dc2-fe1c-4b53-b8bd-cb49a7a73dd5.png)
Módulos
Agrupamento de pacotes relacionados. (Introduzidos no Java 9)
Runtime = agrupamento físico
![2023-04-01_16h21_52](https://user-images.githubusercontent.com/44206400/229310228-1d86a30d-b498-491b-8f50-7d2bc8f2bf7e.png)
Aplicação = Agrupamento de módulso relacionados
![2023-04-01_16h23_16](https://user-images.githubusercontent.com/44206400/229310260-d9e12394-70a1-45ad-a844-b5e5625abb95.png)
Instalação JDK (A última versão LTS é a 17)
Segui esse vídeo: https://www.youtube.com/watch?v=QekeJBShCy4
1) Eu preciso pesquisar por Java e uma distribuição gratuita, tem a 'adopt' e a 'zulu'.
"Java JDK zulu"
Link: https://www.azul.com/downloads/?package=jdk#zulu
![2023-04-03_10h10_01](https://user-images.githubusercontent.com/44206400/229519429-931616bb-8e27-4d9d-bce6-7e6a08b41610.png)
2) Baixar a versão LTS para Windows, criar uma pasta chamda "Java" dentro de "Arquivos e Programas" e descompactar o arquivo baixado lá dentro.
![2023-04-03_09h50_05](https://user-images.githubusercontent.com/44206400/229514550-beefb881-b933-4660-8a10-b50fde80b231.png)
3) Configurar as variáveis de ambiente
1 - Em avançado, clico em Variváveis de Ambiente
![2023-04-03_09h52_20](https://user-images.githubusercontent.com/44206400/229515917-18e72553-b2f1-481e-a307-fe93c672e046.png)
2 - Caso não exista nenhuma variável de sistema chamada Java, eu devo criar uma nova clicando em "Novo"
![2023-04-03_09h52_59](https://user-images.githubusercontent.com/44206400/229516101-aa3a0aa8-d86f-4b6c-a450-8b7bb9c43cda.png)
3 - Eu preciso adicionar o nome como JAVA_HOME em caixa alta e depois colocar o caminho do arquivo que acabei de baixar
![2023-04-03_09h54_01](https://user-images.githubusercontent.com/44206400/229516296-bf02eb89-bafa-49f7-ae45-de50caae33cb.png)
4) Configurar a variável PATH
1 - Clicar na variável PATH e depois clicar em editar
![2023-04-03_09h57_56](https://user-images.githubusercontent.com/44206400/229517424-f0ad583f-d074-489c-ae6e-552102c3adb1.png)
2 - Copiar o caminho do arquivo que acabei de baixar, clicar em novo e adicionar ele:
![2023-04-03_09h59_26](https://user-images.githubusercontent.com/44206400/229518185-213e3104-b739-4295-b3ec-9d825fbbc3c9.png)
3 - Adicionar '\bin' no final do caminho:
![2023-04-03_10h12_29](https://user-images.githubusercontent.com/44206400/229519948-baae36d0-f1cc-4f46-91b8-ff129bf6278a.png)
4 - Mover para cima para evitar possíveis conflitos com outras versões:
![2023-04-03_10h00_32](https://user-images.githubusercontent.com/44206400/229517908-c9904e86-071d-4391-adb6-6a48469370fa.png)
5) Para testar se está funcionando, devo abrir o Prompt de Comando e digitar 'java -version'
![2023-04-03_10h06_23](https://user-images.githubusercontent.com/44206400/229518721-f6eb3d98-f7ca-4dd8-a5c8-1cb4343adfd8.png)
Instalação do Eclipse:
Usar este link: https://www.eclipse.org/downloads/packages/
-
Rolar e procurar as versões do Elcipse e selecionar a mais atual:
![2023-04-03_10h16_24](https://user-images.githubusercontent.com/44206400/229521257-6c16bd1f-94cb-446b-9a4f-742e0c593fef.png)
-
Procurar pela opção Eclipse IDE for Enterprise Java and Web Developer e clicar no tipo de SO que utilizo:
![2023-04-03_10h16_49](https://user-images.githubusercontent.com/44206400/229521462-946bff42-a98c-4cf3-b935-bd18ee07cace.png)
-
Clicar em "Download"
![2023-04-03_10h17_26](https://user-images.githubusercontent.com/44206400/229521540-88b4710c-fb79-4778-a954-b6cdc2c8da64.png)
Obs: workspace é a pasta onde eu vou guardar os meus projetos
Meu primeiro programa em Java e Eclipse
- Para cada linguagem/operações há um tipo de layout específico que se chama 'perspective"
- Window -> Perspective -> Open Perspective -> Java
![2023-04-03_10h39_10](https://user-images.githubusercontent.com/44206400/229526850-7537d3ae-f69d-4807-a584-135ada845b41.png)
- Pode ser que eu feche por engano alguma janela por engano, para resolver isso eu posso 'zerar o layout':
- Window -> Perspective -> Reset Perspective
![2023-04-03_10h41_36](https://user-images.githubusercontent.com/44206400/229527555-c594fefc-89d8-44a9-b2a6-7a7475373187.png)
- Eu preciso da aba 'Console' para ver meu programa executando, para fazer ela aparecer:
- Window -> ShowView -> Console
![2023-04-03_10h43_18](https://user-images.githubusercontent.com/44206400/229527897-a172bcb3-212a-4960-a591-e437aefd99df.png)
- Para criar um arquivo, cliclo em 'File' -> 'New Java Project'. Os programas que eu criar irão ficar dentro da pasta 'src':
![2023-04-03_10h46_15](https://user-images.githubusercontent.com/44206400/229528947-02a9b342-28eb-44e6-bbbc-11da4d1eae21.png)
introducao-linguagem-java.pdf