zoukankan      html  css  js  c++  java
  • jvm(5)

    jvm的无关性
      1. 平台无关性,这是建立在操作系统上的,许多虚拟机厂商提供了可以运行在不同系统上的虚拟机,实现了载入和执行字节码文件
      2. 语言无关性,虚拟机不与Java绑定,之和。class文件有关,这个文件包含了虚拟机指令
      3. 画个图
      .java 经过javac编译器 ->.class
      .rb   经过jrubyc编译器 ->.class
      .groovy 经过groovy编译器 ->.class 统一执行在java虚拟机
    
    .class文件
      1. 查看工具有 sublime javap -v jclasslib(idea)
      2. .class 文件是一个十六进制的文件,其中没有分隔符,所以很紧凑
      3. 文件格式:无符号数和表,
      4. 无符号 u1,其中1代表一个字节,一个字节代表俩位十六进制的数字
      5. 表是由多个无符号数字组成或者其他表组成。一般由_info结尾
    
    .class文件中的魔数与jdk版本
      1. magic number (u4) 表示文件是否能被虚拟机接受,
      2.紧接着的时jdk的版本号,分为大版本小版本,u2 u2, 对应的十进制 52.0
    
    .class文件中的常量池
      1. 常量池的入口放一个 u2数据作为常量池的计数器
      2. 常量池主要存储字面量和符号引用,字面量就是字符串之类的具体值,符号引用方法名之类
    
    .class文件中的访问标志
      1. 表示当前这个class的类型,访问权限
    
    .class类索引,夫类索引,接口索引集合
    .class类字段表的集合
    .class类方法表的集合
      1. <init> 
      2. <client>
    
    .class类属性表的集合
    .class类字节码指令
      1. methods:里面都是method_info
    
    .class类加载和存储指令
    .class类运算指令
    .class类类型转换指令
      1. i2b  :2代表to
    
    .class类创建实例的指令
      1. new
    
    .class类创建数组的指令
      1. newarray
    
    .class访问字段指令
      1. getfield、putfield、getstatic、putstatic。
    
    .class字节码指令处理异常 重要
      1. 通过goto实现
    
    .class文件自己码指令装箱拆箱
      1. int->integer integer-int
      2. integerCache 这个涉及到缓存,下线-128,上线自定义时127可以改,-vm参数修改
    
    .class文件字节码指令-数组
      1. 创建数组 newarray
      2. 获取数组的长度arraylengh
    
    .class文件的foreach
      1. 通过迭代器实现
    
    .class文件的注解@
    .class总结
      1. 比如异常的处理、finally 块的执行顺序;以及隐藏的装箱拆箱和 foreach 语法糖的底层实现。 还有字节码指令,可能有几千行,看起来很吓人,但执行速度几乎都是纳秒级别的。Java 的无数框架,包括 JDK,也不会为了优化这种性能对代码进行 限制。了解其原理,但不要舍本逐末,比如减少一次 Java 线程的上下文切换,就比你优化几千个装箱拆箱动作,速度来的更快一些
  • 相关阅读:
    分享一个自己写的vue多语言插件smart-vue-i18n
    利用vw+rem实现移动web适配布局
    你说前端不了解业务?
    小程序开发总结一:mpvue框架及与小程序原生的混搭开发
    小码农的职场人生一:由张小平离职引发的一些吐槽
    javascript本地缓存方案-- 存储对象和设置过期时间
    手淘移动适配方案flexible.js兼容bug处理
    微信小程序入坑之自定义组件
    vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
    非域环境下使用证书部署数据库(SqlServer2008R2)镜像
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/13408451.html
Copyright © 2011-2022 走看看