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