String类源码笔记(一):成员变量和构造器

String类源码笔记(一):成员变量和构造器,第1张

String类表示字符串,所有类似"abc"形式的字符串(或魔法字符串)都被看作是这个类的实例。String是不可变的,当一个字符串在常量池中被创建时,他的值就不会被改变。

所在路径:\java\lang\Stringjava

为了保证String类是一个不可变类,String类的成员变量多为私有和不可变的。

其中serialPersistentFields在序列化时使用:

JDK8的String类一共有16个构造器,其中两个是@Deprecated,一个是私有构造器,剩下的13个是可以调用的。

无参构造器直接将""的value赋值给当前类的value。""的value是一个空的char[],其length为0。调用使用了无参构造器的String对象的isEmpty()方法会得到true,调用length()方法会得到0,判断其==null会得到false。

入参为String对象时,构造器会对其进行直接取值。

入参为字符串数组时,构造器调用的是ArrayscopyOf()方法。

其中ArrayscopyOf()方法是为了将入参的字符串序列深拷贝到thisvaluie中,他的源码为:

其中Systemarraycopy()方法的源码为:

这个方法支持直接传入想要生成的String的母串,通过偏移量和有效长度找出需要赋值给thisvalue的部分,然后调用ArrayscopyOfRange()方法进行深拷贝。

当需要将一个Unicode编码序列转换为String时,可以使用以下构造器:

当需要将一个bytes[]转换为String时,可以使用以下构造器:

此外,还有一些将上述构造器进一步封装的构造器,其本质都是简化入参。另外,String类的构造器同样支持传入StringBuffer和StringBuilder。如果传入的是StringBuffer,构造器会为其加锁。如果传入的是StringBuilder则不会加锁。

事实上,StringBuffer和StringBuilder的toString()方法调用的也是String类的构造器,他们最终的底层实现都是ArrayscopyOf()。

最后,String类还提供了一个保护类型的构造方法。该方法相比入参为char[]的构造器多了一个share参数,这个参数并没有实际作用,只是用来和其他构造器进行区分。当String类内部调用该构造器时:

该构造器不能对外暴露的原因是需要保持String类的不可变性。

淋巴器官分为初级和次级淋巴器官两类。
初级淋巴器官又称中枢淋巴器官,是淋巴细胞产生和发育成熟的场所,也称为发生淋巴细胞的器官(generative organ)。淋巴细胞在这些器官中产生并发育成熟,同时又清除掉那些能识别自身成分的淋巴细胞克隆。初级淋巴器官在哺乳动物中有骨髓和胸腺两类器官,在鸟类中有法氏囊。
次级淋巴器官又称外周淋巴器官。成熟的淋巴细胞在这些器官中与外来抗原相遇,并对其作出应答。这些器官有淋巴结、脾脏及肠系粘膜以及皮肤淋巴系统等淋巴组织器官。
一、初级淋巴器官的组成与结构 1.骨髓 骨髓(bone marrow)是造血器官。淋巴细胞以及其他所有的血细胞都来自于骨髓中造血干细胞。
  造血干细胞是淋巴干细胞的前体。在胚胎期,造血细胞最早发现在卵囊的血岛。随后在胚囊和胚肝之间出现血管连接,然后在胚脾中短暂出现,最后在骨髓中出现并不断地增加。
  在哺乳动物中,骨髓是各种血细胞产生和成熟的地方。造血干细胞沿着特别的谱系分化。(图2-1) 淋巴干细胞谱系进一步分化产生B细胞和T细胞。
  B细胞从干细胞分化到前B细胞,再到表面上能表达膜抗体的幼B细胞都在骨髓中发育完成的,可见骨髓的微环境对B细胞的分化和发育是必不可少的。
  骨髓中的淋巴干细胞谱系还分化产生T细胞前体,T细胞的前体运往腺发育成熟为胸腺淋巴细胞和外周T细胞。
  造血干细胞分化的另外一个谱系是骨髓干细胞谱系。粒细胞、单核细胞、巨噬细胞和成红细胞都是来自骨髓干细胞谱系,由它们进一步分化发育出其他各种白细胞和红细胞。 骨髓中各种前体细胞的增殖和成熟都受到细胞介素的刺激,例如群落刺激因子(colony-stimulating fator,CSF),它们可以刺激骨髓中各种白细胞的生长发育。这些与造血有关的细胞介素是由骨髓中的基质细胞(stromal cells)和巨噬细胞产生的。不同的造血细胞介素能促进不同的骨髓细胞前体的分化增殖和成熟。造血干细胞集中在骨髓内膜部位,因为骨髓内膜有产生细胞介素的基质细胞。这对造血干细胞的生存,自然更新以及各谱系的分化增殖都是非常重要的微环境。
2.胸腺 胸腺(thymus)位于胸腔的上部,胸骨后方。胸腺分左右两叶,外表有被膜(copuIe)。每一叶中又由隔膜分成许多小叶,每个小叶外层为皮质(cortex),皮质的浅部为外皮质(outer cortex),深部为内皮质(innercortex),小叶的内部为髓质(medulla)(图2—2)。 胸腺是淋巴上皮器官。胸腺中有大量淋巴细胞和小量上皮细胞以及巨噬细胞和树突细胞等。
  脑腺是胸腺细胞(thymocytes)分化成熟的地方。未成熟的前T细胞,由骨髓经过血管运往胸腺。大量未成熟的胸腺细胞首先进人外皮质部,在外皮质部,这些未成熬的T细胞表面带有CD4-CD8-双负的表面标志。这些T细胞再进入内皮质部,在由胸腺中网状上皮细胞分泌的胸腺素和胸腺生成素的作用下进行分化增殖,形成许多小型T细胞,细胞表面标志由双负变为双正,即CD4+CD8+。其中大多数小型T细胞不久即死亡,只有5%的小型T细胞可进入髓部继续分化发育、成熟。髓部大量成熟的T细胞表面标志抗原也随之分化表达为CD4-CD8+或者CD4+CD8-等单负的T细胞,并表达抗原受体等细胞表面分子。这些T细胞具有免疫应答能力。大约5%成熟的T细胞,通过血液、淋巴转移到次级免疫器官中的胸腺依赖区中定居。在胸腺中原来许多可以识别自身抗原的T细胞不能继续存活。发育成熟的T细胞都具有特异的抗原受体,能特异地识别各种抗原。
3法氏囊 这是鸟类所特有的初级淋巴器官。法氏囊(bursa of fabricius)又称腔上囊,它位于乌类泄殖腔的上方,是泄殖腔上皮淋巴器官。它主要是由初级滤泡组成,干细胞可能来源于胚内间质.由少数干细胞发育为淋巴细胞。在法氏囊中B细胞由前B细胞分化而来。切除法氏囊后便不能再产生抗体。由此也证明法氏囊对鸟类体液免疫应答是非常重要的。当鸟类性成熟以后,法氏囊便消失了
二、次级淋巴器官的组成与结构 次级淋巴器官又称外周淋巴器官,包括淋巴结、脾脏以及肠系、皮肤等有关淋巴组织器官。 1 淋巴结 淋巴结(lymph nodes)位于遍布全身的淋巴通道相互连接的交点上,大小类似大豆,人的正常淋巴结直径小于10cm。 淋巴结的结构:外部有被膜,被膜上可见许多输人淋巴管。淋巴通过输入淋巴管进入亚被膜窦(subcapsular sinus),又称边窦(marginal sinus),再向内为皮质(cortex)和副皮质区(paracortical area)。皮质区有淋巴滤泡(lymphoid follicle),由B细胞聚集而成的不带发生中心的为初级滤泡。有的淋巴滤泡带有发生中心(germinal center),为次级滤泡。滤泡为球状,其中的B细胞号未分裂的休止状态。一旦受到抗原刺激,B细胞使会母细胞化,不断分裂而形成发生中心(图2-3)。在发生中心里充满快速分裂的B细胞。发生中心的大小依抗原刺激的强度而变化。当抗原第二次刺激时会引致再 应答。这时发生中心会迅速扩大,抗体的分泌也非常活跃。当外源抗原刺激消失后又恢复原状。在皮质区有毛细血管后小静脉,它与淋巴细胞循环有密切的关系,在这类血管中可以看到有淋巴细胞(图2-4)。 在副皮质区是T细胞定居的地方,为胸腺依赖区。皮质区除B细胞与T细胞之外还有网状细胞、巨噬细胞、树突细胞等。淋巴结的髓质是内部结构疏松的组织、分为髓索和髓窦。前者有B细胞、浆细胞、网状细胞及巨噬细胞,后者有许多巨噬细胞。淋巴结是淋巴细胞定居和增殖的地方,也是过滤淋巴液的地方。
  淋巴结在淋巴循环中起着重要的作用。淋巴结也是T细胞对淋巴携带的外源抗原应答的起点。T细胞与B细胞在淋巴结中的数量比为25:1。淋巴结中的T细胞多为CD4+T辅助细胞(Th)。
2 脾脏(spleen)
  脾脏位于腹腔的左上方,成人的脾脏重量约150-200g。脾脏是由皮质和髓质两大部分组成的,外有被膜(capsule),膜内为皮质部(又称白髓white pulp)位于小动脉(又称中心动脉central artery)的周围。白髓的外部为含有B细胞和CD4+T细胞的边带(marginal zone)。内部围绕血管的周围形成血管外周淋巴鞘。淋巴鞘是T细胞定居区。其中2/3的T细胞为CD4+T辅助细胞,1/3为CD8+T细胞。淋巴鞘区有许多滤泡。滤泡外有套层(mantle layer),内有B细胞、发生中心和中心动脉。发生中心充满了B细胞。总之整个白髓有着紧密的结构,是T细胞和B细胞定居之地。 髓质部又称红髓(red pulp)。红髓中有许多血窦(sinusoids),血窦内充满血液。此外还有红髓索(cords of billroth),髓索内含有吞噬细胞和浆细胞,可分泌抗体。脾脏的结构与淋巴结不同的是白髓之间的部分为红髓,即红髓分布在白髓之外,而淋巴结中相反,皮质是在髓质之外。脾脏主要是对血液传带的抗原应答的场所,而淋巴结还包括对淋巴中抗原的应答。 脾脏是最大的免疫淋巴器官。抗原和淋巴细胞是通过脉管血窦进入脾脏。B细胞在边带开始活化。边带与淋巴鞘中的T辅助细胞相邻,活化的B细胞就移向发生中心或移往红髓。脾脏对血液起了过滤的作用,红髓中的巨噬细胞对清除血液中无用的外来物质起着重要的作用。 3.其他外周淋巴组织 (1)皮肤淋巴组织:皮肤是人体防御的重要屏障,皮肤免疫系统是由表皮、真皮中分布的各种免疫细胞构成的。表皮中有上皮细胞(又称keratinocytes)、表皮朗汉细胞及少量皮下淋巴细胞(主要是CD8+T细胞)。表皮下面的真皮结缔组织中有大量的T细胞(CD4+,CD8+)和巨噬细脑分布在微血管周围。其中的T细胞常常表达CD45RO表面分子及IL-2受体。 (2)粘膜淋巴样组织(mucosal associated lymphoid tissue,MALT):有人又称为脏系淋巴样组织(gut associated lymphoid tissue,GALT)。它们是广泛分布于呼吸及消化系统的粘膜下的淋巴样组织。它们包括咽部扁桃体(tonsils),鼻咽部的咽扁桃体(adanoid),小肠部的皮尔氏体(Peyer’s patches)大肠部的盲肠(appendix)以及肺部等许多器官的粘膜上皮内的淋巴组织。这些淋巴组织本身通常外面没有被膜。有的也可以形成大的滤泡和发生中心,其中充满B细胞,在滤泡之间有少量T细胞(多为CD4+T细胞)组成的T细胞区,如皮尔氏体。在皮尔氏体中50%—70%淋巴细胞为B细胞,lo%-30%为T细胞。在皮尔氏体中有些上皮细胞特化为M细胞。M细胞表面有许多短的细绒毛,可以把微生物和其他大分子经由M细胞转移到上皮下面的淋巴组织,诱导免疫应答。受到刺激的淋巴细胞也可通过淋巴管进入淋巴结。在粘膜上皮细胞下面除了类似皮尔氏体的滤泡结构外还会有许多分散的T细胞、巨噬细胞、酸性粒细胞和肥大细胞等免疫细胞。 三、淋巴细胞的循环 淋巴细胞在淋巴组织之间和血液中反复循环交换就是淋巴细胞的循环(circulation of1ymphocytes),也有人称淋巴细胞再循环。通常每毫升血液中会有5x106白细胞,其中淋巴细胞约占1/4,单核细胞占1/8,粒细胞占1/2。参与淋巴细胞循环的以T细胞为主,约占70%—75%,B细胞只占25%-30%。小的B细胞和T细胞是分别在骨髓和脑腺等中枢淋巴器官中成熟的。当它们没有受到抗原刺激之前不表现免疫效应。这些细胞称为“处女”淋巴细胞(naive lymphocyte)或称后淋巴细胞(post-lymphocytes)。它们离开中枢淋巴器官,通过血液进入外周淋巴组织。进入淋巴结的途径是通过细胞表面一些特殊的粘附分子,这些分子称为回家受体(homing receptors),能识别淋巴结皮质部的毛细血管后小静脉上的配体,从而使淋巴细胞得以通过血管的内皮细胞而到达淋巴结的皮质部。T细胞进入到副皮质区。淋巴细胞在皮质部能停留几小时至几天。停留时间长短取决于是否遇到抗原。淋巴结中有许多抗原递呈细胞,包括树突细胞、巨噬细胞及来自皮肤的朗汉细胞,它们由输入淋巴管进入淋巴结。淋巴细胞从皮质进入髓质,再通过薄壁的输出淋巴管离开髓部回到血液。 淋巴管遍布全身大多数组织器官,把淋巴结连结起来,使淋巴液贯通。由小的淋巴管汇集到大的淋巴管,最后汇集入淋巴胸导管(thoracic duct),混合的淋巴与血液通过腔静脉(venacava)回到心脏,开始下次的循环。估计一次淋巴细胞循环历时约24h,如果遇到抗原则需更长的时间完成一次循环。从胸导管收集到的淋巴液全是淋巴细胞。 脾脏也以类似于淋巴结的方式参与淋巴细胞的循环,淋巴细胞从脾脏的中心动脉进入脾脏的红髓,在其中停留几小时,包括过滤血流中的侵染物或浸染细胞,淋巴细胞很快进入白髓,T细胞进入血管外周淋巴鞘的T细胞依赖区,外周淋巴鞘中有树突细胞等抗原递呈细胞形成的网络。B细胞进入初级淋巴滤泡和发生中心,T细胞继续循环,回到红髓,进入脾静脉柱,通过淋巴管回到心脏。脾脏的循环与琳巴结不同之处是淋巴结仅限于淋巴细胞的进入,而多种类型的细胞,包括粒细胞、红细胞等能进入脾脏。另外离开淋巴结参与循环的淋巴细胞数量大,而从脾脏出去的细胞数量则较少。在淋巴结中定居的淋巴细胞通过循环后仍能回到淋巴结(回家),产生IgA和IgE的B细胞更多的分布于肠系淋巴组织而不到脾脏中去。这是因为淋巴细胞有回家受体的识别所致。当用酶处理淋巴细胞,酶解了细胞表面的一些蛋白分子或者用抗体阻断回家受体时,这些淋巴细胞就会随机分布,而无回家的选择性。 淋巴细胞进行循环的意义在于:①增加了与抗原、侵人物接触的机会,被活化的淋巴细胞变为效应细胞参与免疫应答;⑦能使B、T细胞和记忆细胞很快地分布到全身的组织器官。

在二手房买卖中,过户税费主要有:契税、个人所得税、增值税及附加、转移登记费、印花税、土地出让金。
按照国家税费规定,其中的增值税及附加、个人所得税由卖方承担。
增值税及附加:房屋未满两年按照核税价的56%征收,满两年免缴(房屋计算时间以房产证登记日期、或不动产契税发票为准)。
个人所得税:按照1%征收;若房屋以继承或赠予的方式获得,则按照差额的20%征收。若房屋满五年且为卖方唯一住房,则可免征收。

首先你可以选择一个邮箱的服务商,比如网易的163,,126,或者雅虎,新浪,Gmail,hotmail等等。现在流行用的最多的大概就是163的服务。
步骤如下:(以163为例)
首先,进入网址:>public static void main(String[] args) {
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
mapput(1, 11);
mapput(2, 44);
mapput(3, 55);
mapput(4, 21);
mapput(5, 33);
mapput(6, 11);
//这里将mapentrySet()转换成list
List<MapEntry<Integer,Integer>> list = new ArrayList<MapEntry<Integer,Integer>>(mapentrySet());
//然后通过比较器来实现排序
Collectionssort(list,new Comparator<MapEntry<Integer,Integer>>() {
//升序排序
public int compare(Entry<Integer, Integer> o1,Entry<Integer, Integer> o2) {
return o1getValue()compareTo(o2getValue());
}
});
for(MapEntry<Integer,Integer> mapping:list){
Systemoutprintln(mappinggetKey()+":"+mappinggetValue());
}
}
这是根据value的值排序的,你也可以泛型成Map<String,String>一样的 希望能帮到你!

一种方法:进入foobar2000播放器,进入library(程序库)-- configure(配置)--components(部件),在右下角有install components(安装部件)选择你的foo_uie_lyrics3就可以 了。还能在这里更新文件
第二种方法:在电脑硬盘里找到你的foobar2000安装文件夹,在子目录里找到components文件夹,直接把你的文件复制进去就行了
第三种方法: 双击你的安装文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10571301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存