zoukankan      html  css  js  c++  java
  • 【Java虚拟机结构(第1部分)数据类型】摘要

    Java虚拟机规范(Java SE 7版)》作者:Tim Lindholm、Frank Yellin、Gilad Bracha、Alex Buckley 摘要:第二章 Java虚拟机结构(第1部分)

    本规范描写叙述的是一种抽象化的虚拟机的行为,而不是不论什么一种被广泛使用的虚拟机实现。

    2.1 Class 文件格式

    编译后被Java虚拟机所运行的代码使用了一种平台中立(不依赖于特定硬件及操作系统的)的二进制格式来表示,而且常常(但并不是绝对)以文件的形式存储。因此这样的格式被称为Class文件格式。

    2.2 数据类型

    Java虚拟机能够操作的数据类型:原始类型(Primitive Types)和引用类型(Reference Types)。与之相应,也存在有原始值(Primitive Values)和引用值(Reference Values)两种类型的数值可用于变量赋值、參数传递、方法返回和运算操作

    Java虚拟机是直接支持对象的(实例)

    使用reference类型来表示对某个对象的引用

    2.3 原始类型与值

    Java虚拟机所支持的原始数据类型包含了数值类型布尔类型returnAddress类型三类。

    当中数值类型又分为整型类型和浮点类型两种

    整数类型包含:

    • byte类型:值为8位有符号二进制补码整数,默认值为零。
    • short类型:值为16位有符号二进制补码整数,默认值为零。
    • int类型:值为32位有符号二进制补码整数,默认值为零。
    • long类型:值为64位有符号二进制补码整数。默认值为零。
    • char类型:值为使用16位无符号整数表示的、指向基本多文本平面(Basic Multilingual Plane,BMP)的Unicode值,以UTF-16编码,默认值为Unicode的null值('u0000')。

    浮点类型包含:

    • float类型:值为单精度浮点数集合中的元素,或者(假设虚拟机支持的话)是单精度扩展指数(Float-Extended-Exponent)集合中的元素。默认值为正数零。
    • double类型:取值范围是双精度浮点数集合中的元素。或者(假设虚拟机支持的话)是双精度扩展指数(Double-Extended-Exponent)集合中的元素。默认值为正数零。

    布尔类型包含:

    • boolean类型:取值范围为布尔值true和false,默认值为false。

    returnAddress类型包含:

    • returnAddress类型:表示一条字节码指令的操作码(Opcode)。在全部的虚拟机支持的原始类型之中,仅仅有returnAddress类型是不能直接Java语言的数据类型相应起来的。

    2.3.1 整型类型与整型值

    2.3.2 浮点类型、取值集合及浮点值

    IEEE 754标准的内容不仅包含了正负带符号可数的数值(Sign-Magnitude Numbers),还包含了正负零正负无穷大和一个特殊的“非数字”标识(Not-a-Number,下文用NaN表示)。NaN值用于表示某些无效的运算操作,比如除数为零等情况。

    顺序将会是:负无穷,可数负数、正负零、可数正数、正无穷。

    浮点数中。正数零和负数零是相等的,可是它们有一些操作会有差别。比如1.0除以0.0会产生正无穷大的结果。而1.0除以-0.0则会产生负无穷大的结果。

    NaN是无序的,对它进行不论什么的数值比較和等值測试都会返回false的比較结果。不论什么数字与NaN进行非等值比較都会返回true。

    2.3.3 returnAddress类型和值

    2.3.4 boolean类型

    在Java语言之中涉及到boolean类型值的运算,在编译之后都使用Java虚拟机中的int数据类型来取代。

    Java虚拟机直接支持boolean类型的数组,虚拟机的newarray指令能够创建这样的数组,数组类型的訪问与改动共用byte类型数组的baload和bastore指令。

    2.4 引用类型与值

    三种引用类型:类类型(Class Types)、数组类型(Array Types)和接口类型(Interface Types)。

    数组类型还包含一个单一维度(即长度不由其类型决定)的组件类型(Component Type),一个数组的组件类型也能够是数组。多层最里面的类型是数组类型的元素类型(Element Type),必须上面三个类型之中的一个。

    引用类型的默认值是null。


  • 相关阅读:
    利用 innodb_force_recovery 解决MySQL服务器crash无法重启问题
    MySQL-5.7复制功能的默认设置改进
    MySQL explain
    MySQL服务器参数
    MySQL参数调优
    Oracle RAC(Real Application Clusters)
    MySQL show processlist 执行状态分析
    MongoDB 高可用集群架构简介
    docker网络
    centos 7.3镜像制作
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10683110.html
Copyright © 2011-2022 走看看