原创 IDEA遠程調試代碼

簡介 有時候,程序只是有個小小的bug,卻百般猜測,多次加日誌和壓包到服務器才確認下來,並且一般會有限速,傳包需要好幾分鐘,工作效率是不高的。 通過遠程調試的方式,可以更準確的確認問題,加快開發進度。 代碼 在其中打好斷點即可。

原创 netty之ByteBuf(堆緩衝區)

堆緩衝區 ByteBuf heapBuf = ...; if (heapBuf.hasArray()) { byte[] array = heapBuf.array(); int offs

原创 sun.misc.Cleaner實現堆外內存回收

簡介 項目中採用了java+c的混合開發,通過jni進行了底層結構體的內存分配,將指針返回給java層保存,隨後則可以通過傳遞指針值來操作底層代碼。在java中,仍然需要手動釋放jni分配出來的內存的。 如何讓GC來自動管理jni

原创 Netty單元測試

感慨 一晃兩年多了,自從剛開始給公司編寫的幾個網絡模塊,後來就沒有在度使用的機會了。 講解Netty的書籍有許多,其中《Netty實戰》這本書比較經典,推薦大家用這本書入門。 概述 工欲善其事,必先利其器。 作爲一個網絡處理框架,

原创 卡爾曼濾波---C語言實現(二)

簡介 本小節,使用C語言來實現卡爾曼濾波。 測試部分待補充。 準備工作 時間更新方程 x^kˉ=Ax^k−1+Buk−1               ① {\hat{x}}_{\bar{k}}=A{\hat{x}}_{{k-1}}

原创 命令行編譯打包java代碼

簡介 有時候,本地打包再上傳遠程的方式比較麻煩。 通過幾個寫好的腳步,直接在服務端上修改,會相對方便一點,可提升學習效率。 META-INF/MANIFEST.MF Manifest-Version: 1.0 Created-By

原创 STM32-freeRTOS-低功耗模式

感慨 做一個產品,學一門技術,最需要的就是不斷摳細節,對於嵌入式,省電是一個主題,大大小小的嵌入式產品,走的是量,如果能降低功耗,也算是給環保事業做出了點微薄的心理安慰。 廢話少說,主要是查資料的時候,發現大部分資料講的是在Fre

原创 STM32CubeIDE構建通用freertos項目(一)

感慨 本人大約三四年沒有碰單片機了,遙想當年我還是用的keil工具。 有幸以援助的身份介入公司的嵌入式項目,結合自身經驗講講。 工作是一個長期的過程,開頭不注意則會產生蝴蝶效應,導致接下來的工作一直處於挖坑填坑的狀態,最終大好青春

原创 卡爾曼濾波---簡述(一)

感慨 雖然本人只是個小小碼農,主攻java後臺開發,但吾以爲,學習技術,應當不分領域。 本文首先假設讀者像我當初一樣,是個對卡爾曼濾波望而生畏的小白。 參考鏈接 https://zhuanlan.zhihu.com/p/39912

原创 Windows環境用docker安裝mysql

吐槽 搞大半天才搞定持久化的問題,如果隨着docker重啓,數據庫內的數據就沒了,那等於白搭。 作爲docker和mysql小白,真的很難找到資料搭建起來 拉鏡像 docker pull mysql 啓動一個乾淨的mysql容器

原创 回溯算法學習

外在 顯然,給你一個選擇列表,讓你在選擇列表中不斷的進行選擇。最終返回一個包含所有選擇的結果集 結果集 fun(選擇列表 nums) { } 構造基本解題結構 結果集都是從從路徑一步步走出來的,backtrack多出了一個路徑

原创 docker打包運行簡易demo

簡介 萬事開頭難,開了頭再深入就不難了。 安裝docker、下載鏡像、運行起來這些步驟有許多文章。本文主要記錄如何把自己的可執行程序打包成docker。 文件 僅三個文件:Dockerfile、Hello.class、Hello.

原创 netty之對象池個人理解

作用 解決頻繁GC問題 關鍵點 多線程從池中獲取對象,多線程回收對象 思考 假如獲取對象和回收對象的方法上鎖,那麼可以起到池的作用,但顯然不是個好方法,效率太低,得不償失。 如何無鎖化? 每個線程對應一個對象池,並且只有該線程可以

原创 菜雞參賽記(3)

工欲善其事必先利其器 答題有幾個難點要點: 識別出題目類型 選擇實現所需要的數據結構 針對非正常情況的處理 提交通過 識別出題目類型,一般還是比較容易做到的,總共也就那麼些類型。 數據結構則相對困難,許多題目只是用了該數據結構

原创 菜雞參賽記(5)

現狀記錄 目前已經有一次周賽能拿下4題了,排名到203。 差不多能夠穩定拿下3題了,最後一題有應該是20%概率能拿下。 開了個人的gitee,之後的參賽題解會提交上去。並且有打算參加codeforce和atcoder。 網址 h