周其仁:停止改革,我们将面临三大麻烦

抛开立场观点不谈,且看周小平写一句话能犯多少语病

罗马尼亚的声明:小事件隐藏着大趋势——黑暗中的风:坚持做对的事相信未来的结果

布林肯突访乌克兰,为何选择去吃麦当劳?

中国不再是美国第一大进口国,贸易战殃及纺织业? 美国进一步延长352项中国商品的关税豁免期

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

Java中最重要的两个规范,90%的人都不知道!

陈树义 树哥聊编程 2022-07-30

↑↑ 点击上方蓝色字关注我↑↑



说到 Java 领域的规范,就不得不提:Java 语言规范 Java 虚拟机规范了。他们一个描述了 Java 语言,一个描述了 Java 虚拟机。

Java 语言规范

简单点来说,Java语言规范就是要告诉开发人员「Java代码应该如何写」。例如 Java 语言有多少种数据类型,Java 语言的 if else 选择语句怎么写,Java 语言的变量怎么定义等等。

Java 语言规范中关于 if 语句的描述

用官方点的话来说,Java 语言规范是这样一个东西:

Java 语言规范定义了 Java 语言的特性,例如 Java 的语法、数据类型、数组等内容。

其中关于数据类型的定义也在 Java 语言规范中定义的。在 Java 语言中,数据类型分为原始数据类型和引用数据类型。

原始数据类型又分为数字型和布尔型。数字型有 byte、short、int、long、char、float、double,布尔型有 boolean。其中 byte、short、int、long 分别是 8 位、16 位、32 位、64 位有符号整数,而 char 为 16 位无符号整数,表示 UTF-16 的字符。而对于 float 和 double,规范中规定,它们是满足 IEEE754 的 32 位浮点数和 64 位浮点数。

引用数据类型则分为三种:类或接口、泛型类型以及数组类型。

如果你对 Java 语言规范感兴趣,你可以到下面的地址下载官方的Java语言规范文档了解更多信息。

下载地址:https://docs.oracle.com/javase/specs/

Java 虚拟机规范

虽然 Java 语言和 Java 虚拟机有着密切的关系,但他们俩还是完全不一样的东西。Java 虚拟机是一台执行 Java 字节码的虚拟计算机,它运行的字节码文件并不一定要由 Java 语言编写,也可以由其他语言编写。这也是 Java 语言能够实现跨平台的一个原因。

而决定一台 Java 虚拟机有什么样的结构,怎么运行,就是 Java 虚拟机规范所描述的事情了。在 Java 虚拟机规范中,它包括但不限于下面这些东西:

  • 虚拟机内部结构

  • 虚拟机执行的字节码类型和功能

  • Class文件的结构

  • 类加载、连接和初始化的细节

  • 等等

所以如果你想要自己实现一台 Java 虚拟机,那么 Java 虚拟机规范是你必须要细细研究的一份文档。

与 Java 语言规范一样,官方也提供了一份详细的文档供我们下载,下载地址与上面的一致:

下载地址:https://docs.oracle.com/javase/specs/

总结

这篇文章内容比较简单,简单介绍了 Java 语言规范和 Java 虚拟机规范这两个 Java 领域里最重要的规范。理论上来说,有了这两个东西,我们就可以了解所有 Java 语言的代码,还可以写出一个虚拟机了!

但很多时候因为官方文档过于枯燥,所以我们还是会借助其他文档来解读。但如果你是一个有志于技术方向的工程师,那么上面这两份规范是你不得不读的哦。



推荐阅读


公众号@Java技术精选,关注 Java 程序员的个人成长,分享最新技术资讯与技术干货。与你成长有关的,我们这里都有。


↑↑创作不易,如果喜欢请转发↑↑



文章有问题?点此查看未经处理的缓存