Cursos de Programação e Hubs para Programadores - Devshub
Programador - Devshub

Tudo sobre Java

230 Visualizações
Por @programadorempreendedor

JAVA

Introdução rápida

Java é uma linguagem de programação e plataforma computacional lançada pela primeira vez pela Sun Microsystems em 1995. Existem muitas aplicações e sites que não funcionarão, a menos que você tenha o Java instalado, e mais desses são criados todos os dias. O Java é rápido, seguro e confiável. De laptops a datacenters, consoles de games a supercomputadores científicos, telefones celulares à Internet, o Java está em todos os lugares!

< Programador - Devshub Br />
O download do Java é gratuito?

Sim, o download do Java é gratuito. Obtenha a última versão no site java.com.



Quem possui a máquina virtual instalada em seu computador, normalmente não precisa fazer nada para executar aplicativos e acessar serviços baseados em Java. Contudo, quando ela não está presente, diferentes tipos de erros podem ocorrer e consequentemente, os aplicativos e serviços não funcionam.



Java é uma linguagem de programação orientada a objeto e desenvolvida pela Sun Microsystems na década de 90, que atualmente, pertence a Oracle. A característica mais marcante dessa linguagem é que programas criados nela não são compilados em código nativo da plataforma. Programas em Java são compilados para um bytecode, que é executado por uma máquina virtual, o que permite aos desenvolvedores criarem um programa uma única vez e depois executar este em qualquer uma das plataformas suportadas pela tecnologia.



Entender um pouco da história da plataforma Java é essencial para enxergar os motivos que a levaram ao sucesso.



Quais eram os seus maiores problemas quando programava na década de 1990?



ponteiros? gerenciamento de memória? organização? falta de bibliotecas? ter de reescrever parte do código ao mudar de sistema operacional? custo financeiro de usar a tecnologia?



A linguagem Java resolve bem esses problemas, que até então apareciam com frequência nas outras linguagens. Alguns desses problemas foram particularmente atacados porque uma das grandes motivações para a criação da plataforma Java era de que essa linguagem fosse usada em pequenos dispositivos, como tvs, videocassetes, aspiradores, liquidificadores e outros. Apesar disso a linguagem teve seu lançamento focado no uso em clientes web (browsers) para rodar pequenas aplicações (applets). Hoje em dia esse não é o grande mercado do Java: apesar de ter sido idealizado com um propósito e lançado com outro, o Java ganhou destaque no lado do servidor.



O Java foi criado pela antiga Sun Microsystems e mantida através de um comitê (http://www.jcp.org). Seu site principal era o java.sun.com, e java.com um site mais institucional, voltado ao consumidor de produtos e usuários leigos, não desenvolvedores. Com a compra da Sun pela Oracle em 2009, muitas URLs e nomes tem sido trocados para refletir a marca da Oracle. A página principal do Java é: http://www.oracle.com/technetwork/java/



No Brasil, diversos grupos de usuários se formaram para tentar disseminar o conhecimento da linguagem. Um deles é o GUJ (http://www.guj.com.br), uma comunidade virtual com artigos, tutoriais e fórum para tirar dúvidas, o maior em língua portuguesa com mais de cem mil usuários e 1 milhão de mensagens.



Encorajamos todos os alunos a usar muito os fóruns do mesmo, pois é uma das melhores maneiras para achar soluções para pequenos problemas que acontecem com grande frequência.



Você pode também fazer o curso FJ-11 dessa apostila na Caelum



Querendo aprender ainda mais sobre? Esclarecer dúvidas dos exercícios? Ouvir explicações detalhadas com um instrutor?

A Caelum oferece o curso FJ-11 presencial nas cidades de São Paulo, Rio de Janeiro e Brasília, além de turmas incompany.



Consulte as vantagens do curso Java e Orientação a Objetos



2.2 Uma breve história do Java

A Sun criou um time (conhecido como Green Team) para desenvolver inovações tecnológicas em 1992. Esse time foi liderado por James Gosling, considerado o pai do Java. O time voltou com a ideia de criar um interpretador (já era uma máquina virtual, veremos o que é isso mais a frente) para pequenos dispositivos, facilitando a reescrita de software para aparelhos eletrônicos, como vídeo cassete, televisão e aparelhos de TV a cabo.



A ideia não deu certo. Tentaram fechar diversos contratos com grandes fabricantes de eletrônicos, como Panasonic, mas não houve êxito devido ao conflito de interesses e custos. Hoje, sabemos que o Java domina o mercado de aplicações para celulares com mais de 2.5 bilhões de dispositivos compatíveis, porém em 1994 ainda era muito cedo para isso.



Com o advento da web, a Sun percebeu que poderia utilizar a ideia criada em 1992 para rodar pequenas aplicações dentro do browser. A semelhança era que na internet havia uma grande quantidade de sistemas operacionais e browsers, e com isso seria grande vantagem poder programar numa única linguagem, independente da plataforma. Foi aí que o Java 1.0 foi lançado: focado em transformar o browser de apenas um cliente magro (thin client ou terminal burro) em uma aplicação que possa também realizar operações avançadas, e não apenas renderizar html.



Os applets deixaram de ser o foco da Sun, e nem a Oracle nunca teve interesse. É curioso notar que a tecnologia Java nasceu com um objetivo em mente, foi lançado com outro, mas, no final, decolou mesmo no desenvolvimento de aplicações do lado do servidor. Sorte? Há hoje o Java FX, tentando dar força para o Java não só no desktop mas como aplicações ricas na web, mas muitos não acreditam que haja espaço para tal, considerando o destino de tecnologias como Adobe Flex e Microsoft Silverlight.



Você pode ler a história da linguagem Java em: http://www.java.com/en/javahistory/



E um vídeo interessante: http://tinyurl.com/histjava



Em 2009 a Oracle comprou a Sun, fortalecendo a marca. A Oracle sempre foi, junto com a IBM, uma das empresas que mais investiram e fizeram negócios através do uso da plataforma Java. Em 2014 surge a versão Java 8 com mudanças interessantes na linguagem.



2.3 Máquina Virtual

Em uma linguagem de programação como C e Pascal, temos a seguinte situação quando vamos compilar um programa:





O código fonte é compilado para código de máquina específico de uma plataforma e sistema operacional. Muitas vezes o próprio código fonte é desenvolvido visando uma única plataforma!



Esse código executável (binário) resultante será executado pelo sistema operacional e, por esse motivo, ele deve saber conversar com o sistema operacional em questão.





Isto é, temos um código executável para cada sistema operacional. É necessário compilar uma vez para Windows, outra para o Linux, e assim por diante, caso a gente queira que esse nosso software possa ser utilizado em várias plataformas. Esse é o caso de aplicativos como o OpenOffice, Firefox e outros.



Como foi dito anteriormente, na maioria das vezes, a sua aplicação se utiliza das bibliotecas do sistema operacional, como, por exemplo, a de interface gráfica para desenhar as "telas". A biblioteca de interface gráfica do Windows é bem diferente das do Linux: como criar então uma aplicação que rode de forma parecida nos dois sistemas operacionais?



Precisamos reescrever um mesmo pedaço da aplicação para diferentes sistemas operacionais, já que eles não são compatíveis.



Já o Java utiliza do conceito de máquina virtual, onde existe, entre o sistema operacional e a aplicação, uma camada extra responsável por "traduzir" - mas não apenas isso - o que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional onde ela está rodando no momento:





Dessa forma, a maneira com a qual você abre uma janela no Linux ou no Windows é a mesma: você ganha independência de sistema operacional. Ou, melhor ainda, independência de plataforma em geral: não é preciso se preocupar em qual sistema operacional sua aplicação está rodando, nem em que tipo de máquina, configurações, etc.



Repare que uma máquina virtual é um conceito bem mais amplo que o de um interpretador. Como o próprio nome diz, uma máquina virtual é como um "computador de mentira": tem tudo que um computador tem. Em outras palavras, ela é responsável por gerenciar memória, threads, a pilha de execução, etc.



Sua aplicação roda sem nenhum envolvimento com o sistema operacional! Sempre conversando apenas com a Java Virtual Machine (JVM).



Essa característica é interessante: como tudo passa pela JVM, ela pode tirar métricas, decidir onde é melhor alocar a memória, entre outros. Uma JVM isola totalmente a aplicação do sistema operacional. Se uma JVM termina abruptamente, só as aplicações que estavam rodando nela irão terminar: isso não afetará outras JVMs que estejam rodando no mesmo computador, nem afetará o sistema operacional.



Essa camada de isolamento também é interessante quando pensamos em um servidor que não pode se sujeitar a rodar código que possa interferir na boa execução de outras aplicações.



Essa camada, a máquina virtual, não entende código java, ela entende um código de máquina específico. Esse código de máquina é gerado por um compilador java, como o javac, e é conhecido por "bytecode", pois existem menos de 256 códigos de operação dessa linguagem, e cada "opcode" gasta um byte. O compilador Java gera esse bytecode que, diferente das linguagens sem máquina virtual, vai servir para diferentes sistemas operacionais, já que ele vai ser "traduzido" pela JVM.



Write once, run anywhere



Esse era um slogan que a Sun usava para o Java, já que você não precisa reescrever partes da sua aplicação toda vez que quiser mudar de sistema operacional.



Algumas características da linguagem Java:



É compilada para um bytecode que é executado por uma máquina virtual.

É reconhecida pelos programadores por possuir uma grande diversidade de bibliotecas.

Programadores consiseram a simplicidade como uma de suas mais importantes características.

Tem uma sintaxe bem parecida com linguagens C e C++.

As classes representam categorias de objetos no Java, que podem herdar atributos e métodos de outras classes.

Suporta caracteres Unicode, o que facilita sua internacionalização.

Facilita a criação de programas distribuídos e multitarefa (múltiplas linhas de execução num mesmo programa).

O processo de compilação reduz a probabilidade de problemas comuns em programação.

Uma checagem dinâmica ajuda a minimizar erros.

Possuem carga dinâmica de código: uma coleção de classes armazenadas de forma independente e são carregadas no momento de utilização.

A segurança é reconhecida como um ponto forte do Java, graças as verificações realizadas no momento de execução e as restrições que impedem o acesso direto a memória.



A sintaxe utilizada deriva do C++ porém com um modelo mais simples. Como sua principal característica, todo o código é escrito dentro de uma classe e tudo é um objeto, com exceção dos tipos intrínsecos (números reais e ordinais, valores booleanos e caracteres) que não são classes por questões da funcionalidade exercida.



No momento de seu desenvolvimento, os objetivos principais desejados para esta linguagem foram que ela deveria ser simples, orientada a objetos e de fácil aprendizagem não somente para programadores experientes.



Além disto, a linguagem Java deveria possuir arquitetura neutra e portável, de forma que pudesse ser utilizada em diversos Sistemas operacionais, ter alta performance, apresentar segurança e solidez e ser uma linguagem interpretada com suporte a threads e dinâmica. As aplicações em Java normalmente podem ser executadas em qualquer plataforma que possua a Java Virtual Machine (JVM) instalada, independente da arquitetura do computador.



O Java utiliza o “Garbage Collector” para gerenciar a memória referente ao ciclo de vida dos objetos e sua permanência nela. O programador determina quando os objetos são criados e o Java Runtime é responsável pela retirada do objeto da memória quando ele não estiver mais em uso, evitando que este

Java é uma linguagem de programação orientada a objetos que é amplamente usada para o desenvolvimento de sites e aplicativos.



Para saber como programar com o objetivo de criar sites, aplicativos e processos para diversos dispositivos, é necessário entender e dominar uma linguagem estendida e cada vez mais importante para a comunidade.



Por isso, nesse post, apresentamos o Java.



Continue lendo e entenda:



O que é Java e para que serve?

Quais são as características do Java?

Qual é a importância do Java na programação?

Quais as vantagens que o Java oferece para sites e blogs?



O que é Java e para que serve?

Java é um tipo de linguagem de programação criada e comercializada pela Sun Microsystems desde 1995. É definida como uma linguagem orientada a objetos.



Sua intenção é permitir que os desenvolvedores escrevam o programa apenas uma vez e o executem por meio de qualquer dispositivo.





Quais são as características do Java?

Para entender o que é Java, é necessário conhecer as características que o diferenciam de outras linguagens de programação.



Simples

O Java oferece a funcionalidade de uma linguagem bastante potente, derivada de C e C ++, porém, sem os recursos confusos e pouco utilizados desses.



Orientado a objetos

O modelo orientado a objetos (também conhecido pela sigla do inglês, POO) é um dos estilos de programação mais populares. Ele permite desenhar o software para que os diferentes tipos de dados utilizados sejam vinculados às suas operações.



Distribuído

Java fornece uma grande biblioteca padrão e ferramentas para que os programas possam ser distribuídos.



Independente da plataforma

Isso significa que os programas escritos na linguagem Java podem ser executados em qualquer tipo de hardware, o que o torna portátil.



Coletor de lixo

Quando não há referências localizadas para um objeto, o coletor de lixo do Java exclui esse objeto, liberando, assim, a memória que ele ocupava. Isso evita possíveis fugas de memória.



Seguro e sólido

Proporciona uma plataforma segura para desenvolver e executar aplicativos que gerenciam automaticamente a memória, fornece canais de comunicação seguros, protegendo a privacidade dos dados e, por ter uma sintaxe rigorosa, evita a quebra de código, ou seja, não permite sua corrupção.



Multi-thread

O Java consegue executar várias tarefas simultaneamente dentro do mesmo programa. Isso permite melhorar o desempenho e a velocidade de execução.





Qual é a importância do Java na programação?

Essa linguagem permite desenhar softwares que podem ser executados e distribuídos em diferentes plataformas (MAC, Linux, Windows etc.), sem a necessidade de modificá-los e, inclusive, sem pensar na arquitetura da máquina.



Tudo isso graças aoJava Virtual Machine, uma máquina virtual que cria uma ponte entre o aplicativo e o hardware do dispositivo.





Quais vantagens o Java oferece para sites e blogs?

Algumas das vantagens oferecidas por essa linguagem de programação são:



se adapta perfeitamente a todos os tipos de dispositivos (tablets, smartphones, computadores, notebooks), permitindo que você visualize qualquer conteúdo do site ou blog;

permite desenhar praticamente qualquer elemento ou aplicativo;

por meio de XML, possibilita criar páginas web dinâmicas e atraentes;

permite incluir objetos de som e multimídia, além de bancos de dados e outras funcionalidades.

Existem muitos aplicativos e páginas que não funcionam ou que possuem itens que não são executados, a menos que o Java esteja instalado.



Atualmente, o Java é uma das linguagens de programação mais usadas para o desenvolvimento de sites em todo o mundo.



Aliás, se você está pensando em criar sua página web, recomendamos que dê uma olhada no nosso checklist de lançamento de sites para que a sua divulgação seja um sucesso!



COMENTÁRIOS


Comentários

Deixe um Comentário para esta publicação.

Enviar Comentário

Outros Artigos