你是否也聽過類似的話語?我聽說過無數(shù)次,有些是面對面的交談,而有些來自某個(gè)論壇。雖然答案無非是“取決于具體情況”,但以我的拙見,學(xué)習(xí)C編程是非常寶貴的經(jīng)驗(yàn)。我想通過這篇短文向你展示C偉大的一面。
通過本文你將會了解到以下內(nèi)容:IO事件和IO復(fù)用、線程模型和事件驅(qū)動模型的架構(gòu)、基于事件驅(qū)動的Reactor模式詳解、同步IO和異步IO簡介。
最近沒有什么產(chǎn)出,嚇得ZhengN翻箱倒柜倒出一些小東西來發(fā)。下面分享一個(gè)ZhengN大二時(shí)候的一個(gè)小玩具,軟硬件都分享給大家,有需要的小伙伴,文末獲取。這個(gè)小作品設(shè)計(jì)到了強(qiáng)電,不建議沒經(jīng)驗(yàn)的小伙伴上手,了解了解即可。
筆者參考了市面上各種各樣的嵌入式書籍,如MCS-51、AVR、ARM等都有看過,但沒發(fā)現(xiàn)有哪本是介紹設(shè)計(jì)思想的,就算有也是鳳毛麟角。寫程序不難,但如何寫得好、寫得快,那是需要點(diǎn)經(jīng)驗(yàn)積累的。所以在下出來獻(xiàn)丑一下,總結(jié)了一些東西。就我個(gè)人的經(jīng)驗(yàn)而談,有2個(gè)設(shè)計(jì)思想是非常重要的。
今天想和大家分享的內(nèi)容是和我們手機(jī)上APP相關(guān)的,它們都是用什么編程語言寫的呢?
無論在哪個(gè)系統(tǒng)中,刪除文件都是必須謹(jǐn)慎的操作。因?yàn)槿绻恍⌒膭h除了重要文件,就會導(dǎo)致個(gè)人或公司出現(xiàn)重大的損失。類似于windows系統(tǒng)誤刪了文件,可以使用一些軟件進(jìn)行恢復(fù)操作。Linux也是有幾款軟件可以做到誤刪恢復(fù)的。
C語言中,未初始化的局部變量到底是多少?
innodb事務(wù)日志包括redo log和undo log。redo log是重做日志,提供前滾操作,undo log是回滾日志,提供回滾操作。undo log不是redo log的逆向過程,其實(shí)它們都算是用來恢復(fù)的日志。
現(xiàn)在使用NIO的場景越來越多,很多網(wǎng)上的技術(shù)框架或多或少的使用NIO技術(shù),譬如Tomcat,Jetty。學(xué)習(xí)和掌握NIO技術(shù)已經(jīng)不是一個(gè)JAVA攻城獅的加分技能,而是一個(gè)必備技能。
后臺服務(wù)可以劃分為兩類,有狀態(tài)和無狀態(tài)。高可用對于無狀態(tài)的應(yīng)用來說是比較簡單的,無狀態(tài)的應(yīng)用,只需要通過F5或者任何代理的方式就可以很好的解決。后文描述的主要是針對有狀態(tài)的服務(wù)進(jìn)行分析。服務(wù)端進(jìn)行狀態(tài)維護(hù)主要是通過磁盤或內(nèi)存進(jìn)行保存,比如MySQL數(shù)據(jù)庫,redis等內(nèi)存數(shù)據(jù)庫。除了這兩種類型的維護(hù)方式,還有jvm的內(nèi)存的狀態(tài)維持,但jvm的狀態(tài)生命周期通常很短。
最近有個(gè)網(wǎng)友問了我一個(gè)問題:系統(tǒng)中大事務(wù)問題要如何處理?正好前段時(shí)間我在公司處理過這個(gè)問題,我們當(dāng)時(shí)由于項(xiàng)目初期時(shí)間比較緊張,為了快速完成業(yè)務(wù)功能,忽略了系統(tǒng)部分性能問題。項(xiàng)目順利上線后,專門抽了一個(gè)迭代的時(shí)間去解決大事務(wù)問題,目前已經(jīng)優(yōu)化完成,并且順利上線?,F(xiàn)給大家總結(jié)了一下,我們當(dāng)時(shí)使用的一些解決辦法,以便大家被相同問題困擾時(shí),可以參考一下。
何為全局異常的自適應(yīng)呢?
Linux內(nèi)核對網(wǎng)絡(luò)包的接收過程大致可以分為接收到RingBuffer、硬中斷處理、ksoftirqd軟中斷處理幾個(gè)過程。其中在ksoftirqd軟中斷處理中,把數(shù)據(jù)包從RingBuffer中摘下來,送到協(xié)議棧的處理,再之后送到用戶進(jìn)程socket的接收隊(duì)列中。
BMP文件的結(jié)構(gòu)其實(shí)非常簡單,就是兩個(gè)結(jié)構(gòu)體+一個(gè)可選的調(diào)色板+位圖數(shù)據(jù)。
市面上針對Cortex-M處理器的下載器,有很多是基于CMSIS-DAP演變而來,比如:e-Link、GD-Link等。 之前給大家分享過自制ST-Link的教程,今天繼續(xù)為大家分享一篇:基于STM32F103C8,自制CMSIS-DAP下載器。
2007年,以2年的工作經(jīng)驗(yàn)去一家小公司去面試。當(dāng)時(shí)筆試完,對方對我很認(rèn)可。但當(dāng)時(shí)他說:“我需要招一個(gè),在大公司待過的,最好知道硬件開發(fā)流程和規(guī)范的。雖然你題答得不錯(cuò),但是我們需要一個(gè)有豐富經(jīng)驗(yàn)的,最好在華為待過的。”當(dāng)時(shí),我就在想“華為的規(guī)范和流程是啥樣的”。后來我去了華為,我把能想到的華為硬件開發(fā)的幾個(gè)不一樣的點(diǎn),跟大家分享一下。
樹是數(shù)據(jù)結(jié)構(gòu)中的重中之重,尤其以各類二叉樹為學(xué)習(xí)的難點(diǎn)。在面試環(huán)節(jié)中,二叉樹也是必考的模塊。本文主要講二叉樹操作的相關(guān)知識,梳理面試??嫉膬?nèi)容。請大家跟隨小編一起來復(fù)習(xí)吧。
由于需要對ADC進(jìn)行驅(qū)動設(shè)計(jì),因此學(xué)習(xí)了一下Linux驅(qū)動的IIO子系統(tǒng)。本文翻譯自《Linux Device Drivers Development 》--John Madieu
main的返回值 main函數(shù)的返回值用于說明程序的退出狀態(tài)。如果返回0,則代表程序正常退出。返回其它數(shù)字的含義則由系統(tǒng)決定。通常,返回非零代表程序異常退出。
單片機(jī)(MCU)一般都有內(nèi)部程序區(qū)和數(shù)據(jù)區(qū)(或者其一)供用戶存放程序和工作數(shù)據(jù)(或者其一)。為了防止未經(jīng)授訪問或拷貝單片機(jī)的機(jī)內(nèi)程序,大部分單片機(jī)都帶有加密鎖定位或者加密字節(jié),以保護(hù)片內(nèi)程序。如果在編程時(shí)加密鎖定位被使能(鎖定),就無法用普通編程器直接讀取單片機(jī)內(nèi)的程序,這就叫單片機(jī)加密。