
获得徽章 16
- 使用 @Valid 可以减少项目中的 if-else 代码,开发者更关注业务逻辑。使用 @Valid 搭配全局的异常处理逻辑可以简化异常处理。常用的约束包括:@Max @Min @NotNull @NotBlank 等评论点赞
- 本文介绍了 Java 8之后 Map 中可用的几个函数接口,总结来说:compute* 方法一般接收两个参数,key 和 lambda 表达式,会根据 key 的情况调用 lambda 表达式生成新的值、插入并返回。merge 函数会对 key 上值进行操作。forEach 提供了函数式遍历映射表的方式。评论点赞
- 本文介绍了作者使用 BigDecimal 过程中遇到的四类"坑",简单总结就是:创建 BigDecimal 对象时尽量用 String、比较两个对象值相等时用 compareTo、运算如果会产生无尽小数时设置精度、输出时 toSting 是科学计数法。评论点赞
- Rust 中的 Move 指变量绑定后,原变量失去值的所有权。所有权是 Rust 区别于其他 GC 语言的重要特性。与 Move 相关的两个概念是 Copy 和 Clone,前者指在变量绑定时在栈上复制一份值,后者指调用 clone 方法时深拷贝对象。评论点赞
- 本文比较了 Spring 中 @Configuration 和 @Component 注解的类的处理方式不同。前者会被 Cglib 动态代理,目的是保证 @Bean 方法定义的类为单例。Cglib 对配置类的增强逻辑在 ConfigurationClassPostProcessor 中实现。评论点赞
- 本文介绍了一种统一状态码、异常处理的解决方案,并且以实际的项目改造方案来讲述,思路清晰,非常值得学习。收货满满,推荐一下。
评论点赞 - Rust 中的值或其引用,根据其作用域的大小,可以划分为两类:静态生命周期,即作用域贯穿进程整个生命周期;动态生命周期,在某个作用域中定义,离开作用域后消亡。评论点赞
- 除了引用外,指针类型还有其他的成员,例如引用计数 Rc。它们与引用相比,具有更复杂的数据结构,例如元数据(当前长度、最大可用长度等)。而且,引用并不具备值的所有权,而智能指针可以拥有它们指向的数据。赞过评论1