Introduction to Java
โก Resumo Inteligente
Introduction to Java Este tutorial explica uma linguagem de programaรงรฃo de propรณsito geral, baseada em classes e orientada a objetos, que tambรฉm funciona como uma plataforma computacional. Ele aborda diversos tรณpicos. JavaO histรณrico, as versรตes, os recursos, os componentes principais (JDK, JVM, JRE), as ediรงรตes de plataforma e o mecanismo de bytecode que compรตem o sistema. Java Uma linguagem verdadeiramente "escreva uma vez, execute em qualquer lugar".

O que รฉ a Java?
Java ร uma linguagem de programaรงรฃo de propรณsito geral, baseada em classes e orientada a objetos, projetada para minimizar as dependรชncias de implementaรงรฃo. Tambรฉm funciona como uma plataforma computacional para o desenvolvimento de aplicaรงรตes. Java ร rรกpida, segura e confiรกvel, razรฃo pela qual alimenta softwares em laptops, data centers, consoles de jogos, supercomputadores cientรญficos, celulares e dispositivos embarcados. Como uma linguagem multiplataforma e centrada em redes, Java Continua sendo uma das linguagens de programaรงรฃo mais adotadas no setor e รฉ a preferida pela maioria das organizaรงรตes para a construรงรฃo de projetos de missรฃo crรญtica.
O que รฉ a sessรฃo Java Plataforma?
O Java Plataforma รฉ uma coleรงรฃo de programas que ajuda os desenvolvedores a criar e executar Java aplicaรงรตes de forma eficiente. Ele reรบne um mecanismo de execuรงรฃo, um compilador e um conjunto de bibliotecas, juntamente com as especificaรงรตes que definem como eles interoperam. James Gosling desenvolveu o Java plataforma na Sun Microsystems, e Oracle A empresa adquiriu a participaรงรฃo da Sun em 2009.
Este vรญdeo apresenta o Java plataforma e explica porque Java รฉ simultaneamente uma plataforma e uma linguagem de programaรงรฃo:
Clique aqui. Se o vรญdeo nรฃo estiver acessรญvel.
O que รฉ a Java Usado para?
Aqui estรฃo algumas das aplicaรงรตes prรกticas mais importantes de Java:
- Developing Android apps.
- Desenvolvimento de software empresarial para grandes organizaรงรตes.
- Alimentando uma ampla gama de dispositivos mรณveis. Java aplicaรงรตes.
- Executando aplicaรงรตes de computaรงรฃo cientรญfica.
- Impulsionando fluxos de trabalho de anรกlise de big data.
- Programaรงรฃo de dispositivos de hardware embarcados.
- Tecnologias do lado do servidor, como Apache, JBoss, GlassFish e Tomcat.
Histรณria da Java Linguagem de Programaรงรฃo
Aqui estรฃo os marcos importantes da histรณria de Java idioma:
- O Java A linguagem foi inicialmente chamada de OAK.
- Originalmente, foi desenvolvido para lidar com dispositivos portรกteis e decodificadores, รกreas em que o OAK se mostrou um fracasso comercial.
- Em 1995, a Sun renomeou o idioma para โJavae a reorientou para tirar proveito do rรกpido crescimento da World Wide Web.
- Em 2009, foi fundada a Oracle Corporation adquiriu a Sun Microsystems e assumiu a propriedade de trรชs ativos de software importantes da Sun: Java, MySQL e Solaris.
Java versรตes
Segue um breve histรณrico de Java versรตes e suas respectivas datas de lanรงamento, atualizadas atรฉ a versรฃo de suporte de longo prazo mais recente:
| Java Versรฃo | Data de lanรงamento |
|---|---|
| JDK Alfa e Beta | 1995 |
| JDK1.0 | 23 de janeiro de 1996 |
| JDK1.1 | Fevereiro 19th 1997 |
| J2SE 1.2 | 8th dezembro 1998 |
| J2SE 1.3 | 8 Maio 2000 |
| J2SE 1.4 | Fevereiro 6th 2002 |
| J2SE 5.0 | 30th setembro 2004 |
| Java SE 6 | 11th dezembro 2006 |
| Java SE 7 | 28 Julho 2011 |
| Java SE 8 (LTS) | 18th Sea 2014 |
| Java SE 9 | 21st setembro 2017 |
| Java SE 10 | 20th Sea 2018 |
| Java SE 11 (LTS) | 25th setembro 2018 |
| Java SE 12 | 19th Sea 2019 |
| Java SE 13 | 17th setembro 2019 |
| Java SE 14 | 17th Sea 2020 |
| Java SE 15 | 15th setembro 2020 |
| Java SE 16 | 16th Sea 2021 |
| Java SE 17 (LTS) | 14th setembro 2021 |
| Java SE 18 | 22 de marรงo de 2022 |
| Java SE 19 | 20th setembro 2022 |
| Java SE 20 | 21st Mar 2023 |
| Java SE 21 (LTS) | 19th setembro 2023 |
| Java SE 22 | 19th Sea 2024 |
| Java SE 23 | 17th setembro 2024 |
| Java SE 24 | 18th Sea 2025 |
| Java SE 25 (LTS) | 16th setembro 2025 |
Java Diferenciais
Aqui estรฃo alguns dos mais importantes Java Caracterรญsticas que o mantiveram relevante por quase trรชs dรฉcadas:
- ร uma das linguagens de programaรงรฃo orientadas a objetos mais fรกceis de aprender.
- "Escreva uma vez, execute em qualquer lugar" โ o cรณdigo compilado em uma mรกquina funciona em praticamente qualquer plataforma de computaรงรฃo.
- Java ร independente de plataforma graรงas ao seu modelo de execuรงรฃo de bytecode.
- Ele foi projetado desde o inรญcio para aplicaรงรตes orientadas a objetos.
- ร uma linguagem multithread com gerenciamento automรกtico de memรณria (coleta de lixo).
- Foi criado para o ambiente distribuรญdo da internet.
- Ele facilita a computaรงรฃo distribuรญda devido ao seu design centrado em rede.
Componentes do Java Linguagem de Programaรงรฃo
A Java Um programador escreve cรณdigo em uma linguagem legรญvel por humanos chamada cรณdigo fonteA CPU nunca entende o cรณdigo-fonte diretamente โ as CPUs executam apenas cรณdigo de mรกquina, e esse cรณdigo de mรกquina varia entre as famรญlias de CPUs. Para superar essa lacuna, o Java A plataforma traduz o cรณdigo-fonte para um formato intermediรกrio portรกtil. Tudo isso acontece dentro de trรชs componentes principais: o JDK, a JVM e o JRE.
Java Kit de Desenvolvimento (JDK)
JDK รฉ um ambiente de desenvolvimento de software usado para criar applets e Java aplicaรงรตes. A forma completa do JDK รฉ Java Kit de desenvolvimento. Java os desenvolvedores podem usรก-lo em Windows, macOS, Solarise Linux. O JDK os ajuda a programar e executar. Java programas. ร possรญvel instalar mais de uma versรฃo do JDK no mesmo computador.
Por que usar o JDK?
- O JDK contรฉm as ferramentas necessรกrias para escrever Java programas e um JRE para executรก-los.
- Inclui um compilador (
javac), O Java Iniciador de aplicativos, AppletViewer e utilitรกrios similares. - O compilador converte o cรณdigo escrito em Java em bytecode.
- O Java o inicializador de aplicativos abre um JRE, carrega a classe necessรกria e executa seu mรฉtodo principal.
Java Mรกquina Virtual (JVM)
O Java Mรกquina Virtual (JVM) รฉ um mecanismo que fornece um ambiente de execuรงรฃo para dirigir Java cรณdigo ou aplicativos. Ele converte Java bytecode em linguagem de mรกquina. A JVM faz parte da Java Ambiente de Execuรงรฃo Conjunto (JRE). Em outras linguagens de programaรงรฃo, o compilador produz cรณdigo de mรกquina para um sistema especรญfico. No entanto, o Java O compilador produz cรณdigo para uma mรกquina virtual conhecida como Java Mรกquina virtual.
Por que JVM?
- JVM fornece uma forma de execuรงรฃo independente de plataforma Java Cรณdigo fonte.
- Possui inรบmeras bibliotecas, ferramentas e estruturas disponรญveis imediatamente.
- Depois de compilar um Java programa, vocรช pode executรก-lo em qualquer plataforma, o que economiza um tempo significativo.
- A JVM vem com um compilador JIT (Just-In-Time) que converte bytecode em linguagem de mรกquina de baixo nรญvel em tempo de execuรงรฃo, muitas vezes fazendo com que ela seja executada mais rapidamente do que um aplicativo interpretado.
Java Ambiente de tempo de execuรงรฃo (JRE)
JRE รฉ um software projetado para executar outros softwares. Ele contรฉm as bibliotecas de classes, a classe carregadora e a JVM. Em termos simples, se vocรช quiser executar apenas um programa, ele precisa de um JRE. Java Para programar (e nรฃo desenvolver um), vocรช precisa do JRE em vez do JDK completo.
Por que usar o JRE?
- O JRE contรฉm bibliotecas de classes, a JVM e outros arquivos de suporte. Ele nรฃo inclui ferramentas de desenvolvimento como um depurador ou compilador.
- Ele utiliza importantes classes de pacotes, incluindo
math,swing,util,lang,awte bibliotecas de tempo de execuรงรฃo. - Se vocรช tiver que correr Java Para instalar ou aplicar aplicativos, o JRE deve estar instalado no seu sistema.
Diferentes tipos de Java Desafios
Existem quatro distintos Java plataformas de linguagem de programaรงรฃo, cada uma otimizada para uma finalidade de implantaรงรฃo diferente:
1. Java Plataforma, Ediรงรฃo Standard (Java SE): Java A API da SE oferece a Java Funcionalidade central de uma linguagem de programaรงรฃo. Define tudo, desde tipos e objetos bรกsicos atรฉ classes de alto nรญvel usadas para redes, seguranรงa, acesso a bancos de dados, desenvolvimento de interfaces grรกficas de usuรกrio (GUI) e anรกlise de XML.
2. Java Plataforma, Ediรงรฃo Empresarial (Jakarta EE, anteriormente Java EE): A plataforma Jakarta EE oferece uma API e um ambiente de execuรงรฃo para desenvolvimento.ping e executar aplicaรงรตes de rede altamente escalรกveis, de grande escala, com mรบltiplas camadas, confiรกveis โโe seguras. Oracle transferiu a plataforma para o Eclipse Foundation em 2017, que a renomeou como Jakarta EE.
3. Java Plataforma, Micro Ediรงรฃo (Java MEU): O Java A plataforma ME oferece uma API e uma mรกquina virtual de tamanho reduzido para execuรงรฃo de tarefas. Java Aplicaรงรตes em dispositivos pequenos, como celulares bรกsicos e controladores embarcados.
4. JavaFX: JavaFX รฉ uma plataforma para desenvolvedores.ping Aplicaรงรตes ricas para internet usando uma API de interface de usuรกrio leve. Utiliza mecanismos grรกficos e de mรญdia com aceleraรงรฃo por hardware que ajudam Java Aproveite clientes de alto desempenho, uma aparรชncia moderna e APIs de alto nรญvel para conectar-se a fontes de dados em rede.
Para entender o Java Para entendermos a linguagem de programaรงรฃo, precisamos revisitar alguns conceitos bรกsicos de como um programa de computador executa comandos e realiza aรงรตes.
O que รฉ um PC?
Um computador รฉ um dispositivo eletrรดnico capaz de realizar cรกlculos. Ele รฉ composto por um monitor, teclado, mouse e memรณria para armazenar informaรงรตes. O componente mais importante, no entanto, รฉ o PROCESSADOR. O processador realiza todo o processamento do computador โ mas como ele realmente faz isso? Como ele entende textos, imagens e vรญdeos?

O que รฉ a Assembly Linguagem?
O computador รฉ um dispositivo eletrรดnico, portanto, ele entende apenas sinais eletrรดnicos โ sinais binรกrios. Um sinal eletrรดnico de 5 volts pode representar o nรบmero binรกrio 1, enquanto 0 volts podem representar o nรบmero binรกrio 0. Seu PC รฉ continuamente bombardeado por esses sinais.
Oito bits desses sinais sรฃo agrupados para interpretar texto, nรบmeros e sรญmbolos.
Por exemplo, o sรญmbolo # รฉ identificado pelo computador como 10101010. Da mesma forma, o padrรฃo para uma funรงรฃo "adicionar" รฉ representado por 10000011.
Isso รฉ conhecido como computaรงรฃo de 8 bits. Os processadores modernos sรฃo capazes de decodificar instruรงรตes de 64 bits por vez. Entรฃo, o que esse conceito tem a ver com... JavaVamos analisar um exemplo.
Suponha que vocรช queira instruir o computador a somar dois nรบmeros (1 + 2) representados por nรบmeros binรกrios (10000011). Como vocรช comunica isso ao seu computador? Vocรช usa a linguagem assembly para executar o seu cรณdigo.
"Assembly A linguagem รฉ a forma mais elementar de linguagens de desenvolvimento de software.โ
Vocรช emite comandos no seguinte formato. O cรณdigo para somar dois nรบmeros em linguagem assembly seria assim:
- Armazene o nรบmero 1 no endereรงo de memรณria A.
- Armazene o nรบmero 2 no endereรงo de memรณria B.
- Adicione o conteรบdo dos locais A e B.
- Armazene o resultado.
Na dรฉcada de 1950, quando os computadores eram enormes e consumiam muita energia, convertรญamos o cรณdigo assembly em cรณdigo de mรกquina correspondente (1s e 0s) usando um mapa.ping folhas. O cรณdigo era entรฃo perfurado em cartรตes de mรกquina e inserido no computador. O computador lia esses cรณdigos e executava o programa. Esse era um processo longo โ atรฉ a chegada da MONTADORA para automatizar a conversรฃo.
O que sรฃo montador e compilador?
Com os avanรงos tecnolรณgicos, foram inventados os dispositivos de entrada/saรญda (I/O). Vocรช podia digitar seu programa diretamente no PC usando o ASSEMBLER, que o convertia em cรณdigo de mรกquina correspondente (110001โฆ) e o enviava para o processador. Voltando ao nosso exemplo 1 + 2, o montador converte o cรณdigo assembly em cรณdigo de mรกquina como saรญda.
Alรฉm da linguagem assembly, vocรช tambรฉm precisa chamar funรงรตes fornecidas pelo sistema operacional para exibir a saรญda.
O montador sozinho nรฃo รฉ suficiente; ele tambรฉm precisa de um COMPILADOR para compactar o cรณdigo-fonte extenso em partes menores e otimizadas. Com linguagens de desenvolvimento de software de alto nรญvel, todo o trecho de cรณdigo assembly acima se reduz a uma รบnica linha, como: printf(โ%dโ, 1+2)O compilador converte seu Linguagem C O cรณdigo รฉ convertido em cรณdigo assembly; o montador, entรฃo, converte esse cรณdigo em cรณdigo de mรกquina. transmitrelacionado ao processador. O processador mais comum usado em PCs รฉ o processador Intel.
Os compiladores modernos geralmente incluem o montador (assembler) para que possam converter o cรณdigo de uma linguagem de alto nรญvel diretamente em cรณdigo de mรกquina.
Agora, suponha Windows Executa em um processador Intel โ a combinaรงรฃo de sistema operacional e processador รฉ chamada de PLATAFORMA. A plataforma mais comum รฉ Windows na Intel, tambรฉm conhecida como plataforma Wintel. Outras plataformas populares incluem AMD, Linux, PowerPC e macOS.
Com a mudanรงa de processador, as instruรงรตes de montagem tambรฉm mudam. Por exemplo:
- A instruรงรฃo "add" na Intel pode ser chamada de ADIรรO na AMD.
- Ou โMath ADDโ no PowerPC.
E com uma mudanรงa no sistema operacional, o nรญvel e a natureza das chamadas em nรญvel de sistema operacional tambรฉm mudam.
Como desenvolvedor, vocรช quer que seu software funcione em todas as plataformas para maximizar o alcance. Isso significa que vocรช teria que comprar compiladores separados que convertem seu cรณdigo. printf comando para o cรณdigo de mรกquina nativo de cada alvo.
Os compiladores sรฃo caros e sempre existe o risco de problemas de compatibilidade entre sistemas operacionais. Comprar e instalar um compilador separado para cada combinaรงรฃo de sistema operacional e processador nรฃo รฉ prรกtico. Entรฃo, qual รฉ a alternativa? Apresentamos o Java lรญngua.
Como รฉ que Java Trabalho de Mรกquina Virtual?
Ao utilizar a blockchain da Java Mรกquina virtualEste problema pode ser resolvido. Mas como isso funciona em diferentes processadores e sistemas operacionais? Vamos analisar passo a passo.
Passo 1) O cรณdigo para exibir a soma de dois nรบmeros โ System.out.println(1+2) โ รฉ salvo como um .java arquivo.
Passo 2) Com o Java compilador (javac), o cรณdigo รฉ convertido em cรณdigo intermediรกrio chamado bytecodeA saรญda รฉ um .classe arquivo.
Passo 3) Esse cรณdigo de bytes nรฃo รฉ compreendido por nenhuma plataforma fรญsica, apenas por uma plataforma virtual chamada... Java Mรกquina virtual.
Passo 4) A JVM reside na memรณria RAM do seu sistema operacional. Quando a JVM recebe esse bytecode, ela identifica a plataforma em que estรก sendo executada e converte o bytecode em cรณdigo de mรกquina nativo em tempo real.
Enquanto estiver trabalhando no seu computador ou navegando na internet, sempre que vocรช vir JavaAo usar รญcones relacionados, vocรช pode ter certeza de que a JVM estรก carregada na sua RAM. O que torna isso possรญvel? Java attracA grande vantagem รฉ que o cรณdigo compilado pode ser executado nรฃo apenas em qualquer plataforma de PC, mas tambรฉm em celulares e outros dispositivos eletrรดnicos compatรญveis. Java.
"Java รฉ uma linguagem de programaรงรฃo, bem como uma plataforma.โ
ะะฐะบ ะต Java Independente de plataforma?
Ao contrรกrio de um compilador C, o Java compilador nรฃo produz cรณdigo executรกvel nativo para uma mรกquina especรญfica. Em vez de, Java produz um formato intermediรกrio รบnico chamado bytecodeO bytecode รฉ executado de acordo com as regras estabelecidas na especificaรงรฃo da JVM, e รฉ por isso que Java รฉ uma linguagem independente de plataforma.
O bytecode รฉ compreensรญvel por qualquer JVM instalada em qualquer sistema operacional. Em resumo, Java O cรณdigo-fonte pode ser executado em qualquer sistema operacional moderno sem recompilaรงรฃo, o que รฉ fundamental para... JavaA promessa de "escreva uma vez, publique em qualquer lugar".








