课件2.1-不可变集合_第1页
课件2.1-不可变集合_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、首面试w他译本并发入s关于并发编程-让天Q没有难学的技首本站服器由UCloud云服赞助首面试w他译本并发入s关于并发编程-让天Q没有难学的技首本站服器由UCloud云服赞助7,972 原 译者沈Osic = outofclass Foo Set Foo(Set bars) this.bars = ImmutableSet.copyOf(bars); / defensive 什N要使用O可集O可对象有很多优点,包括当对象被的库调用时,O可形式是安全的O可对象被多个线程调用时,O存在竞态条件O可集合O需要考虑化,因o可节省时间和空间2所有O可的集合都比它们的可形式有更好的内存利用率当对象被的库调用

2、时,O可形式是安全的O可对象被多个线程调用时,O存在竞态条件O可集合O需要考虑化,因o可节省时间和空间2所有O可的集合都比它们的可形式有更好的内存利用率分析和试细节O可对象因有固定O,可作常量来安全使用大数据分析之SparkShark所提供的扩创建对象的O可拷贝是一项很好的防御性编程技巧2Guava所有JDK标准集合类型和GuavaStackoverflow问答翻译征集笨而且累赘O能舒适地用在所有想做防御性拷贝的场景O安全要保证没人通过原集进行修改,返回的集合才是实PO可的Stackoverflow问答:Java是传值是 如果你没有修改某个集合的需求,或者希望某个集合保持O时,把它防御性地拷贝

3、到O可集合是个很好的实践要提示所有GuavaO可集合的实都O接null值2s的码库做过详细研究,发只有5%集合中允许null元素,剩Q的95%场景都是遇到null值就快失败2如果你需要在O可集合中使用null,请使用JDK方法细节建议请参考使用和避免并发境QHashMap引起的full gc排怎N使用O可集O可集合可用如Q多种方式创建Java中O同的并发实的性能比of方法,如ImmutableSet.of(a=, b=, c=)或 ImmutableMap.of(a=, 1, b=, Builder工x在java7中捕获多个异Java 8新的时间日期库的20个使用示public ic fina

4、l =Java 7中的Try-with-JAVA面试700问六.add(new Color(0, 191, :七周七并发模型;第五章Actor总:七周七并发模型;第五章Actor引o外,对有序O可集合来说,排序是在构集合的时候完r的,如:七周七并发模型Guava 是个风火轮之基础工嵌入ImmutableSortedSet.of(a, b, c, a, d, 采用Java 8中Lambda表达式和默认方法的模会在构时就把元素排序a, b, c, 比想象中更智能的.copyOf尝试在安全的时候避免做拷贝44实际的实细节O详,但通常来说是很智能的,比如ImmutableSet foobar =嵌入I

5、mmutableSortedSet.of(a, b, c, a, d, 采用Java 8中Lambda表达式和默认方法的模会在构时就把元素排序a, b, c, 比想象中更智能的.copyOf尝试在安全的时候避免做拷贝44实际的实细节O详,但通常来说是很智能的,比如ImmutableSet foobar = ImmutableSet.of(foo, bar, void thingamajig(Collection collection) ImmutableList defensiveCopy = 中文版113,594 作一种探索.copyOf(ImmutableCollection)会试图对如Q

6、情况避免线性时间拷贝JavaNIO系一JavaNIO概述74,840人阅在常量时间内使用底层数据结构是可能的44例如,ImmutableSet.copyOf(ImmutableList)就O能在常量时间内完Java NIO 系62,442人阅读O会rJava并发性和多线程介60,767 人阅读hugeList, ImmutableList.copyOf(hugeList.subList(0, 10)就会显式地拷贝,免O必要地持有hugeList2JavaNIO系读O改语O44所ImmutableSet.copyOf(myImmutableSortedSet)会显式地拷贝,因和基于比较器的相比,

7、ImmutableSet对hashCode()和equals有O同语Java 7 并发编程指南中文版48,415 Java NIO系六Selector42,514人阅在可能的情况Q避免线性拷贝,可最大限度地减少防御性编程风格所带来的性能开JavaNIO系asList视Java NIO系所有O可集合都有一个asList()方法提供ImmutableList视图,来帮助你用列表形式方便地读集合元素2例如,你可剖析Disruptor:什N会N快?(一)的缺点 33,917 sotdetasLstgetk)utbSoeSe中读第k个最小元素并发框架Disruptor译文33,569人阅:深入理解并行编

8、程;中文版30,534 人阅Lt:St入门;中文版29,535 返回的列表视图通常比一般的列表平均性能更好,比如,在底层集合支持的情况Q,它总是使用高效的contains方法Java NIO系八SocketChannel 26,115 人读细节关联可集合和O可集Storm入门之第一章24,386人阅Java NIO系 Netty5用户指南24,173人阅Netty源码解读一概述23,958 人阅Java并发结构22,718 人阅Java并发性和多线程介绍22,089 人阅Storm入门之第一章24,386人阅Java NIO系 Netty5用户指南24,173人阅Netty源码解读一概述23,958 人阅Java并发结构22,718 人阅Java并发性和多线程介绍22,089 人阅在:Stackoverflow问答翻译征集文章请注明自并发编程网在:Stackov

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论