Entendendo a JVM e as Implicações do Modelo de Caixa de Areia

Entendendo a JVM e as Implicações do Modelo de Caixa de Areia

Java

Java é uma tecnologia da Oracle (anteriormente: Sun Microsystems). Desde 1995, quando o Java foi apresentado pela primeira vez; tem havido um forte e crescente interesse pela segurança do java . Java pode ser definido como uma linguagem de programação de computador orientada a objetos, de propósito geral, simultânea e baseada em classe, projetada especificamente para ter o menor número possível de dependências de implementação. Essa linguagem destina-se a permitir que os desenvolvedores de aplicativos "gravem uma vez, executem em qualquer lugar" (WORA), o que significa que o código executado em uma plataforma não precisa ser recompilado para ser executado em outra. Isso significa que os aplicativos Java são normalmente compilados para o bytecode (arquivo de classe) que pode ser executado em qualquer Java virtual machine (JVM), independentemente da arquitetura do computador.

Introdução

Na linguagem / plataforma Java, uma das principais considerações de design é fornecer um ambiente seguro para a execução de código móvel. A linguagem Java é amplamente usada e tem seu próprio conjunto exclusivo de desafios de segurança. Com a ajuda da arquitetura de segurança Java, podemos proteger usuários e sistemas contra programas hostis baixados através de uma rede, ele não pode se defender contra erros de implementação que ocorrem em um código confiável . Os bugs do nosso código podem inadvertidamente abrir os buracos que a arquitetura de segurança foi projetada para conter, incluindo o acesso a arquivos, impressoras, webcams, microfones e a rede por trás de firewalls. Em casos graves, os programas locais podem ser executados ou a segurança Java pode ser desativada. Esses bugs podem potencialmente ser usados ​​para transformar a máquina em um computador zumbi, roubar dados confidenciais da máquina e da intranet, espionar dispositivos conectados, impedir a operação útil da máquina, ajudar ainda mais ataques e muitas outras atividades maliciosas. A escolha do sistema de idiomas afeta a robustez de qualquer programa de software. A linguagem Java e a máquina virtual nos fornecem muitos recursos para mitigar erros comuns de programação.

Segurança Java

No mundo de hoje, o hacking é feito por razões éticas e antiéticas. Muitos profissionais de segurança e hackers estão permanentemente tentando dividir cada sistema de segurança, e usam idéias, abordagens e ferramentas cada vez mais sofisticadas. Assim, os produtores de sistemas de software também precisam melhorar seus produtos permanentemente e torná-los mais confiáveis, seguros e resistentes a diferentes tipos de ataques.
A plataforma Java foi projetada tendo em mente a segurança. Como sabemos em sua essência, a própria linguagem Java é segura para o tipo e fornece coleta de lixo automática, aprimorando a robustez do código do aplicativo. Um mecanismo de carregamento e verificação de classe seguro garante que somente o código Java legítimo seja executado. Programas e bibliotecas Java verificam o estado ilegal na primeira oportunidade. Esses recursos também tornam os programas Java imunes aos ataques de esmagamento de pilha e estouro de buffer possíveis nas linguagens de programação C e, em menor grau, em C ++. Esses ataques foram descritos como o único problema mais pernicioso em segurança de computadores atualmente. A digitação estática explícita de Java torna o código fácil de entender e as verificações dinâmicas garantem que condições inesperadas resultem em comportamento previsível - o que torna o Java uma alegria de uso.

Segurança Java no nível da linguagem

A segurança em Java é aplicada por meio de vários mecanismos. Podemos ver o Java Security implementado por meio de recursos básicos de linguagem:
Java é simplificado e fácil de usar. Se compararmos o Java com outras linguagens como o C ++, é muito mais simples. Java é estritamente Orientado a Objeto. Em Java, conhecemos as classes do wrapper definidas até mesmo para os tipos de dados simples, e não pode haver estruturas fora das classes. Assim, todas as vantagens relacionadas à segurança do paradigma orientado a objetos podem ser usadas. Java tem classes e métodos finais. Em Java Language Security, esse recurso não permite subclasses quando aplicado a definições de classe e não permite a substituição quando aplicado a definições de métodos e impede a modificação indesejada de determinadas funcionalidades. Sabemos que o Java é uma linguagem fortemente tipada. O polimorfismo é um recurso orientado a objetos muito poderoso, mas contém riscos potenciais de mascarar objetos hostis. O compilador e a verificação do tempo de execução não permitem tais possibilidades, porque nenhuma atribuição pode ser feita se os tipos de objetos forem incompatíveis. Um dos recursos que conhecemos na linguagem Java é o gerenciamento automatizado de memória, sem uso direto de ponteiros e endereços aritméticos. A disponibilidade desse recurso não permite o acesso incorreto à memória e minimiza a probabilidade de vazamentos de memória, acesso não autorizado a dados e falhas de tempo de execução.

Por favor, visite o Treinamento de Certificação em Desenvolvimento Java da Simplilearn

Treinamento Java, Java EE e SOA

Recommended articles for you

Top 7 Programming Languages: Choosing the Right One

Article

Top 10 Interview Questions & Answers for Java Developers

Article

40+ Resources to Help You Learn Java Online

Article

{{detail.h1_tag}}

{{detail.display_name}}
{{author.author_name}} {{author.author_name}}

{{author.author_name}}

{{detail.full_name}}

Published on {{detail.created_at| date}} {{detail.duration}}

  • {{detail.date}}
  • Views {{detail.downloads}}
  • {{detail.time}} {{detail.time_zone_code}}

Registrants:{{detail.downloads}}

Downloaded:{{detail.downloads}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Webinar'}}

Hosted By

Profile

{{author.author_name}}

{{author.author_name}}

{{author.about_author}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook' }}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook' }}

View {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

Webcast

Register Now!

Download the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook'}}!

First Name*
Last Name*
Email*
Company*
Phone Number*

View {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

Webcast

Register Now!

{{detail.about_title && detail.about_title != null ? detail.about_title : 'Webinar'}} Expired

Download the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook'}}

Email
{{ queryPhoneCode }}
Phone Number

Show full article video

Name Date Place
{{classRoomData.Date}} {{classRoomData.Place}} View Details

About the Author

{{detail.author_biography}}

About the Author

{{author.about_author}}

Recommended articles for you

{{ article.title }}

Article