开发避坑事项专栏
文章平均质量分 67
开发过程中对某些bug如何避坑以及如何正确处理
Kyle0432
我是小白,但我很帅!
展开
-
在java中使用@Transactional会有哪些坑?
在使用时,需要特别注意传播行为、异常处理、方法调用以及事务管理器的配置。此外,对于复杂的业务逻辑,可能需要结合AOP日志来确认事务的执行情况,以便及时发现和解决问题。原创 2024-04-28 15:43:01 · 326 阅读 · 0 评论 -
在java中使用logger打印日志会有哪些坑?
如果设置得太低(如DEBUG),则可能会产生过多的日志,导致性能问题。在使用多线程环境时,确保Logger实例是线程安全的。大多数现代日志框架(如Log4j、SLF4J等)的Logger实现都是线程安全的,但如果你自己实现日志记录器,则需要特别注意线程安全问题。打印的日志信息应该具有足够的上下文,以便于后续的分析和排查问题。在捕获异常并打印日志时,仅仅打印异常信息是不够的,还需要打印异常的堆栈跟踪信息,以便于定位问题。在打印日志时,不小心打印出敏感信息(如密码、密钥、用户个人信息等)会导致严重的安全风险。原创 2024-04-23 10:09:36 · 434 阅读 · 0 评论 -
使用Redis分布式锁时会有哪些坑?
方法之前开启事务,之后再加锁,当锁住的代码执行完成后,再提交事务,因此锁住的代码块执行是在事务之内执行的,可以推断在代码块执行完时,事务还未提交,锁已经被释放,此时其他线程拿到锁之后进行锁住的代码块,读取的库存数据不是最新的。,就是当前线程执行某个方法已经获取了该锁,那么在方法中尝试再次获取锁时,会阻塞,不可以再次获得锁。(假设锁自动失效时间为。代码块,即在宕机前,锁并没有被删除掉,这样的话,就没办法保证解锁,所以这里需要给。释放锁的时候,锁已经过期,所以这把锁已经可能已经不属于当前客户端,会。原创 2024-04-22 10:54:55 · 1038 阅读 · 0 评论 -
在java中使用线程池会有哪些坑?
在Java中使用线程池时,确实存在一些常见的陷阱和坑。原创 2024-04-20 14:50:38 · 603 阅读 · 0 评论 -
在开发中哪些场景容易导致NPE?
为了避免这些场景中的空指针异常,开发者需要谨慎地处理null值,通过适当的空值检查、使用Optional类、确保对象在使用前已被正确初始化,以及合理设计代码结构等方式来预防异常的发生。原创 2024-04-19 13:35:04 · 894 阅读 · 0 评论 -
在使用BigDecimal时需要注意哪些坑?
在使用BigDecimal避免使用无参构造器创建BigDecimal对象。避免使用double或float创建BigDecimal对象,应使用字符串。在进行数学运算时,注意处理标度和舍入模式。根据业务逻辑选择合适的舍入模式。原创 2024-04-18 13:58:25 · 365 阅读 · 0 评论 -
Array数组转List集合会有哪些坑?
为了避免这些问题,你应该根据具体需求选择合适的集合类型,并在转换之前对数组进行必要的检查和处理。同时,了解Java集合框架和类型系统的特性也是非常重要的。如果需要动态地添加或删除元素,或者需要处理基本数据类型数组,那么使用。或其他类型的集合可能是一个更好的选择。原创 2024-04-18 09:25:27 · 296 阅读 · 0 评论 -
List集合中使用for循环指定删除相同的元素会出现什么问题?
这是因为当你使用for-each循环(也称为增强的for循环)遍历列表时,实际上是通过迭代器来访问元素的。如果你在循环体内直接调用。是Java 8及以上版本中推荐的方式,因为它简洁且易于理解。如果你使用的是旧版本的Java,那么使用迭代器或索引遍历可能是更好的选择。选择哪种方法取决于你的具体需求和使用的Java版本。集合中,如果你尝试在for循环中直接删除元素,可能会遇到。方法,就会修改列表的结构,这会导致迭代器失效,从而抛出。上面的代码在尝试删除列表中所有值为。原创 2024-04-17 16:26:49 · 421 阅读 · 0 评论 -
使用并行流造成丢失数据问题!
elementData[size++] = e,添加元素到elementData数组中, 在并发情况下, 如果多个线程同时执行add方法,在第一步ensureCapacityInternal校验数组容量时,都发现当前容量还可以添加元素,就都在size++的位置添加各自的新元素,会出现同一位置的值被覆盖情况,所以可能会出现数据丢失问题;不给过CopyOnWriteArrayList,每次add操作都是把原数组中的元素拷贝一份到新数组中,然后在新数组中添加新元素,最后再把引用指向新数组。原创 2024-04-05 11:22:26 · 668 阅读 · 0 评论