原创 Java Interface,abstract class和enum的比對和組合使用方法

java Interface應該是爲了實現多繼承而添加的,提到Interface,那就不得不說abstract class,的確abstract class和Interface有很多地方很相似,例如都是抽象,都不能實例化,impl

原创 C/C++ strlen參數不能爲null的思考和sizeof的比對

最近C項目中遇到一個異常,查看code後發現是strlen的參數是null引起的,在調用strlen之前判斷參數是否是null解決了問題。現在在具體分析一下strlen。C/C++中的strlen是比較常用的函數,用來計算字符串的

原创 Java字符串拼接效率的比較和對String.valueOf的思考

這兩天看到的關於Java的一篇文章(《阿里資深工程師教你如何優化Java代碼》)中有寫到使用String.valueOf(value)代替 “” + value的建議,原因是“當要把其他對象或類型轉換爲字符串時,使用String.

原创 C/C++ free(NULL)的思考

最近code review的時候發現了一段magic code,free的指針指向了NULL,當時膽戰心驚,第一反應就是free一個空指針會引起NE,應該和double free一個地址是同樣的效果。但是冷靜下來,想到這段代碼是一

原创 提早暴露問題,做好層與層之間的責任劃分

最近處理一個關於短信的問題,debug過程中有遇到一些障礙和彎路。問題是手機應該收到一條語音信箱的短信,但是一直沒有收到。Modem已經上報了短信的PDU,但是framework解析之後進行dispatch失敗了。對PDU的dec

原创 [code defect]evaluates to an address that could be at negative offset of an array

最近公司在掃code defect,自己負責的代碼有報出問題,下面是code的sample char str[10] = {0}; int i = 0; for (i = 0; i < 10; i++) { // str[i] e

原创 CDMA SMS PDU全解析

首先感謝下面各位博主的文章,CDMA短信的解析我就是從下面開始的,下面這些文章對CDMA短信的解析已經有了比較詳細的介紹。我這裏只是介紹一些自己的經驗和所得,有自己認爲比較重要的地方做了一些補充,希望對大家有所幫助。 https:

原创 C union(聯合體)作用——玩轉 union

C語言中,union相對於struct使用的次數在大部分項目中都處於明顯的劣勢,這和union的存儲方式的特性有很大的關係。在union中,所有的字段都有相同的偏移量,而且所有的字段都是相互重疊的,union的大小是其中最大字段的

原创 工作中如何做到對事不對人

人是有感情的動物,做事情必然會帶有感情和情緒在裏面,喜歡熱愛的,符合自己利益的,那就喜歡做;討厭的,增加自己工作量,讓自己利益受到損失,那肯定不喜歡做,有情緒,有抵抗情緒。在與人的交往,工作一段時間後,每個人的表現,工作能力,性格

原创 疫情之下的程序員和公司關係的思考

這場突如其來的疫情使得我自畢業後到現在在家過了第一次元宵節,當然沒有一點節日的氣氛,在家已經呆了將近20天了,臨走的時候還和主管打趣,新年過後,可能回不來了,自己真是一張烏鴉嘴。在網上看到那些在家學習的同志,真是佩服不已。我是一點

原创 GSM 7 bit encode/decode - GSM 7 bit Default alphabet and default alphabet extension table

SMS(短信)對於ASCII可顯示字符需要用GSM 7 bit進行PDU的編解碼。GSM 7 bit由於只用7 個bit編碼字符,這樣可以多存儲一些字符。例如對於短信,140個字節如果編碼採用8bit,那可以存儲140個,但是如果

原创 收到短信number顯示unknown的問題解決和調試BUG的幾個建議

今天大部分時間都在解決一個問題,tester提交了一個bug:終端設備收到一條3GPP2 SMS短信,但是UI number顯示的是unknown,如下圖 第一感覺應該是PDU沒有攜帶number造成的,原先就遇到過這個問題,收

原创 C++ 使用macro create instance

最近要接手一個新的項目,項目是C++寫的,裏面使用了一些macro,還是有些意思的。 假如現在有一個父類ParentClass,這個父類有很多子類,這些子類都需要實現一個實例化的函數,當然可以在父類中定義一個,之後子類overri

原创 失敗程序員的十年總結

十年到底有多長?當我回顧過去的十年,發現好短,可以講的事情沒有幾件,而且都是壞事;當我暢想未來的十年,感覺又好長,不知道路怎麼走。 自從2010年畢業到現在已經十年了,畢業後到現在一直從事傳統軟件開發,沒有在互聯網公司待過,這應該

原创 Android Telephony RIL Request Message執行流程

Android Telephony包含了打電話,發短信,電話本,注網等,telephony framework各個module非常依賴於RILD和modem,framework的設置,設置的結果,網絡的變化,打電話等都需要fram