我想这是一个普遍的问题,但我正在阅读java(SE / ME)的入门课程,而且学习材料声称java经常被用于“安全目的”。然而,它没有通过声称java包含良好的安全性来解释它们的含义。
是黑客证明吗?它是否会产生高度稳定的软件?什么?
从我的角度来看(目前)安全性是由开发人员编写代码而不是语言本身?
答案 0 :(得分:30)
答案 1 :(得分:13)
在某些方面,有两件事使Java比其他语言更“安全”:
答案 2 :(得分:6)
答案 3 :(得分:3)
因为Java编译为bytecode然后在Virtual machine内运行,它无法像本机编译的程序一样访问它运行的计算机。
答案 4 :(得分:3)
认为Java比C更安全的一般原因是因为它为您处理内存管理。在其他语言中,程序员分配自己的内存并且通常无法正确执行,导致缓冲区溢出等。当然,Java VM仍然可能包含相同类型的错误,但随着时间的推移,它经过了很好的测试,与每个用户编写的程序不同
所以在这方面,它更安全。但你仍然可以编写不安全的代码,因为没有任何语言可以保护你不用编写明显错误的代码。
答案 5 :(得分:3)
有几种语言,尤其是C和C ++,有一类错误,可以允许在利用时执行任意代码 - 这种错误很常见,而且很容易制作。这些错误通常是某种形式的buffer overflow。
Java和许多其他语言/平台消除了这类错误(禁止VM本身可能存在可利用的错误),许多人声称这些错误使其更加安全。
答案 6 :(得分:2)
这是营销)
答案 7 :(得分:2)
这是在一些采访中提出的基本问题,为什么java因为java是安全的,因为java是安全的,因为在jvm中存在一个名为安全管理器的软件 如果出现问题,他们的责任是处理所有事情。因此控制/阻止系统
另一件事是它在源代码和系统(os)之间创建了接口,没有任何用户允许做错的事情。
答案 8 :(得分:2)
Java编译器将Java代码转换为字节代码(.class文件),然后这些字节代码由Java虚拟机(JVM)运行。 JVM是一个解释器,安装在每台客户端计算机上,通过Internet更新最新的安全更新。执行此字节代码时,JVM可以处理安全性。因此,据说java比其他编程语言更安全。
答案 9 :(得分:1)
通用类型(或泛型)与C ++中的模板表面上有相似之处,包括语法和预期用例(例如容器类)。但是相似之处只是肤浅 - Java语言中的泛型几乎完全在编译器中实现,编译器执行类型检查和类型推断,然后生成普通的非泛型字节码。这种实现技术称为擦除(编译器使用泛型类型信息来确保类型安全,然后在生成字节码之前将其擦除),这会产生一些令人惊讶的,有时令人困惑的后果。虽然泛型是Java类中类型安全的一大进步,但学习使用泛型几乎肯定会在此过程中提供一些头痛(有时甚至是诅咒)的机会。
答案 10 :(得分:0)
**
>为什么Java是安全的Lanquage
**
原因: 1.由于java程序在自己的虚拟机沙箱中运行 2. Java(OOPs)中的数据隐藏使其成为安全语言之一。 也许有些观点也存在,但现在无法回想起来。
3.不使用指针防止未经授权访问内存块。
4.无法访问内存管理
每个阶段都启用了Java安全性: 最终关键字 安全类加载 jit安全经理 字节码验证 自动内存管理 JSSE java加密扩展 电子签名 jaas:java身份验证和授权服务
如果您已经了解此事,请点赞