浅析字节存储序列的大小端存储方式

基础 内存地址是从低地址开始进行编号的,用16进制来进行编号,比如内存的开始地址(即低地址)0x0000,然后内存偏移以字节为单位,比如0x0001表示从0x0000位置偏移到后面1个字节,即偏移8bit.字节的高低位是俗成约定的,比如字节序列0x12345678,由于一个16进制的转为2进制占四个2进制(2^4=16,进制转换基础),那么0x12则可以转为8个二进制,也就是8bit=1byte,也就是1字节,回到字节的高低位的俗成约定,0x12为最高位,0x78为字节序列的最低位置 什么是大端...阅读全文

www.allocmem.com 2019-03-22 11:22 www.allocmem.co 等

java和golang中的unsafe包

首先聊聊反射 java和golang都有各自的反射机制,为什么标准库会提供反射机制呢? 反射(reflection)允许程序在运行时(runtime)检查、修改程序(比如对象,struct等)的结构与行为,跳过编译检查,越过访问权限,运行时对象生成,方法调用等。如果没有反射,那么需要完全手动进行硬编码,比如如果没有反射,那么在spring的ioc容器管理实现就需要我们使用new来创建对象,那么也就不叫spring ioc,不会有spring ioc的诞生了。 静态编译(多数静态语言):在编译时确...阅读全文

www.allocmem.com 2019-03-22 17:53 www.allocmem.co 等

速查jvm字节码指令

JVM指令集参考 0x00 nop 什么都不做 0x01 aconst_null 将null推送至操作栈栈顶 0x02 iconst_m1 将int型-1推送至操作栈栈顶 0x03 iconst_0 将int型0推送至操作栈栈顶 0x04 iconst_1 将int型1推送至操作栈栈顶 0x05 iconst_2 将int型2推送至操作栈栈顶 0x06 iconst_3 将int型3推送至操作栈栈顶 0x07 iconst_4 将int型4推送至操作栈栈顶 0x08 iconst_5 将int型...阅读全文

www.allocmem.com 2019-03-13 18:56 www.allocmem.co 等