原创 關於DeadLock(死鎖)的總結與Java代碼實現

用交通狀況做比喻,死鎖 = 十字路口交叉相行的車把對方的路給堵死了,造成大堵車情況。 1. 死鎖產生及其檢測算法 要發生死鎖還得有以下條件: 互斥:每個資源要麼已經分配給了一個進程,要麼就是可用的。 佔有和等待:已經得到了某個資

原创 二次封裝數組及數組功能,泛型的總結(Java實現)

1. 自定義數組的二次封裝 主要想實現的功能: boolean isEmpty(); E get(int index) // 查找索引對應的元素e E set( int index, E e) //修改index索引位置的元素e

原创 CANOpen 通信

在此係統的編程中,CANOpen 通信使用了兩種方式: 一種是過程數據對象 ( PDO) ,一種是網絡管理 ( NMT) 。 PDO 通信速度快,實時性高; 而在NMT 通信中,主機可以控制節點的狀態。

原创 關於測控系統的CANopen通訊協議總結

1.CAN:Controller Area Network,控制器局域網 一種能有效支持分佈式控制和實時控制的串行通訊網絡。 2. CANopen的數據類型 基本類型 NIL:類似於高級語言裏的NULL,但是NULL表示值爲0,

原创 BODAS安裝的安裝與配置

前提:BODAS的安裝需要給電腦插上Rexroth的電子狗(一個不顯示的USB),才能看到exe文件 1.安裝BODAS的資源選項,next後建議新建一個文件夾存儲所有的資料   2.選擇一個您要在其中創建程序快捷方式的開始菜單文件夾

原创 BODAS說明書的中文版與相關資料總結

花了三天時間配了控制器的接線口,找了軟件安裝的一套東西。 又花了一週時間零零散散在網上只找到關於控制器少得可憐的資料: 1.力士樂控制器RC6系列介紹 2.力士樂控制器手冊不完整版 3.RC6-9程序下載 力士樂配套的只有德語和英

原创 關於比較器Comparable和Comparator

半年之前看Collection裏關於排序的源碼時就糾結過這個Comparable和Comparator的區別,最近在PriorityQueue的中又遇到了這個問題,發現仍有理解模糊之處,溫故知新,特別寫一篇文章彙總所有。 Jour

原创 布隆過濾器的介紹

位數組中的每個元素都只佔用 1 bit ,並且每個元素只能是 0 或者 1。這樣申請一個 100w 個元素的位數組只佔用 1000000Bit / 8 = 125000 Byte = 125000/1024 kb ≈ 122kb

原创 雙指針-滑動窗口問題(Leetcode題的java實現)

Leetcode141. 判斷鏈表中是否有環 思路:設定快慢雙指針,慢指針+1則快指針+2。如果不含有環,快指針最終會遇到 null,說明鏈表不含環;如果含有環,快指針最終會超慢指針⼀圈,和慢指針相遇,說明鏈表含有環。時間複雜度

原创 SSM框架中三層數據傳輸(VO,DO,AO)

1.接口層VO和邏輯層DO 1.xxDO是數據庫直接取來或註冊進去的數據,基本和xxMapper.java以及xxMapper.xml有關 xxVO通常是和H5界面直接相關的數據, 兩者在代碼中相互轉換 比如 PatientDO

原创 定位錯誤日誌排查Bug的思路全在這裏了

前言:根據項目提煉了的經驗總結。主要提供一種BugFree的思路 1.寫日誌時要養成的好習慣 保證在定位日誌時可以離開代碼情鏡還能看懂問題是什麼。 在方法前加 @Transactional,拋出異常之後,事務會自動回滾,數據不會

原创 非線性數據結構——圖的相關概念

1.圖的相關概念 用於深度和廣度搜索算法一般就是用來做圖的遍歷,或者說圖是搜索算法的最常用數據結構,因此需要先儲備一些圖的概念。 圖是由一個非空的頂點集合和一個邊的集合組成。 G=( V, E ) 1.無向圖:任意兩頂點構成的偶對

原创 用幾種經典的求解單源最短路徑算法實現(帶圖解與java實現)

典型的啓發式搜索有兩種,分別是貪婪最佳優先搜索(Greedy best-first search)和A*尋路搜索。這篇文章以最短路徑問題爲例來展開討論兩種搜索方法的思路。 可求最短路徑的結構往往是有向帶權圖,用代碼表示就是 pub

原创 後臺服務的變慢排查思路(輕量級應用服務器中測試)

在實習時接觸的是分佈式系統,公司實現了一套系統的日誌和性能監控架構,對問題的排查多是查異常日誌調接口。近來開始熟悉Linux系統,發覺合格的程序員除了異常這個突破點,也應掌握對系統本身性能問題的診斷能力。就像醫生診斷病人一樣診斷服