Começando com Java 9 Fundamentos #8

Tempo de leitura: 6 min

Escrito por blackzig
em 06/04/2020

O que é Java?

Java é uma linguagem de programação de uso geral. Tem como recursos o suporte da programação baseado na orientação a objeto, procedural e paradigmas funcionais.

Muitas vezes pode-se ler a frase “Java é uma linguagem de programação orientada a objetos”. Isto significa que a linguagem Java tem recursos que suportam o paradigma de orientação a objetos.

Uma linguagem de programação não é orientada a objetos. É o paradigma que é orientado a objetos e uma linguagem de programação pode ter recursos que faz a implementação do paradigma de orientação a objetos ficar mais fácil.

Alguma vezes, programadores tem equívocos que todos os programas escritos em Java são sempre orientados a objetos. Java tem recursos que suportam os paradigmas procedurais e funcionais. Você pode escrever um programa em Java 100% procedural sem um pingo de orientação a objetos.

A versão inicial da plataforma Java foi construída em 1995 pela Sun Microsystems (que faz parte da Oracle Corporation desde janeiro de 2010). O desenvolvimento da linguagem de programação começou em 1991. Inicialmente, a linguagem foi chamada de Oak para ser utilizado em decodificadores de televisão.

Logo após o seu lançamento, o Java se tornou uma linguagem de programação muito popular. Um dos recursos mais importantes de sua popularidade foi o recurso WORA (write once, run anywhere) “escreve uma vez e execute em qualquer lugar”.

Esse recurso permite você escrever um programa Java uma vez e executar em qualquer plataforma. Por exemplo, você pode escrever e compilar um programa Java no UNIX e executar no Microsoft Windows, Macintosh ou na máquina UNIX sem modificar o código fonte.

WORA guarda a compilação do programa Java dentro de uma linguagem intermediária chamada bytecode. O formato da plataforma bytecode é independente.

Uma máquina virtual, chamada Java Virtual Machine (JVM), é utilizada para executar o bytecode para cada plataforma. Observe que a JVM é um programa implementado no software.

Não é uma máquina física é por essa razão é chamada de “máquina virtual”. O trabalho de uma JVM é transformar o bytecode em código executável de acordo com a plataforma que está sendo executado.

Esse recurso faz a plataforma Java independente. Isto quer dizer que o programa Java pode ser executado em várias plataformas sem nenhuma modificação. A seguir algumas características que estão por trás da popularidade do Java e aceitas na indústria do software:

Simplicidade

Ampla variedade de ambientes de uso

Robustez

Simplicidade pode ser uma palavra subjetiva neste contexto. O C++ foi uma linguagem de programação popular e poderosa amplamente utilizada na indústria de software até o Java ser produzido.

Se você foi um programador C++, o Java pode ser mais fácil para você aprender. O Java tem a sintaxe muito parecida com o C/C++, o qual foi de muita ajuda para os programadores C/C++ aprender a linguagem.

Melhor ainda, foram excluídos recursos confusos e difíceis de utilizar corretamente do C++ (contudo muito úteis). Por exemplo, o Java não tem ponteiros e múltiplas heranças, os quais estão presentes no C++.

Se você está aprendendo Java como sua primeira linguagem de programação, pode ser que não seja tão simples assim para você aprender. Porque como foi dito antes, a simplicidade do Java como qualquer outra linguagem de programação é muito subjetiva.

A linguagem Java e suas bibliotecas (vários pacotes contidos nas classes Java) tem crescido desde a sua primeira versão. Você precisa fazer um grande esforço para ser um bom programador Java.

Um programa desenvolvido em Java pode ser utilizado em diferentes ambientes. Você pode escrever programas em Java que podem ser utilizados no ambiente do cliente e servidor.

O uso mais popular do Java no seu início foi os applets, o qual foi depreciado (removido) do Java SE 9. Um applet é um programa Java embutido em uma página na internet, que utiliza o HyperText Markup Language (HTML), e mostra o resultado no navegador como o Microsoft Internet Explorer, Google Chrome etc.

O código applet é guardado no servidor, o download é feito pela a máquina cliente quando a página HTML tem uma referência para um applet e assim é executado.

O Java possui recursos que faz as aplicações serem mais fáceis de distribuir. Uma aplicação distribuída consiste em programas executados em diferentes máquinas conectadas por uma rede.

Java tem recursos que torna fácil o desenvolvimento de aplicações concorrentes. Uma aplicação concorrente tem múltiplas interações, threads executados em paralelo.

Robustez de um programa refere-se à habilidade de manipular o mínimo de situações inesperadas. Situações inesperadas são conhecidas como erro no programa.

O Java fornece vários recursos que tem robustez para checar erros durante a execução e produção do programa. A seguir apresento três diferentes tipos de erros que podem ocorrer em um programa Java.

Compile-time errors

Runtime errors

Logic errors

Erros de compile-time errors são conhecidos como erros de sintaxe. Eles são causados por uso incorreto da linguagem Java. Eles são detectados pelo o compilador Java.

Um programa com compile-time errors não compila para bytecode até os erros serem consertados. Esquecer um ponto e vírgula no fim de uma linha de programação, atribuir um valor fracionado como 10,23 para uma variável do tipo inteiro, são exemplos de compile-time errors.

Runtime errors acontece quando um programa é executado. Esse tipo de erro não é detectado pelo compilador porque um compilador não tem todas as informações necessárias para detectar o erro.

Java é uma linguagem altamente tipada e tem robustez na verificação dos tipos das variáveis durante a execução. Java tem mecanismos excelentes para manipular os erros durante a execução.

Quando um runtime error acontece no programa Java, a JVM lança uma exceção, a qual o programa pode capturar essa exceção e tratá-la. Por exemplo, dividir um número por zero (ex: 17/0) irá gerar um runtime error.

Java evita runtime errors críticos, tais como estouro de memória e vazamentos de memória, ele tem um mecanismo interno para alocação e desalocação automática de memória. O recurso que desaloca a memória é chamada de garbage collection.

Logic errors são os erros mais críticos de um programa e são difíceis de achar. Eles são introduzidos por um programador que implementou alguma funcionalidade incorretamente.

Esse tipo de erro não pode ser detectado pelo o compilador Java ou na sua execução. Esses erros são detectados por aplicações testadoras ou usuários que compara o estado atual da aplicação é diferente do que eles esperavam. Algumas vezes, alguns erros lógicos podem acontecer e nem serem notados.

Um erro de programação é conhecido com bug. O processo de encontrar e consertar bugs é conhecido como debugging. Todos os IDES modernos como o NetBeans, Eclipse, JDeveloper e IntelliJ IDEA fornece aos programadores uma ferramenta chamada debugger, a qual executa o programa passo a passo para conseguir achar o bug.

Debugging é uma atividade rotineira para os programadores. Se você quer ser um bom programador, você precisa aprender a utilizar os debuggers que acompanham as ferramentas de desenvolvimento que são utilizadas para desenvolver em Java.

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro

Aprenda a Criar e Programar Jogos Completos em 2D e 3D!

Seja um Desenvolvedor de Jogos Profissional