JVM(五)手动解析.class文件】的更多相关文章

一:不同进制之间的转换 二进制:逢2进1,数字0-1. 八进制:逢8进1,数字0-7.三位二进制表示一位八进制.三位二进制最大为111,最大为7. 十进制:逢10进1,数字0-9.四位二进制表示一位十进制数,四位二进制组合有16种数字,取其中10个作为十进制的0-9数字的表示.称为BCD编码.8-4-2-1编码. 十六进制:逢16进1,数字0-9,A,B,C,D,E,F.四位二进制表示一位16进制.最大的二进制1111刚好是F. 二:小端和大端 大端模式,是指数据的高字节保存在内存的低地址中,而…
作为一个程序猿,只知道怎么用是远远不够的.起码,你须要知道为什么能够这么用.即我们所谓底层的东西. 那究竟什么是底层呢?我认为这不能一概而论.以我如今的知识水平而言:对于Web开发人员,TCP/IP.HTTP等等协议可能就是底层:对于C.C++程序猿.内存.指针等等可能就是底层的东西.那对于Java开发人员.你的Java代码执行所在的JVM可能就是你所须要去了解.理解的东西. 我会在接下来的一段时间,和读者您一起去学习JVM.全部内容均參考自<深入理解Java虚拟机:JVM高级特性与最佳实践>…
工作中有遇到需要获取上传的Excel文件的列明.最大行数.大小等元数据信息.通常做法是通过Apache的POI工具加载文件然后再读取行列进行处理.这种方法很大的弊端就是需要把excel文件加载到内存,如果遇到大的文件,内存暴增,很容易出现OOM.为了解决这个问题,我研究了excel文件的格式,写了一工具类来自己解析和获取这些信息. 一.excel文件格式解析 其实xls.xlsx格式的文件其实就是一个压缩包,我们找一个excel文件,把后缀改成.rar,然后解压,你会发现文件夹里面大概是这样的:…
上一章聊到 TsFile 的文件组成,以及数据块的详细介绍.详情请见: 时序数据库 Apache-IoTDB 源码解析之文件数据块(四) 打一波广告,欢迎大家访问IoTDB 仓库,求一波 Star. 这一章主要想聊聊: TsFile索引块的组成 索引块的查询过程 索引块目前在做的改进项 索引块 索引块由两大部分组成,其写入的方式是从左到右写入,也就是从文件头向文件尾写入.但读出的方式是先读出TsFileMetaData 再读出 TsDeviceMetaDataList 中的具体一部分.我们按照读…
JVM(五):探究类加载过程-上 本文我们来研究一个Java字节码文件(Class文件)是如何加载入内存中的,在這個过程中涉及类加载过程中的加载,验证,准备,解析(连接),初始化,使用,销毁过程,并探讨实行这些过程的类加载器,以及其加载的逻辑. 概述 Java拥有动态加载类和动态连接的特性,因此其加载过程并不像其他语言在编译时就已经完成,它是动态进行的,即在程序运行过程中动态加载入内存中. 加载过程 在这里需要记住的是,图中的顺序说明的是阶段开始的顺序,并不是后面的阶段需要等到前面的执行完成后才…
本篇文章是对VC解析XML文件-CMarkup的使用进行了详细的分析介绍,需要的朋友参考下 VC解析XML文件的工具有很多,CMarkup, tinyXML,还有IBM的,MS的等等. 据说tinyXML很好,可能字符集问题,我编译不了. 所以就用CMarkup来解析,使用过后,觉得非常不错,使用起来很方便. CMarkup下载地址:http://www.firstobject.com/ 发现网上有方法很法,我就摘下来了 复制代码 代码如下: //----------UserInfo.xml--…
最近在自学解析PE文件,根据小辣椒(CFF Explorer)以及各论坛上大佬的帖子,做了个黑屏打印PE文件的,历时7天完成,在此想跟有相关需要的同学们分享下思路,有不足之处也希望大家不吝赐教,指点出来.谢谢. PE文件主要有DOS头,NT头(包含PE头,可选PE头,可选PE头中又包含着一个数据目录,里面包含了其他表单的RVA和大小),节表 表单主要有导出表,导入表,重定位表,资源表.除了资源表外,其他表单的各项数据都用代码实现了打印. 首先通过CreateFile打开文件,获得文件句柄,随后调…
中国的城市xml格式:cities.xml <?xml version="1.0" encoding="utf-8"?> <china> <province name="北京"> <city>东城区</city> <city>西城区</city> <city>崇文区</city> <city>宣武区</city> &…
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它. 对主流的Java XML API进行的性能.功能和易用性的评测,dom4j无论在那个方面都是非常出色的.如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例如hibernate,包括sun公司自己的JAXM也用了Dom4j. 使用…
最近做的C++项目中需要使用xml文件保存一些信息,程序启动时会读取这些信息.最终经过主程的评测,决定使用ACEXML库来读取解析XML文件. 好吧,至于为什么选择ACEXML库,我就不说了.既然选择了它,就要尽快上手并使用它.可是主程说他没有文档,如何使用自己看着办吧 那么我是如何在短时间内掌握ACEXML的使用方法呢,下面来分享一下,我的学习历程. 第一步肯定是谷歌搜索 对于我来说,第一步肯定不用想,直接上谷歌搜索. 经过几分钟的搜索后,我并没有得到我想要的信息,谷歌前五页基本上只能找到一个…