240 发简信
IP属地:上海
  • 提示60-61

    第60条:如果需要精确的答案,请避免使用float和double float和double类型主要是为了科学计算和工程计算而设计的。他们执行二进制浮点运算,这是为了在广泛的数...

  • 提示58-59

    第58条 for-each循环优先于传统的for循环 for-each 相较于使用迭代器或者传统for循环遍历数组的方式,主要减少了变量(迭代器变量或索引变量)出现的次数。减...

  • 提示五十七:将局部变量的作用域最小化

    提示五十七:将局部变量的作用域最小化。 在局部变量首次使用的地方进行声明。过早声明导致作用域过大,除可读性查之外,被意外改动的几率也大。 几乎每个局部变量声明都应该包含一个初...

  • 提示五十六:为所有导出的API元素写文档注释

    第56条:为所有导出的API元素写文档注释。 为了正确的编写API文档,必须在每个被导出的类、接口、构造器、方法和域声明之前增加一个文档注释。 同一个类或接口中的两个成员或者...

  • 提示五十五:谨慎返回optional

    第55条:谨慎返回optional。 集合、映射、Stream、数组、Optional都不应该包装在Optional中。 如果无法返回结果并且当没有返回结果时客户端必须执行特...

  • 提示五十三、五十四

    提示五十三:慎用可变参数。 如果可变参数要求至少要求一个参数的话,可以使用这种样式。 在重视性能的情况下,因为可变参数方法的每次调用都会导致进行一次数组分配和初始化。如果大部...

  • 提示五十二:慎用重载

    提示五十二:慎用重载。 重载调用哪个方法是在编译时做出的决定,重写方法是在运行时决定调用哪个方法,所以编译时的类型不会影响最终调用哪个方法。 使用重载机制比较安全而保守的策略...

  • 提示五十一:谨慎设计方法签名

    提示五十一:谨慎设计方法签名。 谨慎选择方法名。 不要过于追求提供便利的方法。 避免过长的参数列表。有三种方法可以缩短参数列表。分解方法。创建辅助类保存参数。从对象的构建到方...

  • 提示五十:必要时进行保护性拷贝

    提示五十:必要时进行保护性拷贝。 愉快使用 Java 的原因,它是一种安全的语言。 这意味着在缺少本地方法的情况下,它不受缓冲区溢出,数组溢出,野指针以及其他困扰 C 和 C...

  • 提示四十九:检查参数的有效性

    提示四十九:检查参数的有效性。 方法的参数限制,应该在文档中指明,并且在方法体的开头处检查参数,以强制施加这些限制。 如果没有进行参数限制,最严重的会导致改变破坏了对象的状态...

  • 提示四十八:谨慎使用Stream并行

    提示四十八:谨慎使用Stream并行。 Java8 Stream中可以通过parallel方法非常简单的来实现并行化,但是编写正确的并发程序还是很困难,需要我们仔细考虑。 源...

  • 提示四十七:Stream要优先用Collection作为返回类型

    提示四十七:Stream要优先用Collection作为返回类型。 Stream虽然有一个符合Iterable接口(Iterator<T> iterator();)可以用, ...

  • 提示四十六:优先使用streams中无副作用函数

    提示四十六:优先使用streams中无副作用函数。 这一章中作者先用一个反面案例说明了stream中的一个坏味道:只使用了foreach伪装成流代码,但本质还是普通的代码,使...

  • 山月记

    我深怕自己本非美玉,故而不敢加以刻苦琢磨,却又半信自己是块美玉,故又不肯庸庸碌碌,与瓦砾为伍。于是我渐渐地脱离凡尘,疏远世人,结果便是一任愤懑与羞恨日益助长内心那怯弱的自尊心...

  • 提示四十五

    提示四十五:谨慎使用stream。 默认情况下,流管道会按顺序运行。 要使管道并行执行,只需要在管道中的任何流上调用 parallel() 方法,但是通常不建议这么做。 St...

  • 120
    提示四十四

    提示四十四:优先使用标准的函数式接口。。 有了lambda之后,模板方法(Template Method)模式就没有吸引力了,现代的方法是提供一个接收函数对象的静态工厂或者构...

  • 提示四十三

    提示四十三:方法引用优于 lambda 表达式。 lambda 优于匿名类的主要优点是它更简洁,而方法引用比它更简洁。 文中举了上面的这个例子说明了方法引用的简洁,而且由于命...

  • 提示四十二

    提示四十二:lambda 表达式优于匿名类。 匿名类适用于需要函数对象的经典面向对象设计模式,特别是策略模式。 Lambdas 在功能上与匿名类相似,但更为简洁。 Lambd...

  • 120
    提示四十一

    提示四十一: 使用标记接口定义类型。 标记接口(marker interface),是不包含方法声明的接口,只是指定一个类实现了具有某些属性的接口。 例如,考虑 Serial...