自定义博客皮肤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 条目25 将源文件限制在单个顶层类

虽然Java编译器让你在单个源文件中定义多个顶层类,但是这么做没有任何益处。危险性来自这个事实:在单个源文件中定义多个顶层类,使得为一个类提供多个定义变得可能。使用哪个定义,受传递到编译器的源文件顺序的影响。为了使得这具体些,考虑如下源文件,它仅仅包含了一个Main类,这个类引用另外两个顶层类(Utensil和Dessert)的成员:public class Main { p...

2018-02-27 23:06:29 192

翻译 Effective Java 3rd 条目24 静态成员类优于非静态

嵌套类(nested class)是一个定义在另外一个类内部的类。嵌套类应该仅仅是为了服务外部类而存在。如果内嵌类在其他某些情形下有用,那么他应该是一个顶层类。有四种嵌套类:静态成员类(static member class)、非静态成员类(nonstatic member class)、匿名类(anonymous class)和本地类(local class)。只有第一种是被认为是内部类。这个条...

2018-02-27 22:52:10 231

翻译 Effective Java 3rd 条目23 类层级优于标签类

偶尔,你可能遇见一个类,它的实例有两个或者更多的特点(flavor),而且包含了一个标签(tag)域表明这个实例的特点。比如,考虑如下类,它可以代表一个圆形或者长方形:// 标签类 - 大大次于类层级! class Figure { enum Shape { RECTANGLE, CIRCLE }; // 标签域 - 这个图形的形状 final Shape shape; /

2018-02-26 09:56:43 210

翻译 Effective Java 3rd 条目22 仅仅定义类型时使用接口

当一个类实现一个接口时,这个接口起一个类型的作用,可以被用来引用这个类的实例。一个类实现了一个接口,应该因此说明一些事情:使用这个类的实例,一个类可以做什么。为任何其他目的而定义一个接口,都是不恰当的。 不符合这个检测的一种接口是所谓的常量接口(constant interface)。这样的接口不包含任何方法;它仅仅包含静态final域,每个域导出一个常量。使用这些常量的类实现这个接口,避免了用...

2018-02-24 13:56:08 195

翻译 Effective Java 3rd 条目21 为后代设计接口

在Java8之前,添加方法到接口而没有破坏已存实现,是不可能的。如果你添加了一个新方法到接口,已存实现通常缺少这个方法,导致编译时期错误。在Java8中,添加了默认方法构造(default method construct)[JLS 9.4],让方法添加到已存接口。但是添加新方法到已存接口充满了危险性。默认方法的声明包括一个默认实现(default implementation),实现接口的所...

2018-02-24 13:46:15 194

翻译 Effective Java 3rd 条目20 接口优于抽象类

Java有两个机制定义允许多个实现的类型:接口和抽象类。因为在Java8中引入了接口的默认方法(default method)[JLS 9.4.3],所以两个机制都让你可以为一些实例方法提供实现。主要的区别在于,为了实现由抽象类定义的类型,一个类必须是这个抽象类的子类。因为Java仅仅允许单继承,抽象类的限制严重约束了作为类型定义的使用。定义所有必需方法和遵从通用规范的任何类,允许实现一个接口,而...

2018-02-13 22:45:48 249

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关注的人

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