当前位置:首页 > Java >
《Effective Java中文版(第3版)》电子书封面

Effective Java中文版(第3版)

  • 发布时间:2020年08月12日 10:27:35
  • 作者:约书亚
  • 大小:197.6 MB
  • 类别:java电子书
  • 格式:PDF
  • 版本:超清版
  • 评分:8.7

    Effective Java中文版(第3版) PDF 超清版

      给大家带来的一篇关于java相关的电子书资源,介绍了关于Effective、Java方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小197.6 MB,约书亚编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.3分

      Tags:java Effective 

      内容介绍

      Effective Java中文版

      Effective Java中文版

      内容介绍

      Java之父James Gosling鼎力推荐、Jolt获奖作品全新升级,针对Java 7、8、9全面更新,Java程序员必备参考书。包含大量完整的示例代码和透彻的技术分析,通过90条经验法则,探索新的设计模式和语言习惯用法,帮助读者更加有效地使用Java编程语言及其基本类库。

      全书共12章,90条。第1章为引言;第2章阐述何时以及如何创建和避免创建对象,如何确保对象能够适时地销毁,以及如何管理对象销毁之前必须进行的各种清除动作;第3章阐述所有对象都通用的方法,如equals、hashCode、toString、clone和finalize以及Comparable.compareTo方法等;第4章阐述作为Java语言的核心以及Java语言的基本抽象单元(类和接口)在使用上的一些指导原则,以设计出更加有用、健壮和灵活的类与接口;第5章和第6章分别阐述在Java 1.5发行版本中新增加的泛型、枚举和注解的*实践,教你如何*限度地享有这些优势;第7章讨论在Java 8中新增的函数接口、Lambda、方法引用,和为处理数据元素的序列提供类库级别支持的Stream API;第8章讨论方法设计的几个方面:如何处理参数和返回值,如何设计方法签名,如何为方法编写文档,从而使方法设计在可用性、健壮性和灵活性上有进一步的提升;第9章主要讨论Java语言的具体细节,包括局部变量的处理、控制结构、类库的使用、各种数据类型的用法、反射机制和本地方法的用法,以及优化和命名惯例;第10章阐述如何充分发挥异常的优点来提高程序的可读性、可靠性和可维护性,以及减少异常使用不当所带来的负面影响,并提供了一些关于有效使用异常的指导原则;第11章阐述写出清晰、正确、文档组织良好的并发程序;第12章讲解序列化方面的技术,其中包括序列化代理模式,它可以帮助你避免对象序列化的许多缺陷。

      目录

      • 第1章 引言  1
      • 第2章 创建和销毁对象  4
      • 第1条:用静态工厂方法代替构造器  4
      • 第2条:遇到多个构造器参数时要考虑使用构建器  8
      • 第3条:用私有构造器或者枚举类型强化Singleton属性  13
      • 第4条:通过私有构造器强化不可实例化的能力  15
      • 第5条:优先考虑依赖注入来引用资源  16
      • 第6条:避免创建不必要的对象  18
      • 第7条:消除过期的对象引用  20
      • 第8条:避免使用终结方法和清除方法  23
      • 第9条:try-with-resources优先于try-f?inally  27
      • 第3章 对于所有对象都通用的方法  30
      • 第10条:覆盖equals时请遵守通用约定  30
      • 第11条:覆盖equals时总要覆盖hashCode  40
      • 第12条:始终要覆盖toString  44
      • 第13条:谨慎地覆盖clone  46
      • 第14条:考虑实现Comparable接口 53
      • 第4章 类和接口  59
      • 第15条:使类和成员的可访问性最小化  59
      • 第16条:要在公有类而非公有域中使用访问方法  62
      • 第17条:使可变性最小化  64
      • 第18条:复合优先于继承  70
      • 第19条:要么设计继承并提供文档说明,要么禁止继承  75
      • 第20条:接口优于抽象类  79
      • 第21条:为后代设计接口  83
      • 第22条:接口只用于定义类型  85
      • 第23条:类层次优于标签类  86
      • 第24条:静态成员类优于非静态成员类  88
      • 第25条:限制源文件为单个顶级类  91
      • 第5章 泛型  93
      • 第26条:请不要使用原生态类型  93
      • 第27条:消除非受检的警告  97
      • 第28条:列表优于数组  99
      • 第29条:优先考虑泛型  102
      • 第30条:优先考虑泛型方法  106
      • 第31条:利用有限制通配符来提升API的灵活性 109
      • 第32条:谨慎并用泛型和可变参数  114
      • 第33条:优先考虑类型安全的异构容器  118
      • 第6章 枚举和注解  123
      • 第34条:用enum代替int常量  123
      • 第35条:用实例域代替序数  131
      • 第36条:用EnumSet代替位域  132
      • 第37条:用EnumMap代替序数索引  134
      • 第38条:用接口模拟可扩展的枚举  138
      • 第39条:注解优先于命名模式  140
      • 第40条:坚持使用Override注解 147
      • 第41条:用标记接口定义类型  149
      • 第7章 Lambda和Stream  151
      • 第42条:Lambda优先于匿名类  151
      • 第43条:方法引用优先于Lambda  154
      • 第44条:坚持使用标准的函数接口  156
      • 第45条:谨慎使用Stream  159
      • 第46条:优先选择Stream中无副作用的函数  164
      • 第47条:Stream要优先用Collection作为返回类型  168
      • 第48条:谨慎使用Stream并行 172
      • 第8章 方法  176
      • 第49条:检查参数的有效性  176
      • 第50条:必要时进行保护性拷贝  179
      • 第51条:谨慎设计方法签名  182
      • 第52条:慎用重载  184
      • 第53条:慎用可变参数  189
      • 第54条:返回零长度的数组或者集合,而不是null  190
      • 第55条:谨慎返回optinal  192
      • 第56条:为所有导出的API元素编写文档注释  196
      • 第9章 通用编程  202
      • 第57条:将局部变量的作用域最小化  202
      • 第58条:for-each循环优先于传统的for循环 204
      • 第59条:了解和使用类库  207
      • 第60条:如果需要精确的答案,请避免使用f?loat和double  209
      • 第61条:基本类型优先于装箱基本类型  211
      • 第62条:如果其他类型更适合,则尽量避免使用字符串  213
      • 第63条:了解字符串连接的性能  215
      • 第64条:通过接口引用对象  216
      • 第65条:接口优先于反射机制  218
      • 第66条:谨慎地使用本地方法  220
      • 第67条:谨慎地进行优化  221
      • 第68条:遵守普遍接受的命名惯例  223
      • 第10章 异常  227
      • 第69条:只针对异常的情况才使用异常  227
      • 第70条:对可恢复的情况使用受检异常,对编程错误使用运行时异常  229
      • 第71条:避免不必要地使用受检异常  231
      • 第72条:优先使用标准的异常  232
      • 第73条:抛出与抽象对应的异常  234
      • 第74条:每个方法抛出的所有异常都要建立文档  235
      • 第75条:在细节消息中包含失败-捕获信息 237
      • 第76条:努力使失败保持原子性  238
      • 第77条:不要忽略异常  239
      • 第11章 并发  241
      • 第78条:同步访问共享的可变数据  241
      • 第79条:避免过度同步  245
      • 第80条:executor、task和stream优先于线程  250
      • 第81条:并发工具优先于wait和notify  251
      • 第82条:线程安全性的文档化  256
      • 第83条:慎用延迟初始化  258
      • 第84条:不要依赖于线程调度器  261
      • 第12章 序列化  263
      • 第85条:其他方法优先于Java序列化 263
      • 第86条:谨慎地实现Serializable接口 266
      • 第87条:考虑使用自定义的序列化形式  269
      • 第88条:保护性地编写readObject方法 274
      • 第89条:对于实例控制,枚举类型优先于readResolve  279
      • 第90条:考虑用序列化代理代替序列化实例  282
      • 附录 与第2版中条目的对应关系  286
      • 参考文献  289

      以上就是本次介绍的java电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:大数据之路:阿里巴巴大数据实践

      下一篇:Vue.js快速入门

      展开 +

      收起 -

      下载地址:百度网盘下载
      java 相关电子书
      Java8编程入门官方教程
      Java8编程入门官方教程 PDF 第6版

      Java8编程入门官方教程(第6版) 针对新版JavaSE8对内容进行了全面更新。在畅销书作者Herbert Schildt(施密特)的帮助下,可以即刻开始学习Java程序设计的基础知识。《Java 8编程入门官方教程(第6版)

      立即下载
      企业级Java EE架构设计精深实践
      企业级Java EE架构设计精深实践 PDF 完整扫描版

      本书全面、深入介绍了企业级Java EE设计的相关内容,内容涵盖了Java EE架构设计的常见问题。语言简洁,思路清晰,示例丰富、完整,适合具有一定Java基础的读者阅读,尤其适合从事企业级Java EE软件架构和设计的人员阅读

      立即下载
      Java开发利器:Myeclipse全面详解
      Java开发利器:Myeclipse全面详解 PDF 超清版

      Java开发利器Myeclipse全面详解

      立即下载
      JavaScript基础教程
      JavaScript基础教程 PDF 第9版

      本书是经典的JavaScript入门书,以易学便查、图文并茂、循序渐进和善于用常见任务讲解语言知识而著称。书中从JavaScript语言基础开始,分别讨论了图像、框架、浏览器窗口、表单、正则表达式

      立即下载
      Three.js开发指南:WebGL的JavaScript 3D库
      Three.js开发指南:WebGL的JavaScript 3D库 PDF 第2版 立即下载
      疯狂Java讲义精粹(第2版)
      疯狂Java讲义精粹(第2版) PDF 超清版

      本书以疯狂Java讲义(第2版)为蓝本,覆盖Java 8全新特性,大部分示例程序都采用Lambda表达式、流式API进行了改写,海量面试题及答案,数百个书中实例及详实课件,适合各种层次的Java学习者和

      立即下载
      Java信息管理系统开发实例导航
      Java信息管理系统开发实例导航 PDF 高清版

      Java信息管理系统开发实例导航 作者:求是科技 出版时间:2005/4/1 本书以多个实用的信息管理系统(包括图书馆管理系统、教师办公管理系统、企业信息发布系统、BBS论坛系统、网络即时通信系统、客户资料管理系统)为案例,详细讲述了信息管理系统的开发过程,对目标设计、系统开发背景、系统功能分析、系统功能模块设计、数据库需求分析与设计、各功能模块编码实现、系统的发布等各个过程进行详细描述。 本书案例程序的功能贴近实际,设计专业

      立即下载
      揭秘Java虚拟机:JVM设计原理与实现
      揭秘Java虚拟机:JVM设计原理与实现 PDF 影印版

      《揭秘Java虚拟机》Java工程师高质量成长的必读本,谷歌官方认可的android开发语言Kotlin的基石。看透JVM设计思想与原理,彻底领悟JAVA编程精髓,以不变应万变!

      立即下载
      读者心得
      119小时51分钟前回答

      详解Javascript ES6中的箭头函数(Arrow Functions)

      ES6可以使用“箭头”(=)定义函数,注意是函数,不要使用这种方式定义类(构造器)。 一、语法 1. 具有一个参数的简单函数 var single = a = asingle('hello, world') // 'hello, world' 2. 没有参数的需要用在箭头前加上小括号 var log = () = { alert('no param')} 3. 多个参数需要用到小括号,参数间逗号间隔,例如两个数字相加 var add = (a, b) = a + badd(3, 8) // 11 4. 函数体多条语句需要用到大括号 var add = (a, b) = { if (typeof a == 'number' typeof b == 'number') { return a + b } else { return 0 }} 5. 返回对象时需要用小括号包起来,因为大括号被占用解释为代码块了 var getHash = arr = { // ... return ({ name: 'Jack', age: 33 })} 6. 直接作为事件handler document.addEve……

      82小时47分钟前回答

      Java中final作用于变量、参数、方法及类该如何处理

      Java中方法用final修饰参数的作用 在方法参数前面加final关键字就是为了防止数据在方法体重被修改。 主要分为两种情况:第一,用final修饰基本数据类型;第二,用final修饰引用数据类型。 第一种情况,修饰基本数据类型,这时参数的值在方法体内是不能被修改的,即不能被重新赋值。否则编译就不通过。 第二种情况,修饰引用类型。这时参数变量所引用的对象是不能被改变的。但是对于引用数据类型,如果修改其属性的话是完全可以的。 所以,final这个关键字,想用的话就用基本数据类型,还是很有作用的。 final变量: 对于基本类型使用final:它就是一个常量,数值恒定不变 对于对象引用使用fin……

      码农之家

      劳忆安 提供上传

      资源
      22
      粉丝
      36
      喜欢
      486
      评论
      3

      Copyright 2018-2021 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com