当前位置: 首页 > news >正文

推广型的网站怎么做怎么申请信用卡收款网站接口

推广型的网站怎么做,怎么申请信用卡收款网站接口,微信开放平台在哪里进入,python基础教程资料目录 重识JVM JVM规范作用及其核心 JVM 整体组成 理解ClassFile结构 ASM开发 重识JVM JVM概述JVM: Java Virtual Machine,也就是Java虚拟机所谓虚拟机是指: 通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统…

目录

重识JVM

JVM规范作用及其核心

JVM 整体组成

理解ClassFile结构

ASM开发


  • 重识JVM

  • JVM概述
  • JVM:
    • Java Virtual Machine,也就是Java虚拟机
  • 所谓虚拟机是指:
    • 通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统
  • JVM是通过软件来模拟Java字节码的指令集,是Java程序的运行环境
  • JVM主要功能
    • 1.通过ClassLoader寻找和装载class文件
    • 2.解释字节码成为指令并执行,提供class文件的运行环境
    • 3.进行运行期间的内存分配和垃圾回收
    • 4.提供与硬件交互的平台
  • 虚拟机是Java平台无关的保障

  • JVM规范作用及其核心

  • JVM规范作用
  • JVM虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范
  • 该规范使Java软件独立于平台,因为编译是针对作为虚拟机的“一般机器”而做
  • 这个“一般机器”可用软件模拟并运行于各种现存的计算机系统,也可用硬件来实现
  • JVM规范定义的主要内容
  • 字节码指令集(相当于中央处理器CPU)
  • Class文件的格式
  • 数据类型和值
  • 运行时数据区
  • 栈帧
  • 特殊方法
  • 类库
  • 异常
  • 虚拟机的启动、加载、链接和初始化
  • JVM 整体组成

  • 1.类加载器(ClassLoader)
  • 2.运行时数据区(Runtime Data Area)
  • 3.执行引擎(Execution Engine)
  • 4.本地库接口(Native Interface)
  • 各个组成部分的用途:
  • 程序在执行之前先要把java代码转换成字节码(class文件)
  • jvm首先需要把字节码通过一定的方式 类加载器(ClassLoader) 把文件加载到内存中 运行时数据区(Runtime Data Area)
  • 而字节码文件是jvm的一套指令集规范,并不能直接交给底层操作系统去执行
  • 因此需要特定的命令解析器 执行引擎(Execution Engine) 将字节码翻译成底层系统指令再交由CPU去执行
  • 而这个过程中需要调用其他语言的接口 本地库接口(Native Interface) 来实现整个程序的功能
  • 这就是这4个主要组成部分的职责与功能
  • 而通常所说的jvm组成指的是运行时数据区(Runtime Data Area)
  • 因为通常需要程序员调试分析的区域就是“运行时数据区”,或者更具体的来说就是“运行时数据区”里面的Heap(堆)模块
  • 理解ClassFile结构

  • Class文件是JVM的输入,Java虚拟机规范中定义了Class文件的结构
  • Class文件是JVM实现平台无关、技术无关的基础
  • Class文件是一组以8字节为单位的字节流,各个数据项目按序紧凑排列
  • 对于占用空间大于8字节的数据项,按照高位在前的方式分割成多个8字节进行存储
  • Class文件格式里面只有两种类型:无符号数、表
    • 无符号数:基本数据类型,以u1、u2、u4、u8来代表几个字节的无符号数
    • 表:由多个无符号和其它表构成的复合数据类型,通常以"_info"结尾
  • 说明:
  • javap工具生成非正式的“虚拟机汇编语言”,格式如下:
    • <index><opcode>[<operand1>[<operand2>...]][<comment>]
  • <index>是指令操作码在数组中的下标,该数组以字节形式来存储当前方法的Java虚拟机代码;也可以是相对于方法起始处的字节偏移量
  • <opcode>是指令的助记码
  • <operand>是操作数
  • <comment>是行尾的注释
  • constant_pool_count:是从1开始的
  • 不同的常量类型,用tag来区分,它后面对应的info结构是不一样的
  • L表示对象,[ 表示数组、V表示void
  • stack:方法执行时,操作栈的深度
  • Locals:局部变量所需的存储空间,单位是 slot
  • slot是虚拟机为局部变量分配内存所使用的最小单位
  • args_size:参数个数,为1的话,因实例方法默认会传入 this,locals 也会预留一个slot来存放
  • ASM开发

  • ASM是一个Java字节码的操纵框架,它能被用来动态生成类或增强既有类的功能
  • ASM可以直接产生二进制class文件,也可以在类被加载入虚拟机之前动态改变类行为
  • ASM从类文件中读取信息后,能够改变类行为,分析类信息,甚至根据类的要求产生新类
  • 目前许多框架如cglib、Hibernate、Spring都直接或间接地使用ASM操作字节码
  • ASM编程模型
  • Core API:提供了基于事件形式的编程模型
    • 该模型不需要一次性将整个类的结构读取到内存中,因此这种方式更快,需要的内存更少,但这种编程方式难度较大
  • Tree API:提供了基于树型的编程模型
    • 该模型需要一次性将一个类的完整结构全部读取到内存中,所以这种方法需要更多的内存,这种编程方式较简单
  • ASM的Core API
  • ASM Core ApI 中操纵字节码的功能基于 ClassVisitor 接口
  • 这个接口中的每个方法对应了class文件中的每一项
  • ASM 提供了三个基于 ClassVisitor 接口的类来实现class文件的生成和转换
  • ClassReader:ClassReader解析一个类的class字节码
  • ClassAdapter:ClassAdapter是ClassVisitor的实现类,实现要变化的功能
  • ClassWriter:ClassWriter也是ClassVisitro的实现类,可以用来输出变化后的字节码
  • ASM给我们提供了 ASMifier 工具来帮助开发,可使用ASMifier工具生成ASM结构来对比
http://www.yayakq.cn/news/308991/

相关文章:

  • 合肥做网站开发多少钱做能支付的网站贵吗
  • 财务管理做的好的门户网站网站维护更新费用
  • 网站建设面包屑导航条手机 网站开发aspx
  • 做it的兼职网站有哪些教育培训机构微网站模板
  • 做哪个网站卖一手房比较好商标注册名字查询系统
  • 凡科网站建设价格建站平台在线提交表格功能
  • 企业网站营销策划南京汽车集团网站建设
  • 建设电子商务网站的必要性郑州百度建网站
  • 自己怎么做新闻开头视频网站网络广告策划书范文
  • 网站服务器 免费做最好的win7系统下载网站
  • 制作网站需要多少时间wordpress主体中的psd
  • 如何更改网站域名安徽建站贵吗
  • 网站备案信息被注销辽宁住房建设厅网站
  • 网站后台页面设计教程推广计划标题不允许重复
  • 唐山哪里建设网站好小说网站排名人气
  • 企业网络营销为什么要选择外包?昆明seo代理商
  • 广州十大高端网站建设公司哪些是 joomla做的网站
  • 那有做网站的软件开发需要学什么
  • 建设新网站征求意见杭州低价做网站
  • 国外 外贸 网站 源码wordpress写入html
  • 烟台网站制作厂家联系方式wordpress视频自适应代码
  • 浦东新区网站优化推广山东网站建设哪家好
  • wordpress手机站h5优化html5响应式模板
  • 鹤山市住房和城乡建设局网站牛商网营销型网站建设
  • 自己做的动画买给网站wordpress首页密码访问
  • 响应式网站建设定制外贸 推广网站
  • 成都网站建设推荐q479185700顶上番禺网站建设找哪家
  • 网站 营销型二级网站排名做不上去
  • 宝安做网站公司乐云seo张家口网站设计
  • wordpress主题无法上传优化方案答案