![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java开发技能技巧
记录java开发中可能使用到的各种技巧和技能
Darling要自强
没人能让我输,除非我不想赢。
凭什么你能,我就不能。
展开
-
Optional常用判空
2.3、使用orElseThrow()方法在Optional对象为空时抛出异常:optional.orElseThrow(() -> new Exception("Value is not present"))这个方法会在有值的时候返回值,如果没有值,它会执行作为参数传入的 Supplier(供应者) 函数式接口。当optional中的值不为null时,orElse()中调用一个new对象的函数,无论前面optional是否为空,orElse()里面的方法都要执行,也就是都会执行创建,会消耗性能。原创 2023-07-04 22:39:29 · 2690 阅读 · 1 评论 -
写代码注意事项
6、这个异常没有必要往上抛,不影响主流程,不会影响后续代码逻辑,只需要记录下来,吞掉,代码继续往下走。2、service入参做参数校验(@Valided),controller层也要参数校验。5、异常==>看异常的子类。最好输出异常的参数,异常的信息,使用log.error(e),4、调用同事的方法/service,要在日志中,调用前打印我们的入参,调用后打印出参。3、调用某个方法得到一个对象或者集合等等,要先optional判空。1、调用三方接口要做异常处理。原创 2023-06-19 15:16:50 · 107 阅读 · 0 评论 -
java中如何计算出对象的大小,设置JVM参数,防止OOM问题
首先,我看B站up说在对象中包装类属性的大小是4个字节,保存的是在堆中的地址。基本数据类型大小就是实际的大小。1、对象本身在堆空间的大小:它的属性如果是对象只会保存引用地址。就不是实际属性对象的大小。2、对象及其引用树上的所有对象的综合大小:就包含了属性对象的大小,是全部大小的总和。原创 2023-06-13 19:09:46 · 536 阅读 · 1 评论 -
java项目中使用@Validated注解进行数据校验
Spring Validation验证框架对参数的验证机制提供了@Validated(Spring’s JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303规范),配合BindingResult可以直接提供参数验证结果。简言之:@Validated进行分组验证和方法验证(方法入参的验证(普通和对象)),@Valid主要嵌套验证。不能用在成员属性(字段)上,也无法提示框架进行嵌套验证。能够用在成员属性(字段)上,提示验证框架进行嵌套验证。原创 2023-06-19 13:51:59 · 4721 阅读 · 0 评论 -
java中注解实现敏感数据脱敏
在使用该注解时,只需要在需要脱敏的字段上添加该注解即可。字段使用了手机号码脱敏类型,并指定了脱敏规则为前3位明文,后4位明文,中间用*代替;:脱敏类型,枚举类型,包括默认脱敏、姓名脱敏、手机号码脱敏、身份证号码脱敏等;:脱敏规则,例如:手机号码脱敏规则为:前3位明文,后4位明文,中间用*代替;:脱敏开始位置,从0开始计数,默认为0;:脱敏占位符,例如:用*代替敏感数据;字段使用了默认脱敏类型,对姓名进行脱敏处理。:脱敏结束位置,默认为整个字符串长度。注解进行了脱敏处理。该注解包含了以下属性: -原创 2023-06-19 14:00:34 · 837 阅读 · 0 评论 -
开发中如何优雅得到方法/代码块耗时情况
优雅得到代码耗时,方便我们进行优化原创 2023-06-13 10:56:41 · 74 阅读 · 1 评论