<optgroup id="6y7f6"><small id="6y7f6"></small></optgroup>

<code id="6y7f6"></code>

  • <p id="6y7f6"><tbody id="6y7f6"><ins id="6y7f6"></ins></tbody></p>
    <code id="6y7f6"><form id="6y7f6"></form></code>
      摘要: Rust很適合寫命令行工具,特別是使用`clap` crate 更加方便,這篇文章介紹使用rust寫一個jar包class沖突檢測的工具。項目地址: [https://github.com/Aitozi/jar_conflict_detector](https://github.com/Aitozi 閱讀全文
      posted @ 2023-05-23 23:27 Aitozi 閱讀(295) 評論(0) 推薦(1) 編輯
      摘要: String String 類型的數據和基本類型不同,基本類型的長度是固定的,所以可以在棧上分配,而String類型是變長的,所以需要在堆上分配,所以String 類型實際上是一個指向堆的指針。他的結構和Vec很類似。從他的聲明看也是一個u8的Vec pub struct String { vec: 閱讀全文
      posted @ 2023-05-16 21:35 Aitozi 閱讀(140) 評論(0) 推薦(0) 編輯
      摘要: 2023 第三本書,之前下決心每次讀完書就要寫一篇讀后感,加深認識。結果下決心后的第一本 《鄉土中國》就寫不下來讀后感,感覺讀后感太多太密,還不如想起來的時候回頭瀏覽一遍書。 但是最近聽路障的視頻,發現他也建議寫讀后感來增加對書的認識,這樣能更好的幫助記憶,加上這本書好奇心里面的觀點,創造力來源于知 閱讀全文
      posted @ 2023-05-07 22:23 Aitozi 閱讀(34) 評論(0) 推薦(0) 編輯
      摘要: Hudi 文中部分代碼對應 0.14.0 版本 發展背景 初始的需求是Uber公司會有很多記錄級別的更新場景,Hudi 在Uber 內部主要的一個場景,就是乘客打車下單和司機接單的匹配,乘客和司機分別是兩條數據流,通過 Hudi 的 Upsert 能力和增量讀取功能,可以分鐘級地將這兩條數據流進行拼 閱讀全文
      posted @ 2023-05-05 11:13 Aitozi 閱讀(100) 評論(0) 推薦(1) 編輯
      摘要: 一層嵌套,但是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 閱讀(7) 評論(0) 推薦(0) 編輯
      摘要: 設想以下這個計算 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 閱讀(6) 評論(0) 推薦(0) 編輯
      摘要: 靜態鏈接庫在程序編譯階段就完成了鏈接工作,完成鏈接后,依賴的庫就都打入了可執行文件中,所以文件大小一般會比較大。 而動態庫鏈接庫是在程序運行時才被鏈接的,所以磁盤上只要保留一份副本,因此節約了磁盤空間。如果發現了bug或要升級也很簡單,只要用新的庫把原來的替換掉就行了。Linux環境下的動態鏈接對象 閱讀全文
      posted @ 2023-02-05 20:10 Aitozi 閱讀(73) 評論(0) 推薦(0) 編輯
      摘要: 現代操作系統如何裝載可執行文件? 給進程分配獨立的虛擬地址空間 建立虛擬地址空間和可執行文件的映射關系 把CPU指令寄存器設置成可執行文件的入口地址,啟動執行 可執行文件在裝載的過程中實際上是映射的虛擬地址空間,所以可執行文件通常被叫做映像文件(或者Image文件). ELF文件的兩種視角 Sect 閱讀全文
      posted @ 2023-02-05 13:34 Aitozi 閱讀(46) 評論(0) 推薦(0) 編輯
      摘要: 看以下例子 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:19 Aitozi 閱讀(135) 評論(0) 推薦(0) 編輯
      摘要: 編譯過程拆解 預處理處理生成.i文件, .i文件還是源碼文件 將所有的宏定義#define展開。 處理#if, #else, #endif等條件編譯指令 處理#include, 原地插入文件 cpp HelloWorld.c > HelloWorld.i可以這樣來進行預編譯,cpp是C prepro 閱讀全文
      posted @ 2023-02-04 19:19 Aitozi 閱讀(253) 評論(0) 推薦(0) 編輯
      欧洲黄色网页链接入口,免费A级毛片无码无遮挡久久影院,a免费黄色网址,国产一级黄色的网站
      <optgroup id="6y7f6"><small id="6y7f6"></small></optgroup>

      <code id="6y7f6"></code>

    1. <p id="6y7f6"><tbody id="6y7f6"><ins id="6y7f6"></ins></tbody></p>
      <code id="6y7f6"><form id="6y7f6"></form></code>