`
glutinit
  • 浏览: 46025 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JVM摘要--JVM的结构--01

    博客分类:
  • JVM
jvm 
阅读更多
【题外话】最近在坛子上看到了一篇介绍JVM的牛文,其中提到了一本书《The Java™ Virtual Machine Specification》,由于是英文的,啃起来颇为费劲,所以写一点摘要以免忘记...
写的很零散,主要是给自己看的,望海涵


JVM可以执行的编译后的JAVA代码是与硬件和操作系统无关的二进制文件;一般都存在一个文件当中,即.class文件。

宏观上讲,JVM有两种数据类型:原语类型(原始数据类型)和引用类型;

Java的类型检查都是由编译器完成的,所以一般不需要JVM来做类型检查;JVM的指令集可以通过专门用于某些类型的操作指令来区分它所操作的数值类型是什么。比如iadd,ladd,fadd和dadd虽然都是用于两个数字的相加,但它们分别对应于int, long, float和double

JVM支持的原始数据类型包括数字类型(Numeric),布尔类型(boolean)和回址类型(returnAddress);
其中,Numeric Type包括:integral types 和 floating-point types;
Integer types包括:byte, short, int , long, char
Floating-point types 包括 floa(32位单精度)和double(64位双精度),遵循IEEE754格式定义,操作也遵循IEEE Stardard for Binary Floating-Point Arithmetic提到的标准;
要提到一点,IEEE754的标准,不仅包括了正负数,还包含了正负零(+0,-0),正负无穷以及NaN值(Not-A-Number,表示某些非法操作的结果,比如0.0/0.0)

returnAddress类型是JVM中的jsr,ret和jsr_w指令使用的。returnAddress这种类型不能被修改。

JVM虽然定义了boolean 类型,但却只提供了有限的操作。事实上,JAVA编程语言中针对boolean类型值的操作都变以为了JVM的int类型;

有三种类型的reference types:class types, array types以及interface types;
分享到:
评论

相关推荐

    微服务架构面试专题系列(MySQL,JVM,并发编程,RabbitMQ消息中间件,Spring)

    MySql的主从实时备份同步的配置,以及原理(从库读主库的binlog),读写分离 Mysql主从同步的实现原理 MySQL索引背后的数据结构及算法原理 摘要数据结构及算法基础 索引的本质 B-Tree和B+Tree B-Tree B+Tree 带有顺序...

    Java程序员大厂面试(进大厂必看)

    MySql的主从实时备份同步的配置,以及原理(从库读主库的binlog),读写分离 Mysql主从同步的实现原理 MySQL索引背后的数据结构及算法原理 摘要数据结构及算法基础 索引的本质 B-Tree和B+Tree B-Tree B+Tree 带有顺序...

    10G的Java面试题视频课

    MySql的主从实时备份同步的配置,以及原理(从库读主库的binlog),读写分离 Mysql主从同步的实现原理 MySQL索引背后的数据结构及算法原理 摘要数据结构及算法基础 索引的本质 B-Tree和B+Tree B-Tree B+Tree 带有顺序...

    互联网企业面试真题.zip

    MySql的主从实时备份同步的配置,以及原理(从库读主库的binlog),读写分离 Mysql主从同步的实现原理 MySQL索引背后的数据结构及算法原理 摘要数据结构及算法基础 索引的本质 B-Tree和B+Tree B-Tree B+Tree 带有顺序...

    qige_blogs:程序员七哥的github,这里有七哥精心制作的原始文章摘要以及分类,附带源代码。内容涉及【大厂面试】,【Java并发】,【JVM】,Spring,Spring Boot,Mybatis,Linux, MySQL,Redis,数据结构和算法,Docker,大数据等方面

    关于作者 你好,我是七哥,90后互联网程序员;... Java并发,JVM,Spring,Spring Boot,Mybatis,Linux,MySQL,Redis,数据结构和算法,Docker,大数据 Java领域 Java并发 设计模式 程序人生

    Java性能调优标志摘要.pdf

    例如,如果程序循环遍历数组中的所有元素,JVM 就可以优化数组的边界检查,使循环更快,展开循环能提供额外的加速。但如果循环是为了找到特定元素,那目前还没有什么优化的办法,使得遍历数组和采用HashMap 的版本...

    消费电子中的基于数字电视机顶盒的Java虚拟机的移植

    摘要:为了增强数字电视机顶盒的网络交互能力,介绍了嵌入式中间件Java虚拟机以及它在数字电视机顶盒上的移植怀实现。简要叙述了普通DVB-C有线数字电视机顶盒技术,介绍了嵌入式中间件的概念、背景以及JavaVM的层次...

    基于数字电视机顶盒的Java虚拟机的移植

    摘要:为了增强数字电视机顶盒的网络交互能力,介绍了嵌入式中间件Java虚拟机以及它在数字电视机顶盒上的移植怀实现。简要叙述了普通DVB-C有线数字电视机顶盒技术,介绍了嵌入式中间件的概念、背景以及JavaVM的层次...

    测试培训教材

    注意安装JVM才能“View Calendar” 4、创建和定义测试需求、测试需求管理、跟踪 定义需求 1、查看需求 视图->需求树 2、添加需求 需求->新建需求 输入以下内容 3、添加子需求项 查看...

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    JAVA上百实例源码以及开源项目源代码

    凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...

    JAVA 范例大全 光盘 资源

    实例131 查看JVM中所有的线程和线程组 376 实例132 执行任务(线程池) 378 实例133 碰撞的球(多线程) 382 实例134 钟表(多线程) 387 实例135 模拟生产者与消费者 392 实例136 仿迅雷下载文件 396 第15章 ...

Global site tag (gtag.js) - Google Analytics