線程由線程ID、當(dāng)前指令指針(PC)、寄存器集合和堆棧組成,它不能獨(dú)立擁有系統(tǒng)資源,但它可與同屬一個(gè)進(jìn)程的其它線程共享該進(jìn)程所擁有的全部資源。查看全文>>
在Unix/Linux操作系統(tǒng)中,通過(guò)Python的os模塊中封裝的fork()函數(shù)可以輕松地創(chuàng)建一個(gè)進(jìn)程。fork()函數(shù)的聲明如下:查看全文>>
?在Scala中,不能用類名直接訪問類中的方法和字段,而是創(chuàng)建類的實(shí)例對(duì)象去訪問類中的方法和字段。Scala中提供了object這個(gè)關(guān)鍵字用來(lái)實(shí)現(xiàn)單例模式,若單例對(duì)象名與類名相同,則把這個(gè)單例對(duì)象稱作伴生對(duì)象,下面具通過(guò)體用代碼演示單例對(duì)象和伴生對(duì)象的創(chuàng)建方法。查看全文>>
服務(wù)器每天會(huì)產(chǎn)生大量日志數(shù)據(jù),并且日志文件可能存在于每個(gè)應(yīng)用程序指定的data目錄中,在不使用其它工具的情況下,將服務(wù)器中的日志文件規(guī)范的存放在HDFS中。通過(guò)編寫簡(jiǎn)單的shell腳本,用于每天自動(dòng)采集服務(wù)器上的日志文件,并將海量的日志上傳至HDFS中。由于文件上傳時(shí)會(huì)消耗大量的服務(wù)器資源,為了減輕服務(wù)器的壓力,可以避開高峰期,通常會(huì)在凌晨進(jìn)行上傳文件的操作。下面按照步驟實(shí)現(xiàn)Shell定時(shí)日志采集功能查看全文>>
異常處理的主要目的是防止因外部環(huán)境的變化導(dǎo)致程序產(chǎn)生無(wú)法控制的錯(cuò)誤,而不是處理程序的設(shè)計(jì)錯(cuò)誤。因此,將所有的代碼都用try語(yǔ)句包含起來(lái)的做法是不推薦的,try語(yǔ)句應(yīng)盡量只包含可能產(chǎn)生異常的代碼。Python中try-except語(yǔ)句還可以與else子句聯(lián)合使用,該子句放在except語(yǔ)句之后,表示當(dāng)try子句沒有出現(xiàn)錯(cuò)誤時(shí)應(yīng)執(zhí)行的代碼。其格式如下:查看全文>>
?Python程序在運(yùn)行時(shí)出現(xiàn)的異常會(huì)導(dǎo)致程序崩潰,這種異常處理方式并不友好,開發(fā)人員需要一種友好的方式處理程序運(yùn)行時(shí)的異常。在Python中可使用try-except語(yǔ)句捕獲異常,try-except還可以與else、finally組合使用實(shí)現(xiàn)更強(qiáng)大的異常處理功能。查看全文>>