Best android open-source packages and libraries.

Java programming

☕ It's a repository of Java programming.
Updated 1 year ago

It's a repository of Java language programming

I created this repository for my Java Full-Stack Development learning.

🐒 Paradigmas de desenvolvimento de software

Hoje em dia, o desenvolvimento de sistemas se baseia em vários e diferentes paradigmas, tais como os listados a seguir:

  • Imperativo (Procedural): Segue sequências de comandos ordenados segundo uma lógica.
  • Funcional: Trabalha com a divisão de problemas através de funções, que resolvem separadamente problemas menores e que, ao serem organizados, resolvem o problema como um todo.
  • Lógico: Voltado ao desenvolvimento de problemas de lógica e usado em sistemas de inteligência computacional.
  • Orientado a Objetos (OO): Define um conjunto de classes para dividir o problema e realiza a interação entre as diferentes classes para também resolver o problema como um todo.

♨️ Tecnologia Java


Java é o ambiente computacional, ou plataforma, criada pela empresa estadunidense Sun Microsystems, e vendida para a Oracle depois de alguns anos. A plataforma permite desenvolver programas utilizando a linguagem de programação Java.

History of Java Language


A tecnologia Java foi desenvolvida na década de 1990, a partir de um projeto pessoal de um funcionário da Sun Microsystems. A ideia inicial estava ligada à criação de uma linguagem de programação que pudesse ser utilizada em diferentes sistemas, alterando o paradigma de que uma aplicação só poderia ser desenvolvida para uso em um único ambiente de hardware e sistema operacional, como era bastante comum na época.

As grandes empresas desenvolviam suas aplicações voltadas para seu ambiente de hardware e software (sistema operacional - SO), e estas aplicações não eram capazes de serem executadas em diferentes plataformas, principalmente de outros fabricantes. Se analisarmos a linguagem C, criada junto com o sistema operacional UNIX, temos uma biblioteca muito vasta de funções, mas poucas são consideradas padrão para atender a diferentes sistemas; e, mesmo assim, uma aplicação compilada em um sistema operacional (ambiente) não pode ser executada em outro.

A linguagem Java rompeu este paradigma e passou a permitir que uma aplicação desenvolvida em um ambiente - hardware + software (SO) - possa ser executada em outro sem necessidade de qualquer outro procedimento. A Sun Microsystems, ao tomar conhecimento desta ideia, deu total apoio ao seu desenvolvimento e criou um grupo com 13 membros, liderado por James Gosling, que passaram a trabalhar exclusivamente neste projeto. A equipe foi batizada de “Green Team” e o grupo passou a trabalhar em um conjunto de escritórios fora das dependências físicas da Sun, e sem qualquer tipo de comunicação com a matriz, durante 18 meses para a concretização desta ideia.

Com a tecnologia Java, as aplicações passaram a ser portáveis de um sistema para o outro, sem nenhuma necessidade de alteração. Por isso, afirmamos que a portabilidade é uma das mais importantes características da linguagem Java.

Ainda naquela época, o grupo já havia antecipado uma nova onda na computação, na convergência entre dispositivos controlados digitalmente e computadores. Hoje em dia, percebemos bem isso quando analisamos um smartphone, um dispositivo digital que possui inúmeras funções de computadores; entre elas, podemos destacar a execução de aplicativos. Inicialmente, a linguagem foi batizada de Oak, pois o grupo tinha como vista da janela do escritório um carvalho. Posteriormente, a linguagem foi rebatizada como Java, em função do gosto do grupo pelo tipo de café. Por isso, temos como ícone da linguagem uma xícara de café com sua fumaça característica.

A linguagem é muito poderosa para o desenvolvimento de aplicações, seja para o desenvolvimento de aplicações menos sofisticadas ou para uso em dispositivos menos complexos que computadores, conhecidos como dispositivos inteligentes, tais como cafeteiras, micro-ondas, geladeiras e uma gama de outros dispositivos que possam ser controlados por software. A linguagem ainda é muito eficiente no desenvolvimento de sistemas de entretenimento doméstico, dando suporte a streaming de vídeo e televisão digital, que ainda não era tão desenvolvida na época.

A tecnologia Java permite ainda o desenvolvimento de todos os tipos de aplicações, indo do mais simples controle de um eletrodoméstico, passando por aplicações domésticas, comerciais, de automação, até o desenvolvimento de aplicações mais complexas, com comunicação de dados e aplicações para supercomputadores.

A linguagem Java teve início ao incorporar a tecnologia Java ao navegador de internet Netscape navigator, em sua versão de 1995. A tecnologia ganhou a aceitação do mercado e dos desenvolvedores, sendo uma das mais importantes linguagens de programação para o desenvolvimento de sistemas. São dezenas de milhões de desenvolvedores Java no mundo e, atualmente, esta tecnologia é encontrada em supercomputadores, servidores, desktops, notebooks, máquinas de cartões de crédito e débito, robôs, automóveis, jogos eletrônicos, bem como uma gama de dispositivos digitais, redes e demais tecnologias de programação. A linguagem Java ainda é a linguagem nativa para o desenvolvimento de aplicações para o Android (sistema operacional para smartphones).

A tecnologia Java foi totalmente gratuita por muito tempo, mas recentemente a Oracle, que passou a deter os direitos da linguagem após adquirir a Sun Microsystems, está licenciando o uso para empresas com custos. A empresa deve permitir o licenciamento gratuito somente para desenvolvedores avulsos que criam aplicações pessoais sem custo ou para simples aprendizado.

Principais características e vantagens da tecnologia Java

  • Orientada a objetos, com uma grande diversidade de bibliotecas de classes disponível;
  • Independe de plataforma: write once, run everywhere ;
  • Segurança - Mecanismos para sistemas livres de vírus, pacotes para criptografia;
  • Simplicidade;
  • Sintaxe dos comandos básicos segue o padrão do C;
  • Sintaxe da parte OO bem mais simples que o C++;
  • Internacionalização;
  • Unicode: padrão que permite manipular textos de qualquer sistema de escrita;
  • Robustez;
  • Tratamento de exceções;
  • JVM (Java Virtual Machine) impede que uma aplicação mal comportada paralise o sistema;
  • Distribuída e multitarefa;
  • Os programas podem utilizar recursos da rede com a mesma facilidade que acessam arquivos locais;
  • Trabalha com diversos protocolos (TCP/IP, HTTP, FTP);
  • Execução simultânea de múltiplas threads;
  • Gerenciamento de memória;
  • Memória virtual gerenciada pela JVM (Java Virtual Machine);
  • Garbage collection (limpeza de memória);
  • Desempenho;
  • Mais rápida que linguagens de script, porém mais lenta que as linguagens compiladas puras;
  • Hoje, os problemas de desempenho são resolvidos com compilação just-in-time.

🏗️ Plataforma Java


De forma geral, entendemos que plataforma (ambiente de execução) é composta por hardware + software básico (sistema operacional).

A plataforma Java é definida apenas em software e possui dois componentes:

  • Máquina Virtual Java (JVM - Java Virtual Machine);
  • Conjunto de bibliotecas que disponibilizam classes comuns.

API Java

.JAR .JAR

"Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para "bytecode" (gerando o .class ou .jar), que é executado por uma máquina virtual Java (JVM - Java Virtual Machine)."

O modelo inicial era interpretado. Já o atual trocou a etapa do interpretador por uma 2ª compilação (compilador JIT, isto é, just-in-time).

A tecnologia Java é composta por três plataformas:

  • J2SE ou Java SE (Java Standard Edition): base da plataforma, inclui o ambiente de execução e as bibliotecas comuns;
  • J2EE ou Java EE (Java Enterprise Edition): versão voltada para o desenvolvimento de aplicações corporativas e aplicações web;
  • J2ME ou Java ME (Java Micro Edition): versão voltada para o desenvolvimento de aplicações móveis ou embarcadas.

Ambiente de desenvolvimento

Existem os ambientes JDK e JRE para construir e executar uma aplicação Java.

Java Development Kit (JDK)

Coleção de programas para, dentre outras tarefas, compilar e executar aplicações Java. Este é o kit necessário para o desenvolvedor, pois contém todo o suporte para a criação de aplicações em Java.

Exemplo:

  • Javac (compilador Java);
  • Javadoc (utilitário para documentação);
  • Java;
  • Outros.

Java Runtime Environment (JRE)

Kit com todos os programas necessários para executar aplicações Java. Faz parte do JDK, mas pode ser instalado separadamente para execução em máquinas clientes, uma vez que o JDK é voltado para os desenvolvedores. O JRE pode ser instalado separadamente e dá suporte somente a execução de aplicações ou jogos como o Minecraft, por isso é a versão mais indicada para instalação nas máquinas clientes que apenas executarão aplicações, não sendo responsáveis pelo seu desenvolvimento.

Fases de um programa em linguagem Java

img01

O código de um programa Java é compilado apenas uma vez, gerando um código intermediário, o bytecode, que pode ser executado quantas vezes forem necessárias em qualquer ambiente que possua uma máquina virtual Java (JVM) disponível.

Inicialmente a tecnologia Java realizava uma interpretação completa do bytecode, mas atualmente o interpretador realiza uma compilação just-in-time (compila o bytecode para o ambiente onde ocorrerá a execução), permitindo aumentar o desempenho da aplicação.

Para o desenvolvimento de aplicações em Java é comum o uso de ferramentas IDEs (Integrated Development Environment), que facilitam a codificação e a realização de testes, sendo as mais conhecidas:

  • Eclipse;
  • NetBeans;
  • IntelliJ;
  • BlueJ.

.JAR

Você pode usar qualquer tipo de ambiente, se preferir um editor de texto como um bloco de notas ou um VSCode você precisa usar a extensão .java.

Ambiente de programação

  

Existem várias ferramentas para o desenvolvimento de sistemas utilizando a linguagem Java, mas os desenvolvedores têm preferência pelos IDEs Netbeans e Eclipse. Ambos são gratuitos e podem ser adquiridos pela internet através de download.

É importante que você já tenha instalado o JDK antes de instalar o seu IDE escolhido (Netbeans ou Eclipse). Assista o vídeo:

NetBeans

Existem dois arquivos diferentes: o primeiro, com o source, contém os códigos fonte no Netbeans e não é o ideal para trabalharmos o desenvolvimento. A versão adequada para nós é a versão bin, que contém todos os códigos já compilados e prontos para a execução e desenvolvimento de projetos e aplicações Java.

Eclipse

Você não precisa instalar as duas, pois ambas são concorrentes e desempenham as mesmas funcionalidades. A preferência é a critério do programador.

A linguagem Java possui uma base de construção semelhante à linguagem C e, por isso, boa parte de sua estrutura e sintaxe se assemelha a ela. Desta forma, programadores com conhecimento nesta linguagem tem grande facilidade com a sintaxe da linguagem Java. Outra importante semelhança está nas estruturas de controle de fluxo, que são construídas da mesma forma em ambas as linguagens.

Cuidado com as diferenças de versões no sistema operacional: se instalar o Java para 64 bits, você deverá usar um IDE (Netbeans ou Eclipse) de 64 bits. O mesmo para a versão de 32 bits: tanto o Java quanto o IDE deverão ser para 32 bits.

🤖 Primefaces


🥛 Kotlin


🗺️ Java RoadMap

1643485463767

Autor


@IsaacAlves7
Tags mysql