会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Aitozi's的博客
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
下一页
2023年5月23日
用rust 写一个jar包 class冲突检测工具
摘要: Rust很适合写命令行工具,特别是使用`clap` crate 更加方便,这篇文章介绍使用rust写一个jar包class冲突检测的工具。项目地址: [https://github.com/Aitozi/jar_conflict_detector](https://github.com/Aitozi
阅读全文
posted @ 2023-05-23 23:27 Aitozi
阅读(528)
评论(0)
推荐(1)
2023年5月16日
rust 中 str 与 String; &str &String
摘要: String String 类型的数据和基本类型不同,基本类型的长度是固定的,所以可以在栈上分配,而String类型是变长的,所以需要在堆上分配,所以String 类型实际上是一个指向堆的指针。他的结构和Vec很类似。从他的声明看也是一个u8的Vec pub struct String { vec:
阅读全文
posted @ 2023-05-16 21:34 Aitozi
阅读(1024)
评论(0)
推荐(2)
2023年5月7日
好奇心: 保持对未知世界用不停息的热情
摘要: 2023 第三本书,之前下决心每次读完书就要写一篇读后感,加深认识。结果下决心后的第一本 《乡土中国》就写不下来读后感,感觉读后感太多太密,还不如想起来的时候回头浏览一遍书。 但是最近听路障的视频,发现他也建议写读后感来增加对书的认识,这样能更好的帮助记忆,加上这本书好奇心里面的观点,创造力来源于知
阅读全文
posted @ 2023-05-07 22:23 Aitozi
阅读(156)
评论(0)
推荐(0)
2023年5月5日
Apache hudi 核心功能点分析
摘要: Hudi 文中部分代码对应 0.14.0 版本 发展背景 初始的需求是Uber公司会有很多记录级别的更新场景,Hudi 在Uber 内部主要的一个场景,就是乘客打车下单和司机接单的匹配,乘客和司机分别是两条数据流,通过 Hudi 的 Upsert 能力和增量读取功能,可以分钟级地将这两条数据流进行拼
阅读全文
posted @ 2023-05-05 11:12 Aitozi
阅读(985)
评论(0)
推荐(1)
2023年3月10日
Scala集合flatten操作
摘要: 一层嵌套,但是flatten的要求需要List内部类型都一样, 例如都为List scala> List(List(1), List(2), List(3)).flatten res4: List[Int] = List(1, 2, 3) scala> List(List(List(1)), Lis
阅读全文
posted @ 2023-03-10 23:10 Aitozi
阅读(152)
评论(0)
推荐(0)
Scala中集合中的View用法
摘要: 设想以下这个计算 def eval(i: Int): Option[Int] = { println(s"invoke with $i") if (i % 2 == 0) { None } else { Some(i + 1) } } @Test def test(): Unit = { // 3
阅读全文
posted @ 2023-03-10 22:57 Aitozi
阅读(69)
评论(0)
推荐(0)
2023年2月5日
Linux环境下:程序的链接, 装载和库[动态链接]
摘要: 静态链接库在程序编译阶段就完成了链接工作,完成链接后,依赖的库就都打入了可执行文件中,所以文件大小一般会比较大。 而动态库链接库是在程序运行时才被链接的,所以磁盘上只要保留一份副本,因此节约了磁盘空间。如果发现了bug或要升级也很简单,只要用新的库把原来的替换掉就行了。Linux环境下的动态链接对象
阅读全文
posted @ 2023-02-05 20:09 Aitozi
阅读(313)
评论(0)
推荐(0)
Linux环境下:程序的链接, 装载和库[可执行文件的装载]
摘要: 现代操作系统如何装载可执行文件? 给进程分配独立的虚拟地址空间 建立虚拟地址空间和可执行文件的映射关系 把CPU指令寄存器设置成可执行文件的入口地址,启动执行 可执行文件在装载的过程中实际上是映射的虚拟地址空间,所以可执行文件通常被叫做映像文件(或者Image文件). ELF文件的两种视角 Sect
阅读全文
posted @ 2023-02-05 13:34 Aitozi
阅读(211)
评论(0)
推荐(0)
2023年2月4日
Linux环境下:程序的链接, 装载和库[静态链接]
摘要: 看以下例子 main.c extern int x; int main() { int y = 100; swap(&x,&y); return 0; } int x = 1; void swap(int* x, int* y) { int temp = *x; *x = *y; *y = temp
阅读全文
posted @ 2023-02-04 22:18 Aitozi
阅读(237)
评论(0)
推荐(0)
Linux环境下:程序的链接, 装载和库[ELF文件详解]
摘要: 编译过程拆解 预处理处理生成.i文件, .i文件还是源码文件 将所有的宏定义#define展开。 处理#if, #else, #endif等条件编译指令 处理#include, 原地插入文件 cpp HelloWorld.c > HelloWorld.i可以这样来进行预编译,cpp是C prepro
阅读全文
posted @ 2023-02-04 19:19 Aitozi
阅读(944)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
下一页
公告