CodeGym /Java 博客 /随机的 /安全第一。Java 被称为安全语言有充分的理由吗?
John Squirrels
第 41 级
San Francisco

安全第一。Java 被称为安全语言有充分的理由吗?

已在 随机的 群组中发布
Java 作为一种编程语言有很多优点。它优雅而强大、跨功能且独立于平台。由于面向对象和可移植性作为它被广泛提及的优势,Java 的另一个主要优势往往被掩盖,因此新手通常对学习 Java 而不是另一种编程语言的所有好处的理解有限,无法做出正确的选择。您听说过 Java 被称为安全编程语言吗?是的,理所当然的。 安全第一。 Java 被称为安全语言有充分的理由吗? - 1 所以我们认为可能是时候阐明这一点,并解释为什么 Java 被称为安全语言以及它究竟以何种方式安全。

是什么让 Java 成为一种安全的语言?

Java安全吗?将 Java 称为安全编程语言的原因有很多,尽管说 Java 与许多其他语言相比更安全是正确的说法,因为这些特性实际上并不能使 Java 绝对安全,它们主要是提高Java代码执行的安全性。
  • 字节码验证。
字节码校验是保证Java代码安全的核心特性之一。字节码验证意味着 Java 使用编译器,它读取 Java 代码并将其翻译成与机器无关的字节码表示形式。这允许确保只执行合法的字节码,并且没有恶意代码可以进入系统。编译器检查字节码是否符合 Java 语言规范,并且不违反 Java 语言规则或名称空间限制。还会检查代码是否存在许多其他“危险信号”,例如非法数据类型转换、堆栈下溢和溢出,或内存管理违规。通俗点说,Java程序被编译为bite code,然后在虚拟机中运行,无法访问运行它的计算机。它使这段代码使用起来更安全,
  • 自动内存管理。
Java 作为一种安全语言的另一个重要特性是自动内存管理和垃圾收集,这也是使 Java 成为编码人员更容易使用的语言的原因,因为 Java 会自动处理所有内部内存问题和数据管理系统。这使得程序员在创建程序时根本不用担心内存问题,而是专注于其他重要的事情。例如,垃圾回收会在需要时自动释放内存。顺便说一句,Java 中所有这些管理自动化的另一个主要好处是它降低了总体开发成本(因为许多重要的功能和流程是自动化的)。
  • 没有指针。
与使用指针值管理应用程序内存的许多其他编程语言(例如 C 和 C+)不同,Java 中没有指针的概念。尽管最初设计为一种安全措施(保护私人数据免遭盗窃),但在某些恶意因素设法访问它们的情况下,指针也可能是一个主要漏洞,因为指针无法验证其中的授权,基本上允许任何人访问应用程序的内存。正如我们所说,Java 不使用指针,而是依赖其数据管理系统和内部存储器来保护数据免受任何未经授权的访问。这使得黑客几乎不可能渗透 Java 应用程序的内存。可以理解,这是Java在企业开发中流行的另一个原因,
  • Java 编译器自动检查、检测和修复代码中的错误。
自动检查代码错误是 Java 的另一个重要特性,它使它更安全。编译器检查代码,检测错误,警告程序员注意这些箭头,并建议修复它们的方法。这再次简化了程序员的工作,使 Java 应用程序更加稳定,并最终降低了开发成本(几乎所有公司的第一个原因)。至于它的安全部分,这也最大限度地减少了外部恶意代码进入您的程序并对其进行未经授权修改的机会。
  • Java 进行自动数据类型检查。
除了检查代码中的错误之外,Java Compiler 还会自动检查代码中的变量,以确保不存在因变量中的数据输入错误而引起的安全问题。这是保护系统免受渗透和数据不被窃取的另一种方法。

哪些 Java 组件实际上使它安全?

至于在其安全性中发挥最重要作用的特定 Java 组件,这里有一个快速列表,只是为了让您在基本层面上更清楚地了解它的工作原理以及究竟是什么使 Java 安全。
  • Java 虚拟机 (JVM)。
JVM 作为运行 Java 程序字节码表示的虚拟机,显然在 Java 的整体安全性中扮演着非常重要的角色。使用 JVM 可以阻止程序的任何潜在不安全操作。
  • Java 密码体系结构 (JCA)。
Java Cryptography Architecture 是一个框架,允许您为 Java 平台添加加密功能。使用 Java 加密体系结构可确保您的数据被加密并保持安全。
  • 公钥基础设施 (PKI)。
Public Key Infrastructure 是另一个框架,它允许您应用公钥密码学来实现安全的数据交换。使用 PKI,您可以将身份与数字证书绑定,并在需要时验证证书的真实性。
  • 安全经理。
Java 中的安全管理器基本上是一个类,它允许应用程序实现安全策略,为它们定义安全策略,并允许程序员为应用程序设置安全级别。
  • Java 沙箱。
Java沙箱是一个运行Java小程序的程序区域,它限制小程序可以做什么,以确保它不会危及安全,并且在没有安全检查的情况下无法访问系统资源。

意见

具有多年经验的专业 Java 开发人员是否相信这种语言是安全的?这里有几句话。“我会说 Java 本身并不安全(没有编程语言是安全的),但 JVM 提供了提供安全性的功能。因此,虽然 Java 不会保护您免受所有问题的影响,但它会保护您免受缓冲区溢出引起的一整类问题,”Garry Taylor,资深程序员,Black Spark Media 公司 CTO。“Java 通过将小程序限制在 Java 执行环境中并且不允许它访问计算机的其他部分来提高安全性。能够放心地下载 applet,不会造成任何伤害,也不会破坏安全性,这被许多人认为是 Java 最具创新性的一个方面,”IBM 的软件工程师 Smit Prakash 指出。

概括

那么,Java 安全吗?总而言之,Java 无疑具有许多强大的功能和内置工具,使其更加安全。其中许多功能对 Java 的整体普及起着重要作用,尤其是在企业市场,因为它们使公司能够有效地保护其数据免遭未经授权的访问,同时还可以自动化许多其他语言无法实现的开发过程。但是,尽管我们喜欢吹嘘 Java 及其强大,但 Java 仍远未完全安全。事实上,没有一种编程语言是完全安全的,每种语言都有自己的优点和缺点(漏洞)。一般来说,C被认为成为最脆弱的编程语言。专家表示,尽管 Java 具有上述许多强大的安全功能,但在服务器端仍然容易受到攻击,并且可能会受到攻击。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION