- 博客(3)
- 收藏
- 关注
原创 【Effective_Java】2.构造方法参数过多时使用builer模式
可伸缩构造方法模式(new对象)是有效的,但是当有很多参数时,很难编写客户端代码,而且很难读懂它。JavaBeans 模式(get/set设置属性)本身有严重的缺陷。由于构造方法被分割成了多次调用,所以在构造程中 JavaBean 可能处于不一致的状态, 并且排除了让类不可变的可能性,不够安全。Builder 模式结合了可伸缩构造方法模式的安全性和 JavaBean 模式的可读性。客户端不直接构造所需的对象,而是调用一个包含所有必参数的构造方法 (或静态工厂) 得到获得一个 builder 对象。然后
2022-01-21 16:51:49 398
原创 【Effective_Java】1.用静态工厂方法替代构造器
【Effective_Java】1.用静态工厂方法替代构造器一、静态工厂方法类可以提供一个公有的静态工厂方法,它只是一个返回类的实例的静态方法。 public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALSE; }静态工厂方法和公有的构造器都各有各的用处,我们需要理解他们各自的长处。静态工厂经常更加合适,因此切记第一反应就是提供公有的构造器,而不先考虑静态工厂。二、优势1.有名称静态工厂
2022-01-20 21:11:00 333
原创 MongoDB 排序内存超出限制QueryExceededMemoryLimitNoDiskUseAllowed:Sort exceeded memory limit
问题描述:使用mongo进行排序时,报排序超出最大内存错误org.springframework.data.mongodb.UncategorizedMongoDbException: Command failed with error 292 (QueryExceededMemoryLimitNoDiskUseAllowed): 'Error in $cursor stage :: caused by :: Sort exceeded memory limit of 104857600 bytes,
2021-04-26 18:52:43 3990
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人