0% acharam este documento útil (0 voto)
3 visualizações7 páginas

Introdução à Linguagem Java: Pilares e Recursos

Java é uma linguagem de programação popular, lançada em 1995, projetada para ser robusta, segura e portátil, permitindo desenvolvimento em diversas plataformas. Seus principais aspectos incluem orientação a objetos, segurança, suporte a redes e a Máquina Virtual Java (JVM), que facilita a execução de código em diferentes sistemas operacionais. A linguagem continua a ser amplamente utilizada devido à sua flexibilidade e confiabilidade no desenvolvimento de software.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações7 páginas

Introdução à Linguagem Java: Pilares e Recursos

Java é uma linguagem de programação popular, lançada em 1995, projetada para ser robusta, segura e portátil, permitindo desenvolvimento em diversas plataformas. Seus principais aspectos incluem orientação a objetos, segurança, suporte a redes e a Máquina Virtual Java (JVM), que facilita a execução de código em diferentes sistemas operacionais. A linguagem continua a ser amplamente utilizada devido à sua flexibilidade e confiabilidade no desenvolvimento de software.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Aluno: Giuvane Conti

Disciplina: CC1ICC – Introdução à Ciência da Computação


Semestre: 2024/2

A linguagem de programação Java

1. Introdução

A linguagem de programação Java, desenvolvida pela Sun Microsystems e


lançada em 1995, é uma das mais populares e amplamente utilizadas no
desenvolvimento de software. Com uma filosofia de "escreva uma vez, execute em
qualquer lugar" (write once, run anywhere) Java foi projetada para ser uma linguagem
robusta, segura e portátil. Sua arquitetura de independência de plataforma e seus
recursos de orientação a objetos a tornam uma escolha versátil para o
desenvolvimento de sistemas distribuídos, aplicações desktop, sistemas embarcados
e até mesmo para a programação de dispositivos móveis (HORSTMANN; CORNELL,
2019). Neste texto, detalharemos seus principais aspectos, como a orientação a
objetos, portabilidade, segurança, recursos de rede e a Máquina Virtual Java (JVM),
para entender melhor como Java se consolidou como uma das principais linguagens
de programação.
2. Orientação a Objetos

Java é uma linguagem de programação orientada a objetos (POO), o que


significa que ela utiliza o conceito de objetos – instâncias de classes – como suas
unidades fundamentais. A programação orientada a objetos em Java envolve os
conceitos de encapsulamento, herança, polimorfismo e abstração. Esses princípios
visam aumentar a modularidade, a reutilização de código e a manutenção, enquanto
mantém uma estrutura robusta para desenvolvimento de software (DEITEL; DEITEL,
2017).

2.1 Classes e Objetos

Uma classe em Java é um blueprint ou modelo que define propriedades


(variáveis de instância) e comportamentos (métodos) que os objetos criados a partir
dela possuem. Uma vez que uma classe é definida, pode-se instanciar objetos, que
são entidades no programa que operam sob o escopo da classe (LIANG, 2022).

Exemplo de classe simples em Java:

2.2 Herança

Herança é o mecanismo que permite que uma classe derivada (subclasse)


herde propriedades e comportamentos de uma classe base (superclasse). Em Java,
a herança promove a reutilização de código e facilita a criação de hierarquias de
classes, onde as subclasses especializam ou estendem o comportamento da
superclasse. No entanto, Java suporta herança simples, ou seja, uma classe só pode
herdar diretamente de uma única classe (ECKEL, 2020).
2.3 Polimorfismo

O polimorfismo em Java permite que objetos de diferentes classes sejam tratados


de forma uniforme, com base em uma interface comum ou classe pai. O polimorfismo
pode ser implementado em dois níveis:

• Sobrecarga de métodos: Permite que uma classe tenha múltiplos métodos com o
mesmo nome, mas com diferentes assinaturas (parâmetros).
• Sobrescrita de métodos: Permite que uma subclasse forneça uma implementação
específica para um método já definido na superclasse (DEITEL; DEITEL, 2017).

2.4 Tipagem Estática

Java é uma linguagem de tipagem estática, o que significa que os tipos de


todas as variáveis e expressões são definidos em tempo de compilação. Isso permite
que muitos erros sejam detectados antes da execução do programa, aumentando a
segurança e a confiabilidade do software (LIANG, 2022). A verificação de tipos em
tempo de compilação reduz o número de erros comuns, como incompatibilidades de
tipo, que podem surgir em linguagens de tipagem dinâmica.

3. Multiplataforma

Um dos aspectos mais notáveis de Java é sua capacidade de ser


multiplataforma. Ao contrário de muitas outras linguagens que dependem
diretamente do sistema operacional subjacente, Java utiliza a Máquina Virtual Java
(JVM), que é responsável por executar o código compilado (bytecode) em qualquer
sistema que suporte a JVM, como Windows, Linux e macOS (ECKEL, 2020).

3.1 JVM e Portabilidade

A JVM é um componente essencial que permite que programas Java sejam


executados independentemente do sistema operacional. A JVM interpreta o bytecode,
um formato intermediário entre o código-fonte e o código de máquina, permitindo que
o código Java seja portátil entre diferentes plataformas (HORSTMANN, 2022). Esta
independência é uma grande vantagem em ambientes empresariais, onde um
software pode precisar ser executado em uma variedade de sistemas operacionais.

Além disso, a JVM inclui diversas otimizações, como a compilação Just-In-Time


(JIT), que melhora o desempenho do bytecode interpretado, tornando-o mais próximo
de programas compilados diretamente em código de máquina (LIANG, 2022).

4. Segurança

Java foi projetada com uma forte ênfase em segurança. Desde o início, a
linguagem incluiu várias funcionalidades que visam garantir a segurança tanto do
código quanto dos dados, tornando-a amplamente usada em ambientes onde a
proteção de dados é essencial, como sistemas financeiros e aplicações de e-
commerce (DEITEL; DEITEL, 2017).

4.1 Sintaxe Rigorosa e Verificação de Tipos

A sintaxe rigorosa de Java e seu modelo de verificação de tipos em tempo de


compilação contribuem para a segurança, reduzindo a possibilidade de erros comuns,
como referências a ponteiros nulos e buffer overflow. A gestão automática de memória
através do garbage collector também elimina a possibilidade de uso incorreto da
memória, um problema comum em linguagens que requerem alocação e desalocação
manual (HORSTMANN; CORNELL, 2019).

4.2 Sandboxing e Execução Segura

Java implementa um conceito de sandbox, especialmente em contextos como


navegadores e execução de applets, permitindo que código de fontes não confiáveis
seja executado de forma controlada. O Security Manager de Java permite definir
permissões específicas para execução de códigos, como acessar o sistema de
arquivos ou realizar operações de rede, proporcionando um controle granular sobre
as operações que um aplicativo pode realizar (LIANG, 2022).

4.3 APIs de Segurança

A linguagem também oferece um extenso conjunto de APIs voltadas à


segurança, como criptografia, autenticação e controle de acesso. A API de Java
Cryptography Architecture (JCA) oferece suporte para algoritmos de criptografia,
assinaturas digitais, geração de chaves e gerenciamento de certificados, permitindo a
criação de aplicações seguras (DEITEL; DEITEL, 2017).
5. Recursos de Rede

Uma das áreas em que Java se destaca é no suporte para desenvolvimento de


aplicações distribuídas. A linguagem oferece um conjunto de APIs para
manipulação de redes, facilitando a comunicação entre sistemas.

5.1 Suporte a TCP/IP

A API de sockets em Java permite que os desenvolvedores criem e gerenciem


conexões de rede utilizando o protocolo TCP/IP. Isso possibilita a criação de
servidores e clientes para transmissão de dados em redes locais ou via internet,
tornando Java uma escolha popular para desenvolvimento de servidores e aplicações
de rede (HORSTMANN, 2022).

5.2 Protocolos HTTP e FTP

Java também oferece suporte a HTTP e FTP de maneira nativa. A classe


HttpURLConnection facilita a comunicação com servidores web, sendo amplamente
utilizada no desenvolvimento de aplicações que necessitam realizar requisições HTTP
(DEITEL; DEITEL, 2017). Por meio da biblioteca padrão, é possível desenvolver tanto
clientes HTTP quanto servidores completos.

Exemplo de uso básico de HttpURLConnection:

6. Máquina Virtual Java (JVM)

A Máquina Virtual Java (JVM) é um dos componentes mais críticos da


plataforma Java, permitindo que o bytecode seja executado em qualquer sistema que
possua a JVM instalada, proporcionando a independência de plataforma. Além de
suportar a execução de bytecode, a JVM inclui recursos avançados de gerenciamento
de memória e otimização de desempenho.

6.1 Garbage Collector

O garbage collector é um mecanismo automático de gerenciamento de


memória da JVM, responsável por liberar a memória alocada para objetos que não
estão mais em uso. Isso evita vazamentos de memória e garante que o desenvolvedor
não precise gerenciar manualmente a alocação e desalocação de memória
(HORSTMANN, 2022). O garbage collector opera em segundo plano e é executado
em intervalos periódicos, removendo objetos que não possuem mais referências
ativas.

6.2 Plataforma para Outras Linguagens

Além de Java, a JVM suporta diversas outras linguagens, como Scala, Kotlin
e Clojure, que também compilam para bytecode. Isso aumenta a versatilidade da
plataforma, permitindo que desenvolvedores escolham a linguagem que melhor se
adapta às suas necessidades, enquanto continuam a tirar proveito do ambiente
robusto e seguro da JVM (LIANG, 2022).

7. Conclusão

Java continua a ser uma das linguagens de programação mais amplamente


utilizadas e respeitadas no mundo do desenvolvimento de software. Seus fortes
pilares de orientação a objetos, portabilidade, segurança, suporte a redes e a
poderosa Máquina Virtual Java contribuem para a sua longevidade e relevância
contínua. Como uma plataforma sólida para o desenvolvimento de sistemas
escaláveis e seguros, Java se destaca por sua flexibilidade e confiabilidade.
Referências

DEITEL, H. M.; DEITEL, P. J. Java: How to Program. 11th ed. Pearson, 2017.
ECKEL, B. Thinking in Java. 4th ed. Pearson Education, 2020.
HORSTMANN, C. S.; CORNELL, G. Core Java Volume I: Fundamentals. 12th ed.
Prentice Hall, 2019.
HORSTMANN, C. S. Core Java Volume II: Advanced Features. 12th ed. Prentice
Hall, 2022.
LIANG, Y. D. Introduction to Java Programming and Data Structures. 12th ed.
Pearson, 2022.

Você também pode gostar