Rust - Futures library Futures is a library for writing asynchronous code. official website 导入库 futures = { version = "0.3.30", features = ["thread-pool"] } 开始 创建一个线程池 use 2021-02-04 rust #rust#futures
FakeLocation - 实现一个FakeLocation 原版FakeLocation限制重重,还要钱,接下来我们先讨论Fake Location的实现,如有错误请指出。(这是一篇随手记) FL的实现 将一个二进制so文件拷贝到/dev,然后杀死system_server,system_server会被重新拉起(小概率设备直接趋势重启),在完成注入syst 2020-09-25 fakeloc #android#lsposed#xposed#fakeloc
Rust - 强制修改私有变量 有一个场景,你导了一个奇怪的库,其中有一个结构体私有字段你要修改已达到奇怪的目的,但是他是私有的嘛,你不能直接改,怎么办呢? Unsafe大法 源代码 mod pri { pub struct MyPrivateStruct { name: String, a 2020-06-24 rust #unsafe#rust#overriding_dependencies
Kotlin - 泛型?还是泛型? kotlin的泛型有in, out, where 。 概念 其中有3个概念,分别是协变,逆变,不变。 不变 我们这里有一段代码: class Box<T>(val value: T) suspend fun main() { val stringBox: Box<String> = Box 2020-06-13 Kotlin #Kotlin
安卓 - Fragment生命周期问题 今天写一个安卓程序,发现一个切屏回来就闪退的问题,经过跟踪发现是因为切屏回来 这个第49行代码报错导致的,说的是_binding是null 这?不对吧, 我一进来使用binding的话,我就会初始化啊, 2020-06-13 android #fragment#lifecycle
ELF - elf64的数据结构 目前,PC平台流行的 可执行文件格式(Executable) 主要包含如下两种,它们都是 COFF(Common File Format) 格式的变种。 Windows下的 PE(Portable Executable) Linux下的 ELF(Executable Linkable Format) 2020-05-07 elf #elf#linux#data#unicorn
Linux - lgetxattr和getxattr有什么区别 在 Linux 中,lgetxattr 和 getxattr 都是用于获取文件的扩展属性(extended attributes)的系统调用函数。两者的主要区别在于它们对符号链接(symbolic links)的处理方式不同。 1. getxattr 描述: getxattr 用于获取指定文件的扩展 2018-05-12 linux #getxattr#linux#kernel
JVM - 阴间玩意集锦 一个Java空对象占多少字节? 首先我们需要知道java的对象都在堆区(死杠精和我说在什么鸟屎栈什么逃逸分析,你家对象不传出方法是吧?) 对象头(GC状态,类型,布局什么的信息) 由mark word(8字节)和klass pointer(4字节,如果没开指针压缩就是8字节)组成 对象数据(空的) 2011-06-30 java #jvm#rubbish