
深入理解Java虚拟机
文章平均质量分 65
因为后面项目可能要对java虚拟机有一定的见解,目前对java虚拟机开始探究
Jonckys
人不逼自己自己一把,永远不知道自己有多优秀
展开
-
Java调用c++的动态链接库正确方式,踩坑选手!
前言,前几个月泛泛的看了一下c++的相关书籍。在看的过程中,做几个例子啥的没啥感觉。但是在整合起来的过程中还是发现了蛮多问题。原创 2023-06-01 16:36:15 · 3360 阅读 · 0 评论 -
float浮点/double双精度浮点和二进制的相互转换,小白也能看明白!
二进制文件,故名思意就是进制为2的文件。在没有统一之前,各个公司对其的操作方式不一,导致系统间的耦合性非常低。那么自然需要形成一个统一的局面。IEEE 754自然应运而生,形成了一套约束方案。符号位sign:正数为0,负数为1 此题的符号位为:0Exponent:指数位1,但实际值=指数值加上固定偏移值2^(位元长度8-1)-1=127,十进制数位127+1=128,其二进制结果位:10000000Fraction长度(32-1(符号位长度)-8(位元长度)-exp因子数):22通过1.2.3原创 2023-05-26 13:49:22 · 2785 阅读 · 0 评论 -
类文件类型解读一
class文件解读,class文件包括什么信息。jvm又是如何解析class文件的。常量池里面装着什么?方法表集合里面有什么东西?字符如何保存的?原创 2023-04-18 10:44:37 · 81 阅读 · 0 评论 -
自动内存管理之【常量池】
这时候栈中的s2就会指向堆中“java”的地址,但是当s2.intern()被调用的时候,就会在常量池中进行查找,常量池中存在一个“java”的常量,将其返回。在变量s就会指向堆中的地址,当s.intern()进行查找的时候发现常量池中不存在,便会在常量池中创建,并执行堆中sb.toString()的地址。否则,该String对象将被添加到池中,并返回对此String对象的引用。系统在编译期间将“我爱我媳妇儿”常量添加到了常量词,到第二行的s指向的是堆对象的引用,而s.intern是常量词的引用。原创 2023-04-09 19:38:00 · 472 阅读 · 3 评论 -
自动内存管理-1
初生代好比我们刚刚出生的状态,在经历第一次的磨练之后,没有气馁。与此同时,每一年的磨练你的年龄也在+1,达到一定的时间的时候你就进入了老年状态。书中特地强调了运行时的常量池,通过上面描述可以得知运行时常量池属于方法区的一部分。一个实例对象的诞生地就在Eden(初生代)中,当垃圾回收器Gc执行第一次后,它没有被回收,就会进入第二轮第三轮等N多次的回收,当达到一个阈值的时候,就进入到了老年代。就会出现内存爆表的现象。直接内存,这里用我的理解是调用了native的方法,属于本地方法栈的一部分内容。原创 2023-04-08 12:15:20 · 312 阅读 · 0 评论