Effective Java》作者是美国的Joshua Bloch,连Gosling都说需要看的书,讨论的是更深层次的Java开发技术,适合于有一定Java基础的人看。这是一本分享经验于指引您少走弯路的经典著作,针对如何编写高效、设计优良的程序提出了最实用的方针。  Item1 考虑用静态工厂方法代替构造器1、优点可读性强。不会每次调用就通过构造
转载 9月前
57阅读
代码应该被重用而不是拷贝一、创建和销毁对象1.静态工厂方法替代构造器1.1 优势:静态工厂方法与构造器的第一大优势是,它们有名称静态工厂方法与构造器的第二大优势是,不必在每次调用它们的时候都创建一个新的对象静态工厂方法与构造器的第三大优势是,它们可以返回原返回类型的任何子类型的对象静态工厂方法的第四大优势是,所返回的对象的类可以随着每次的调用而发生变化,这取决于静态工厂方法的参数值静态工厂方法的第
转载 2024-02-05 08:35:10
146阅读
# 浅谈《Effective Java》中的最佳实践 《Effective Java》是一本深受开发者喜爱的Java编程书籍,其作者乔舒亚·布朗(Joshua Bloch)分享了许多提高Java编程效率和质量的建议。本文将围绕几个重要的最佳实践进行探讨,并配以代码示例,帮助读者更好地理解和运用这些概念。 ## 1. 使用工厂方法替代构造器 在Java中,类的构造器在创建对象时通常会很方便。然
原创 11月前
67阅读
# 深入理解《Effective Java》的最佳实践 《Effective Java》是一本关于Java编程语言的经典书籍,作者Joshua Bloch以独特的视角和深入的见解,将许多编程实践具体化。本文将结合代码示例,介绍一些书中关键的最佳实践,并通过状态图和饼状图来进一步阐述这些概念。 ## 一、使用静态工厂方法而非构造器 在创建不可变对象时,采用静态工厂方法通常更具可读性。与构造器相
原创 2024-09-26 04:39:11
27阅读
Effective Python读书笔记一目录Effective Python读书笔记一前言第1章 用Pythonic方式思考第一条:确认自己所用的python版本第二条:遵循PEP8风格指南第三条:了解bytes、str、和unicode的区别第四条:使用辅助函数来取代复杂的表达式第五条:了解切割序列的方法第六条:在单次切片操作内,不要同时指定start、end和stride第七条:用列表推导来
转载 2023-10-10 14:48:22
119阅读
Effective Java中文版(第2)》内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。 编码平添乐趣,程序更加完美,高效成为习惯,工作如此轻松。 你是否正在寻找一本能够更加深入地了解Java编程语言的书,以便编写出更清晰、更正确、更健壮且更易于重用的代码。不用找了!《Effective Java中文版(第2)》为我们带来了共78条程
最近泛泛地读了这本《Effective Java》,不得不说这本书中的许多建议都非常不错,看过一遍后就会觉得作者的这些建议都不会过时。对于我们的编程思路会有许多帮助和提升!在此我将不断更新一些暂时我能理解的比较好的建议。也推荐大家看下这本书!ヾ(๑╹◡╹)ノ"一、消除非受检警告 (10.31日)晴 在日常编程中,我们会遇到许多的警告,有些警告比较好消除,但同时也有一些警告并不是很好消除。加入消除了
# 提高Python编程效率的有效技巧 Python是一种被广泛使用的编程语言,因其简洁的语法和强大的库支持而受到很多开发者的喜爱。然而,在实际编程中,许多技巧可以帮助我们提高代码的效率和可读性。本文将介绍一些有效的Python编程技巧,并通过代码示例进行说明。 ## 1. 使用列表推导式 列表推导式是Python中的一种简洁且高效的创建列表的方法。它通过简洁的语法将循环和条件判断结合在一起
原创 11月前
38阅读
第2章:创建和销毁对象 第1条:考虑用静态工厂方法代替构造器 第2条:遇到多个构造器参数时要考虑用构建器 第3条:用私有构造器或者枚举类型强化Singleton属性 第4条:通过私有构造器强化不可实例化的能力 第5条:避免创建不必要的对象 第6条:消除过期的对象引用 第7条:避免使用终结方法 第3章对于所有对象都通用的方法 第8条:覆盖equals时请遵守通用约定 第9条:覆盖equals时总要覆
转载 2023-09-12 16:48:24
157阅读
Effective Java》主要给了78条编码建议,指导,方便开发者开发出,高效,稳定,健壮,设计优良的程序。下面看一下这78条建议。创建和销毁对象 1、考虑用静态工厂方法代替构造器/* 为了让客户端获取他自身的一个实例,最常用的方法就是提供一个公有的构造器。 还有一种方法,类可以提供一个公有的静态工厂方法,它只是返回类的实例的静态方法。 */ //一个简单的单
转载 2023-12-23 23:31:54
67阅读
//第一章:对象导论 // 1:抽象过程 万物皆为对象 // 2:每个对象都有一个接口(方法) // 3:每个对象都提供服务 // 4:被隐藏的具体实现 将程序开发人员按照角色分为类创建者(创建新数据类型的程序员)与客户端程序员(在应用中使用数据类型的类消费者)。 // Java用三个关键字在类的内部设定边界:public,private,protected
转载 2023-08-29 16:22:23
231阅读
一.静态工厂方法来取代构造器例子来自Boolean这个类,这个valueOf方法返回了一个Boolean实例,但是它并不是Boolean的构造方法,这样做有几个好处:public static Boolean valueOf(boolean b) { return (b ? TRUE : FALSE); }有名称,可以自己定义不用每次都新建一个对象,比如上面这个方法就不是每
第一章 引言第二章 创建和销毁对象第1项:用静态工厂方法代替构造器第2项:遇到多个构造器参数时要考虑使用构建器第3项:用私有构造器或者枚举类型强化Singleton属性第4项:通过私有构造器强化不可实例化的能力第5项:优先考虑依赖注入来引用资源第6项:避免创建不必要的对象第7项:消除过期的对象引用第8项:避免使用终结方法和清除方法第9项:try-with-resources优先于try-final
文章作者:Tyan  第一章 引言本书的目的是为了帮助你最有效的利用Java编程语言和它的基础库,java.lang,java.util,在更小程度上包括java.util.concurrent和java.io。本书有时会讨论其它的库,但不包括图形用户接口编程,企业APIs或移动设备。本书包括七十八个条目,每个条目传达一条规则。这些规则通常是从实践中得到并且最好最有经验的程序员坚信它是有
转载 2023-08-14 10:25:24
75阅读
# 如何实现“Effective Java 中文版 PDF”的生成 在开发过程中,生成PDF文件是一项常见的需求。今天,我们将一起学习如何将《Effective Java》的中文版本转换为PDF格式。这篇文章会为你提供一个清晰的流程和必要的代码片段来实现这个目标。让我们分步骤进行。 ## 流程图 在这个项目中,我们可以将整个流程拆分为以下几个步骤: ```mermaid journey
原创 2024-09-28 06:03:11
495阅读
CHAPTER 2Item 1: Consider static factory methods instead of constructors用静态工厂方法(在该条目中,这个名词与设计模式中的工厂方法模式并没有直接的关联)来创建对象,比起构造方法有以下好处:可以任意命名。这样,我们可以给它取一个合适的名字来清晰地表达该方法的含义,不像构造方法只能通过参数(类型、个数、类型顺序等)来区分重载。每次
Tips 《Effective Java, Third Edition》一书英文已经出版,这本书的第二想必很多人都读过,号称Java四大名著之一,不过第二2009年出,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文版。供大家学习分享之用。数组在两个重要方面与泛型不同。 首先,数组是协变的(covariant)。
转载 2024-06-06 15:39:17
23阅读
写在前面你是否正在寻找一本能够更加深入地了解Java编程语言的书,以便编写出更清晰、更正确、更健壮且更易于重用的代码?Effective Java中文版(第3) 再适合不过了!这是一本分享经验并指引你少走弯路的经典著作,针对如何编写高效、设计优良的程序提出了最实用、最权威的指导方针,通过90条经验法则,探索新的设计模式和语言习惯用法,帮你更加有效地使用Java编程语言及其基本类库。 “
目录: 一、创建和销毁对象 (1 ~ 7) 二、对于所有对象都通用的方法 (8 ~ 12) 三、类和接口 (13 ~ 22) 四、泛型 (23 ~ 29) 五、枚举和注解 (30 ~ 37) 六、方法 (38 ~ 44) 七、通用程序设计 (45 ~ 56) 八、异常 (57 ~ 65) 九、并发 (66 ~ 73) 十、序列化 (74 ~ 78)  
转载 2023-09-15 15:04:09
22阅读
欢迎来到OpenGL的世界欢迎来到OpenGL的世界。这个工程只是我(Joey de Vries)的一次小小的尝试,希望能够建立起一个完善的OpenGL教学平台。无论你学习OpenGL是为了学业,找工作,或仅仅是因为兴趣,这个网站都将能够教会你现代(Core-profile) OpenGL从基础,中级,到高级的知识。LearnOpenGL的目标是使用易于理解的形式,使用清晰的例子,展现现代Open
  • 1
  • 2
  • 3
  • 4
  • 5