氣相色譜系統(tǒng)由盛在管柱內(nèi)的吸附劑,或惰性固體上涂著液體的固定相和不斷通過(guò)管柱的氣體的流動(dòng)相組成。將欲分離、分析的樣品從管柱一端加入后,由于固定相對(duì)樣品中各組分吸附或溶解能力不同,即各組分在固定相和流動(dòng)相之間的分配系數(shù)有差別,當(dāng)組分在兩相中反復(fù)多次進(jìn)行分配并隨移動(dòng)相向前移動(dòng)時(shí),各組分沿管柱運(yùn)動(dòng)的速度就不同,分配系數(shù)小的組分被固定相滯留的時(shí)間短,能較快地從色譜柱末端流出。以各組分從柱末端流出的濃度 c對(duì)進(jìn)樣后的時(shí)間t作圖,得到的圖稱(chēng)為色譜圖。當(dāng)色譜過(guò)程為沖洗法方式時(shí),色譜圖如圖1所示。從色譜圖可知,組分在進(jìn)樣后至其最大濃度流出色譜柱時(shí)所需的保留時(shí)間tR,與組分通過(guò)色譜柱空間的時(shí)間tM,及組分在柱中被滯留的調(diào)整保留時(shí)間t惱的關(guān)系是:
式中t惱與tM的比值表示組分在固定相比在移動(dòng)相中滯留時(shí)間長(zhǎng)多少倍,稱(chēng)為容量因子k:
從色譜圖還可以看到,從柱后流出的色譜峰不是矩形,而是一條近似高斯分布的曲線,這是由于組分在色譜柱中移動(dòng)時(shí),存在著渦流擴(kuò)散、縱向擴(kuò)散和傳質(zhì)阻力等因素,因而造成區(qū)域擴(kuò)張。在色譜柱內(nèi)固定相有兩種存放方式,一種是柱內(nèi)盛放顆粒狀吸附劑,或盛放涂敷有固定液的惰性固體顆?!草d體或稱(chēng)擔(dān)體(表2)〕;另一種是把固定液涂敷或化學(xué)交聯(lián)于毛細(xì)管柱的內(nèi)壁。用前一種方法制備的色譜柱稱(chēng)為填充色譜柱,后一種方法制備的色譜柱稱(chēng)為毛細(xì)管色譜柱(或稱(chēng)開(kāi)管柱)。
通常借用蒸餾法的塔片概念來(lái)表示色譜柱的效能,例如使用“相當(dāng)于一個(gè)理論塔片的高度“H或“塔片數(shù)”n來(lái)表示柱效。對(duì)于填充柱:
對(duì)于開(kāi)管柱:
式中λ是與填充均勻性有關(guān)的因素,稱(chēng)為填充不規(guī)則因子; γ是柱內(nèi)填充物使得氣體擴(kuò)散路徑彎曲的因素,稱(chēng)為彎曲因子;dp是填充物平均顆粒直徑(即粒度);u是載氣在柱溫、柱壓下的線速;Dg是組分在氣相中的分子擴(kuò)散系數(shù);Dl是組分在液相的擴(kuò)散系數(shù);df是固定液的液膜厚度;dc是開(kāi)管柱的內(nèi)徑。所以色譜柱的塔片數(shù)n=L/H,式中L為色譜柱長(zhǎng);n的數(shù)值可用給定的物質(zhì)作實(shí)驗(yàn),由實(shí)驗(yàn)所得到的色譜圖(圖1)計(jì)算得到:
式中ω┩為色譜峰的半高寬,由于氣相色譜的組分在固定液中的分配等溫線多為線性,如果進(jìn)樣量很小,得到的色譜峰流出曲線最初是用高斯正態(tài)分布來(lái)描述的,其數(shù)學(xué)表示式為:
現(xiàn)在實(shí)驗(yàn)和理論上都證明了物質(zhì)的色譜峰形狀是不對(duì)稱(chēng)的和曳尾的,若用指數(shù)衰減修正的高斯分布作為描述色譜峰形狀的分布函數(shù),則更為確切:
式中A表示峰面積;tG表示高斯峰的中心位置;σ表示高斯峰的標(biāo)準(zhǔn)方差;τ表示指數(shù)衰減函數(shù)的時(shí)間常數(shù);t′為積分變量。
上面曾經(jīng)指出,兩組分的分配系數(shù)必須有差異,其色譜峰才能被分開(kāi)。有了差異,分離時(shí)所需的柱效n也就不相同,所以要判別兩色譜峰分離的情況(圖2),還需要采用色譜柱總分離效能指標(biāo)R:
n與R的關(guān)系為:
式中α′是組分相對(duì)保留值;α是組分校正相對(duì)保留值。從上式可知,選擇適宜固定液和具有給定塔片數(shù)的色譜柱后,應(yīng)該通過(guò)改變色譜柱溫來(lái)調(diào)節(jié)α′值,從而滿(mǎn)足將兩組分分離至給定R值的分離程度。
Java的內(nèi)存管理實(shí)際上就是對(duì)象的管理,其中包括對(duì)象的分配和釋放。
對(duì)于程序員來(lái)說(shuō),分配對(duì)象使用new關(guān)鍵字;釋放對(duì)象時(shí),只要將對(duì)象所有引用賦值為null,讓程序不能夠再訪問(wèn)到這個(gè)對(duì)象,我們稱(chēng)該對(duì)象為\"不可達(dá)的\"。GC將負(fù)責(zé)回收所有\(zhòng)"不可達(dá)\"對(duì)象的內(nèi)存空間。
對(duì)于GC來(lái)說(shuō),當(dāng)程序員創(chuàng)建對(duì)象時(shí),GC就開(kāi)始監(jiān)控這個(gè)對(duì)象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對(duì)象(詳見(jiàn) 參考資料1 )。
通過(guò)這種方式確定哪些對(duì)象是\"可達(dá)的\",哪些對(duì)象是\"不可達(dá)的\"。 當(dāng)GC確定一些對(duì)象為\"不可達(dá)\"時(shí),GC就有責(zé)任回收這些內(nèi)存空間。
但是,為了保證GC能夠在不同平臺(tái)實(shí)現(xiàn)的問(wèn)題,Java規(guī)范對(duì)GC的很多行為都沒(méi)有進(jìn)行嚴(yán)格的規(guī)定。例如,對(duì)于采用什么類(lèi)型的回收算法、什么時(shí)候進(jìn)行回收等重要問(wèn)題都沒(méi)有明確的規(guī)定。
因此,不同的JVM的實(shí)現(xiàn)者往往有不同的實(shí)現(xiàn)算法。 這也給Java程序員的開(kāi)發(fā)帶來(lái)行多不確定性。
本文研究了幾個(gè)與GC工作相關(guān)的問(wèn)題,努力減少這種不確定性給Java程序帶來(lái)的負(fù)面影響。 增量式GC( Incremental GC ) GC在JVM中通常是由一個(gè)或一組進(jìn)程來(lái)實(shí)現(xiàn)的,它本身也和用戶(hù)程序一樣占用heap空間,運(yùn)行時(shí)也占用CPU。
當(dāng)GC進(jìn)程運(yùn)行時(shí),應(yīng)用程序停止運(yùn)行。因此,當(dāng)GC運(yùn)行時(shí)間較長(zhǎng)時(shí),用戶(hù)能夠感到Java程序的停頓,另外一方面,如果GC運(yùn)行時(shí)間太短,則可能對(duì)象回收率太低,這意味著還有很多應(yīng)該回收的對(duì)象沒(méi)有被回收,仍然占用大量?jī)?nèi)存。
因此,在設(shè)計(jì)GC的時(shí)候,就必須在停頓時(shí)間和回收率之間進(jìn)行權(quán)衡。 一個(gè)好的GC實(shí)現(xiàn)允許用戶(hù)定義自己所需要的設(shè)置,例如有些內(nèi)存有限有設(shè)備,對(duì)內(nèi)存的使用量非常敏感,希望GC能夠準(zhǔn)確的回收內(nèi)存,它并不在意程序速度的放慢。
另外一些實(shí)時(shí)網(wǎng)絡(luò)游戲,就不能夠允許程序有長(zhǎng)時(shí)間的中斷。增量式GC就是通過(guò)一定的回收算法,把一個(gè)長(zhǎng)時(shí)間的中斷,劃分為很多個(gè)小的中斷,通過(guò)這種方式減少GC對(duì)用戶(hù)程序的影響。
雖然,增量式GC在整體性能上可能不如普通GC的效率高,但是它能夠減少程序的最長(zhǎng)停頓時(shí)間。 Sun JDK提供的HotSpot JVM就能支持增量式GC。
HotSpot JVM缺省GC方式為不使用增量GC,為了啟動(dòng)增量GC,我們必須在運(yùn)行Java程序時(shí)增加-Xincgc的參數(shù)。 HotSpot JVM增量式GC的實(shí)現(xiàn)是采用Train GC算法。
它的基本想法就是,將堆中的所有對(duì)象按照創(chuàng)建和使用情況進(jìn)行分組(分層),將使用頻繁高和具有相關(guān)性的對(duì)象放在一隊(duì)中,隨著程序的運(yùn)行,不斷對(duì)組進(jìn)行調(diào)整。當(dāng)GC運(yùn)行時(shí),它總是先回收最老的(最近很少訪問(wèn)的)的對(duì)象,如果整組都為可回收對(duì)象,GC將整組回收。
這樣,每次GC運(yùn)行只回收一定比例的不可達(dá)對(duì)象,保證程序的順暢運(yùn)行。 詳解finalize函數(shù) finalize是位于Object類(lèi)的一個(gè)方法,該方法的訪問(wèn)修飾符為protected,由于所有類(lèi)為Object的子類(lèi),因此用戶(hù)類(lèi)很容易訪問(wèn)到這個(gè)方法。
由于,finalize函數(shù)沒(méi)有自動(dòng)實(shí)現(xiàn)鏈?zhǔn)秸{(diào)用,我們必須手動(dòng)的實(shí)現(xiàn),因此finalize函數(shù)的最后一個(gè)語(yǔ)句通常是super。finalize()。
通過(guò)這種方式,我們可以實(shí)現(xiàn)從下到上實(shí)現(xiàn)finalize的調(diào)用,即先釋放自己的資源,然后再釋放父類(lèi)的資源。 根據(jù)Java語(yǔ)言規(guī)范,JVM保證調(diào)用finalize函數(shù)之前,這個(gè)對(duì)象是不可達(dá)的,但是JVM不保證這個(gè)函數(shù)一定會(huì)被調(diào)用。
另外,規(guī)范還保證finalize函數(shù)最多運(yùn)行一次。 很多Java初學(xué)者會(huì)認(rèn)為這個(gè)方法類(lèi)似與C++中的析構(gòu)函數(shù),將很多對(duì)象、資源的釋放都放在這一函數(shù)里面。
其實(shí),這不是一種很好的方式。原因有三,其一,GC為了能夠支持finalize函數(shù),要對(duì)覆蓋這個(gè)函數(shù)的對(duì)象作很多附加的工作。
其二,在finalize運(yùn)行完成之后,該對(duì)象可能變成可達(dá)的,GC還要再檢查一次該對(duì)象是否是可達(dá)的。因此,使用finalize會(huì)降低GC的運(yùn)行性能。
其三,由于GC調(diào)用finalize的時(shí)間是不確定的,因此通過(guò)這種方式釋放資源也是不確定的。 通常,finalize用于一些不容易控制、并且非常重要資源的釋放,例如一些I/O的操作,數(shù)據(jù)的連接。
這些資源的釋放對(duì)整個(gè)應(yīng)用程序是非常關(guān)鍵的。在這種情況下,程序員應(yīng)該以通過(guò)程序本身管理(包括釋放)這些資源為主,以finalize函數(shù)釋放資源方式為輔,形成一種雙保險(xiǎn)的管理機(jī)制,而不應(yīng)該僅僅依靠finalize來(lái)釋放資源。
以上是我對(duì)于這個(gè)問(wèn)題的解答,希望能夠幫到大家。
氣相色譜法(GC):氣相色譜法測(cè)定糖類(lèi)始于1958年,主要用于分析多糖和寡糖的單糖組成。
氣相色譜法要求供試樣品有良好的揮發(fā)性和熱穩(wěn)定性,而糖由于含有大量的羥基不能在高溫下直接揮發(fā),需要將其衍生為易揮發(fā)、對(duì)熱較穩(wěn)定的物質(zhì)。多糖、寡糖可直接制備成衍生物進(jìn)行GC測(cè)定,多糖需先降解成單糖或寡糖后制成衍生物再進(jìn)行GC測(cè)定。
在分析復(fù)雜樣品時(shí),由于糖的異構(gòu)化而造成多峰現(xiàn)象,所以應(yīng)選擇適宜的衍生物制備方法,常用于糖的衍生試劑有三甲基硅烷、三氯醋酸酐等。 用于糖類(lèi)分析的固定相從非極性、中等極性到極性都有應(yīng)用。
硅烷化衍生物常用中等極性的色譜柱,酞基衍生物可采用基性較強(qiáng)的色譜柱來(lái)分離。對(duì)于復(fù)雜的多糖,由于其降解產(chǎn)物含有多個(gè)峰,且某些峰的保留時(shí)間非常接近,人們己越來(lái)越多的采用毛細(xì)管柱代替填充柱來(lái)進(jìn)行分析。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥(niǎo). 頁(yè)面生成時(shí)間:4.694秒