气相色谱系统由盛在管柱内的吸附剂,或惰性固体上涂着液体的固定相和不断通过管柱的气体的流动相组成。将欲分离、分析的样品从管柱一端加入后,由于固定相对样品中各组分吸附或溶解能力不同,即各组分在固定相和流动相之间的分配系数有差别,当组分在两相中反复多次进行分配并随移动相向前移动时,各组分沿管柱运动的速度就不同,分配系数小的组分被固定相滞留的时间短,能较快地从色谱柱末端流出。以各组分从柱末端流出的浓度 c对进样后的时间t作图,得到的图称为色谱图。当色谱过程为冲洗法方式时,色谱图如图1所示。从色谱图可知,组分在进样后至其最大浓度流出色谱柱时所需的保留时间tR,与组分通过色谱柱空间的时间tM,及组分在柱中被滞留的调整保留时间t恼的关系是:
式中t恼与tM的比值表示组分在固定相比在移动相中滞留时间长多少倍,称为容量因子k:
从色谱图还可以看到,从柱后流出的色谱峰不是矩形,而是一条近似高斯分布的曲线,这是由于组分在色谱柱中移动时,存在着涡流扩散、纵向扩散和传质阻力等因素,因而造成区域扩张。在色谱柱内固定相有两种存放方式,一种是柱内盛放颗粒状吸附剂,或盛放涂敷有固定液的惰性固体颗粒〔载体或称担体(表2)〕;另一种是把固定液涂敷或化学交联于毛细管柱的内壁。用前一种方法制备的色谱柱称为填充色谱柱,后一种方法制备的色谱柱称为毛细管色谱柱(或称开管柱)。
通常借用蒸馏法的塔片概念来表示色谱柱的效能,例如使用“相当于一个理论塔片的高度“H或“塔片数”n来表示柱效。对于填充柱:
对于开管柱:
式中λ是与填充均匀性有关的因素,称为填充不规则因子; γ是柱内填充物使得气体扩散路径弯曲的因素,称为弯曲因子;dp是填充物平均颗粒直径(即粒度);u是载气在柱温、柱压下的线速;Dg是组分在气相中的分子扩散系数;Dl是组分在液相的扩散系数;df是固定液的液膜厚度;dc是开管柱的内径。所以色谱柱的塔片数n=L/H,式中L为色谱柱长;n的数值可用给定的物质作实验,由实验所得到的色谱图(图1)计算得到:
式中ω┩为色谱峰的半高宽,由于气相色谱的组分在固定液中的分配等温线多为线性,如果进样量很小,得到的色谱峰流出曲线最初是用高斯正态分布来描述的,其数学表示式为:
现在实验和理论上都证明了物质的色谱峰形状是不对称的和曳尾的,若用指数衰减修正的高斯分布作为描述色谱峰形状的分布函数,则更为确切:
式中A表示峰面积;tG表示高斯峰的中心位置;σ表示高斯峰的标准方差;τ表示指数衰减函数的时间常数;t′为积分变量。
上面曾经指出,两组分的分配系数必须有差异,其色谱峰才能被分开。有了差异,分离时所需的柱效n也就不相同,所以要判别两色谱峰分离的情况(图2),还需要采用色谱柱总分离效能指标R:
n与R的关系为:
式中α′是组分相对保留值;α是组分校正相对保留值。从上式可知,选择适宜固定液和具有给定塔片数的色谱柱后,应该通过改变色谱柱温来调节α′值,从而满足将两组分分离至给定R值的分离程度。
Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。
对于程序员来说,分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null,让程序不能够再访问到这个对象,我们称该对象为\"不可达的\"。GC将负责回收所有\"不可达\"对象的内存空间。
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象(详见 参考资料1 )。
通过这种方式确定哪些对象是\"可达的\",哪些对象是\"不可达的\"。 当GC确定一些对象为\"不可达\"时,GC就有责任回收这些内存空间。
但是,为了保证GC能够在不同平台实现的问题,Java规范对GC的很多行为都没有进行严格的规定。例如,对于采用什么类型的回收算法、什么时候进行回收等重要问题都没有明确的规定。
因此,不同的JVM的实现者往往有不同的实现算法。 这也给Java程序员的开发带来行多不确定性。
本文研究了几个与GC工作相关的问题,努力减少这种不确定性给Java程序带来的负面影响。 增量式GC( Incremental GC ) GC在JVM中通常是由一个或一组进程来实现的,它本身也和用户程序一样占用heap空间,运行时也占用CPU。
当GC进程运行时,应用程序停止运行。因此,当GC运行时间较长时,用户能够感到Java程序的停顿,另外一方面,如果GC运行时间太短,则可能对象回收率太低,这意味着还有很多应该回收的对象没有被回收,仍然占用大量内存。
因此,在设计GC的时候,就必须在停顿时间和回收率之间进行权衡。 一个好的GC实现允许用户定义自己所需要的设置,例如有些内存有限有设备,对内存的使用量非常敏感,希望GC能够准确的回收内存,它并不在意程序速度的放慢。
另外一些实时网络游戏,就不能够允许程序有长时间的中断。增量式GC就是通过一定的回收算法,把一个长时间的中断,划分为很多个小的中断,通过这种方式减少GC对用户程序的影响。
虽然,增量式GC在整体性能上可能不如普通GC的效率高,但是它能够减少程序的最长停顿时间。 Sun JDK提供的HotSpot JVM就能支持增量式GC。
HotSpot JVM缺省GC方式为不使用增量GC,为了启动增量GC,我们必须在运行Java程序时增加-Xincgc的参数。 HotSpot JVM增量式GC的实现是采用Train GC算法。
它的基本想法就是,将堆中的所有对象按照创建和使用情况进行分组(分层),将使用频繁高和具有相关性的对象放在一队中,随着程序的运行,不断对组进行调整。当GC运行时,它总是先回收最老的(最近很少访问的)的对象,如果整组都为可回收对象,GC将整组回收。
这样,每次GC运行只回收一定比例的不可达对象,保证程序的顺畅运行。 详解finalize函数 finalize是位于Object类的一个方法,该方法的访问修饰符为protected,由于所有类为Object的子类,因此用户类很容易访问到这个方法。
由于,finalize函数没有自动实现链式调用,我们必须手动的实现,因此finalize函数的最后一个语句通常是super。finalize()。
通过这种方式,我们可以实现从下到上实现finalize的调用,即先释放自己的资源,然后再释放父类的资源。 根据Java语言规范,JVM保证调用finalize函数之前,这个对象是不可达的,但是JVM不保证这个函数一定会被调用。
另外,规范还保证finalize函数最多运行一次。 很多Java初学者会认为这个方法类似与C++中的析构函数,将很多对象、资源的释放都放在这一函数里面。
其实,这不是一种很好的方式。原因有三,其一,GC为了能够支持finalize函数,要对覆盖这个函数的对象作很多附加的工作。
其二,在finalize运行完成之后,该对象可能变成可达的,GC还要再检查一次该对象是否是可达的。因此,使用finalize会降低GC的运行性能。
其三,由于GC调用finalize的时间是不确定的,因此通过这种方式释放资源也是不确定的。 通常,finalize用于一些不容易控制、并且非常重要资源的释放,例如一些I/O的操作,数据的连接。
这些资源的释放对整个应用程序是非常关键的。在这种情况下,程序员应该以通过程序本身管理(包括释放)这些资源为主,以finalize函数释放资源方式为辅,形成一种双保险的管理机制,而不应该仅仅依靠finalize来释放资源。
以上是我对于这个问题的解答,希望能够帮到大家。
气相色谱法(GC):气相色谱法测定糖类始于1958年,主要用于分析多糖和寡糖的单糖组成。
气相色谱法要求供试样品有良好的挥发性和热稳定性,而糖由于含有大量的羟基不能在高温下直接挥发,需要将其衍生为易挥发、对热较稳定的物质。多糖、寡糖可直接制备成衍生物进行GC测定,多糖需先降解成单糖或寡糖后制成衍生物再进行GC测定。
在分析复杂样品时,由于糖的异构化而造成多峰现象,所以应选择适宜的衍生物制备方法,常用于糖的衍生试剂有三甲基硅烷、三氯醋酸酐等。 用于糖类分析的固定相从非极性、中等极性到极性都有应用。
硅烷化衍生物常用中等极性的色谱柱,酞基衍生物可采用基性较强的色谱柱来分离。对于复杂的多糖,由于其降解产物含有多个峰,且某些峰的保留时间非常接近,人们己越来越多的采用毛细管柱代替填充柱来进行分析。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:4.694秒