Java 简介:第 1 条
Java 简介:第 1 条
最安全、最便携的 Java
是的.. Java 是所有面向对象语言中最安全和最可移植的语言。但是,如何?我们应该问一下 Java 的构思者 James Gosling 吗? 当然,他可能正忙于照顾他的病人。是的……他是一名医生。哎呀! (我们稍后会介绍)他是 Dr.Java。
他可能忙于他的工作和尝试 Java 特性。因此,由您来寻找 Java 的可移植性和提高安全性的原因。单行答案是字节码。让我们咬一口这个最美味的字节码概念。通常在任何编程语言中,如果你编译一个程序,都会生成机器码。但是,在 Java 中,它是字节码而不是机器码。因此,字节码是您的 Java 程序编译后产生的中间语句,并在被 JVM(Java 虚拟机)处理时被翻译成机器代码。好的!出色地!但是,如果将源文件转换为字节码,然后再转换为对象/机器码,可能会导致执行速度有些滞后。不是吗?是的!但是,这并不是一个相当大的数量,因为有许多技术,如即时编译、即时编译和提前编译,都可以减少运行时间。所以,现在的问题是……字节码的概念对 Java 的可移植性和安全性有何贡献?字节码有什么魔力吗?真的,字节码的概念是 Java 的魔力。
WORA — 一次编写,随处运行
如果你曾经编译过你的 java 程序,它会被转换成一个扩展名为 .class 的中间文件。它只是字节码。现在,随着文件的编译,它可以在任何平台上运行。例如,如果我在 Linux 中编译我的程序,我可以将生成的字节码带到 Windows,我可以使用 JVM 运行程序,反之亦然。我希望我们稍微触及了可移植性一词背后的概念。因此,JVM 执行字节码是创建真正可移植程序的最简单方法。
字节码使其安全
我想向您展示字节码文件的样子。
Êþº¾ =
java/语言/对象
()V java/lang/系统输出 Ljava/io/PrintStream;
java/io/PrintStream println (Ljava/lang/String;)V MINE 代码 LineNumberTable main ([Ljava/lang/String;)V
StackMapTable [Ljava/lang/String;
SourceFile MINE.java *· ± W *L+¾= >¢ +2:² ¶
"§ÿë± þ ø
哇 !真漂亮 !你在上面看到的被定义为 ** “高度优化的指令集使 Java 成为最安全和可移植的”。** JVM 可以创建一个包含程序的受限执行环境(称为沙箱),以防止不受限制的访问。所以,这就是 Java 的安全性和便携性。
未完待续…。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明