1.JVM概念

JVM是java Virtual Machine的简称。也称为Java虚拟机。

虚拟机:通过软件模拟具有完整硬件功能的运行在一个完全隔离环境的完整计算机系统。VMWare、Visual Box、JVM

VMWare、Visual Box 都是模拟物理CPU的指令集。而JVM是软件模拟Java字节码的指令集

2.JVM发展历史

96年SUN JDK 1.0 class VMWare、Visual

97年JDK 1.1:具有AWT、内部类、JDBC、RMI、反射

98年JDK 1.2:有JIT解析器、精确内存管理、提升GC性能

2000年JDK 1.3:Hotspot发布默认的虚拟机

2002年JDK 1.4:VM退出

2004年JDK 1.5:具有泛型、注解、装箱、枚举、可变长的参数、foreach循环等

JDK 1.6:具有脚本语言支持、JDBC 4.0

JDK 1.7:延时推出,G1,动态语言增强、64位系统中的压缩指针、NIO 2.0

2014 JDK 1.8:lambda表达式、语法增强、java类型增强

2016 JDK1.9:模块化

3.JVM种类

KVM:用于手机系统;

Hotspot:设备上建立统一的JAVA的接口

IBM J9 VM:IBM内部使用

apache harmony:兼容JDK1.5和JDK1.6

Hotspot、JRockit,JRockit优点移植到Hotspot,会逐渐放弃JRockit。

4.JAVA语言规范

主要在于:语法、变量、类型、文法的定义。什么是java语言。

5.JVM规范

class文件类型、运行时数据、帧栈、虚拟机启动以及其指令集。什么是JVM。

java和JVM是相对独立的

只要符合JVM规范的就可以运行在JVM上,比如scala跟java规范是不一样的但是都可以运行在JVM上。

二进制:         00000101

原码: 00000101            10000101    //0为正数,1为负数

反码: 01111010            11111010    //原码基础上符号位不变,其他位取反

补码: 01111011            11111011    //在反码基础上符号位不变加1

注意:使用补码可以直接相加减加快计算提升性能。符号位参与计算。

IEEE 754 :s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmmm

e全0附加位为0,负责为1;

s*m*2^(e-127)

JVM需要对Java library提供一下支持:

反射、类装载、初始化类以及接口、安全相关、多线程、弱引用。

JVM的编译

反编译看源码(这里不做介绍)

标注:本文是经由本人学习炼数成金JVM课程的笔记。

1.初步认识JVM -- JVM序列的更多相关文章

  1. 深入理解JVM—JVM内存模型

    我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等 ...

  2. JVM—JVM内存模型

    我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等 ...

  3. 【转】深入理解JVM—JVM内存模型

    http://www.cnblogs.com/dingyingsi/p/3760447.html#3497199 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU ...

  4. JVM | JVM的核心技术

    说到JVM,很多工作多年的老铁,可能就有点发憷了,因为搬砖多年,一直使用java这个工具,对于JVM没有了解过,有句话面试造航母,上班拧螺丝,要啥自行车啊,知道如何搬砖就可以了,为啥要懂这么多,如果你 ...

  5. (转)深入理解JVM—JVM内存模型

    原文地址:http://www.cnblogs.com/dingyingsi/p/3760447.html 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互 ...

  6. 理解JVM——JVM的结构

    这是理解JVM的第一篇文章,这篇文章主要介绍JVM的总体结构和每一个部分的功能.内容比较少,对于每一个部分详细的内容,放到后面的文章中,逐步展开.这个系列总结完,应该会对JVM有一个整体且深入的认识了 ...

  7. [jvm] JVM体系结构

    一.jvm 运行时数据区域 程序计数器 java虚拟机栈 本地方法栈 java堆 方法区 运行时常量池 直接内存(非JVM区域) 二.深入探讨HotSpot虚拟机在Java堆中对象分配.布局和访问的全 ...

  8. JVM | JVM体系结构认知

    虚拟机 何为虚拟机呢?虚拟机是模拟执行某种指令集体系结构(ISA)的软件,是对操作系统和硬件的一种抽象.其软件模型如下图所示: 计算机系统的这种抽象类似于面向对象编程(OOP)中的针对接口编程泛型(或 ...

  9. JVM: JVM 内存划分

    概述 如果在大学里学过或者在工作中使用过 C 或者 C++ 的读者一定会发现这两门语言的内存管理机制与 Java 的不同.在使用 C 或者 C++ 编程时,程序员需要手动的去管理和维护内存,就是说需要 ...

随机推荐

  1. 实例教程Unity3D单例模式(二)自我包括法

    unity3d 里的单例模式自我包括法 有一次玩Trench Run game,我意识到我的场景类里存在很多的GameObject.所以,我开发了自我包括的单例.假设没找找到实例,就会创建它自己的Ga ...

  2. Python 对目录做遍历

    os.walk() 用于遍历目录里的文件,或者说迭代目录里的文件 ??? 什么意思?比如 Linux 中 find /data -type f 表示找出 /data 目录下的所有文件,它会先找出 /d ...

  3. 钟意Action

    package com.j1.mai.action; import com.github.pagehelper.PageInfo; import com.j1.app.mysql.model.Appr ...

  4. java基础---->Base64算法的使用

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息.详细的Base64信息,可以参见维基百科:https://en.wikipedia.org ...

  5. MQTT协议笔记之mqtt.io项目TCP协议支持

    前言 MQTT定义了物联网传输协议,其标准倾向于原始TCP实现.构建于TCP的上层协议堆栈,诸如HTTP等,在空间上多了一些处理路径,稍微耗费了CPU和内存,虽看似微乎其微,但对很多处理能力不足的嵌入 ...

  6. css - Position定位属性与层级关系

    今天同事发现一个有意思的问题,关于position的层级关系的,他要不说我也没注意过 测试后果然有趣,有待深入研究: <!DOCTYPE html> <html> <he ...

  7. 关于Android图片资源瘦身的奇思妙想

    版权声明:本文由况鹰原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/77 来源:腾云阁 https://www.qcloud ...

  8. ubuntu android studio kvm

    Android studio 启动模拟器失败: Cannot launch AVD in emulator.Output:emulator: ERROR: x86 emulation currentl ...

  9. Cisco IOS和IOS XE 新漏洞检测与修复

    Cisco IOS/IOS XE 新漏洞检测与修复 CVE-2018-0150 Cisco IOS XE 存在默认弱口令 漏洞影响: 默认弱口令可以导致攻击者直远程登录控制Cisco设备.受影响版本, ...

  10. Autofac在项目中应用的体会,一个接口多个实现的情况

    在本人接触的项目中Autofac应用的比较多一些,我理解的他的工作原理就是  注册类并映射到接口,通过注入后返回相应实例化的类! 下面说说我在项目中的实际应用 先来简单介绍下Autofac的使用 1. ...