自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tigershin的专栏

Effective Java 3rd cn

  • 博客(6)
  • 资源 (7)
  • 收藏
  • 关注

翻译 Effective Java 3rd 条目6 避免创建不必要的对象

这通常是恰当的:重用单个对象,而不是每次需要的时候创建一个新的功能相同的对象。重用既更快又更有风格。如果不可变,一个对象总是可以被重用(条目17)。作为不应该做的事情的一个极端例子,考虑这个语句:String s = new String("bikini");// 不要这么做!每次执行时这个语句时创建一个新的String实例,这些对象创建没有一个是必要的。String构造子的参数(“bikini”)

2017-12-30 18:38:54 538

翻译 Effective Java 3rd 条目5 依赖注射优于硬耦合资源

很多类依赖于一个或者多个相关资源。比如,一个拼写检测器依赖一个字典。这样的类实现为静态效用类,这是很常见的(条目4):// 不恰当的静态效用的使用 - 不灵活而且不可测试! public class SpellChecker { private static final Lexicon dictionary = ...; private SpellChecker() {} // 不可

2017-12-29 23:03:34 877

翻译 Effective Java 3rd 条目4 用私有构造子实现不可实例化

有时,你想编写一个仅仅是一组静态方法和静态域的类。这样的类有个坏名声,因为一些人滥用它们来避免用对象的方式来思考,但是它们确实有正当的用途。以java.lang.Math或者java.util.Arrays的方式,它们可以把在原始或者队列上相应的方法归类。以java.util.Collections的方式,它们也可以归类实现了某个接口的对象的静态方法(包括工厂)(条目1)。(就像在Java 8,你也

2017-12-29 15:54:06 636

翻译 Effective Java 3rd 条目3 用私有构造子或者枚举类型强化单例属性

单例(singleton)仅仅是一个恰好能实例化一次的类[Gamma95]。单例一般代表一个无状态的对象(比如,一个函数),或者一个本质唯一性的系统组件。一个类变为单例使得难于测试它的客户端,因为替代单例的模拟(mock)实现是不可能的,除非它实现了一个作为自己类型的接口。有两种通常的方式实现单例。两者都是基于保持构造子私有和导出提供获取这个单一实例的公开静态成员。在第一个方法中,成员是一个fina

2017-12-29 11:29:25 579

翻译 Effective Java 3rd 条目2 面临众多构造子参数时考虑builder

静态工厂和构造子都有一个限制:它们不能很好调节大量可选参数。考虑这个情况,一个类表示包装食品上的营养成分标签。这些标签有些是必需的域,食用份量、份数和每份卡路里数;还有二十多个可选域,总脂肪含量、饱和脂肪含量、反脂肪含量、胆固醇含量,钠含量等等。大多数产品中这些可选参数只有很少的非零值。对于这样的类,你打算用什么类型的构造子或者静态工厂?习惯上,编程人员用重叠构造子(telescoping cons

2017-12-28 15:05:49 555

翻译 Effective Java 3rd 条目1 考虑用静态工厂方法代替构造子

对于一个类,让客户端获取一个实例的传统方式是,提供一个公开的构造子(constructor)。另外一个技巧,应该成为每个程序员的工具库之一。一个类可以提供一个公开的静态工厂方法(static factory method), 这个静态方法简单地返回这个类的实例。这里有关于Boolean(boolean 的原始装箱类(boxed primitive))的简单例子。这个方法把boolean原始值转换到

2017-12-27 16:38:06 445

从零构建大型语言模型的技术与实践

从零构建大型语言模型的技术与实践

2024-09-25

concurrent-patterns-best-practices-synchronization

I still remember the Aha! moment when I understood how UNIX shell pipeline works. I fell headlong in love with Linux and the command line and tried out many combination filters (a filter is a program reading from standard input and writes to standard output) connected via pipes. I was amazed by the creativity and power brought about by the command line. I was working with concurrent programs. Then, there was a change of project and I was thrown headlong into writing code using the multithreaded paradigm. The language was C or C++, which I loved deeply; however, to my surprise I found that it was a herculean effort to maintain a legacy code base, written in C/C++ that was multithreaded. The shared state was managed in a haphazard way and a small mistake could throw us into a debugging nightmare!

2018-10-26

Intermediate.iOS.Programming.with.Swift.iOS.10.and.Swift.3

中级ios开发资料

2017-07-17

Wiley.Machine.Learning.Hands-On.for.Developers.and.Technical.Professionals

Wiley.Machine.Learning.Hands-On.for.Developers.and.Technical.Professionals

2017-04-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除