日常开发中,我们时长会写很多关于PO转VO的代码或者是VO转DTO相关的代码,造成我们的程序异常的臃肿。如下: 编写这种代码即耗时,有没有什么营养,但是又不能不写。Sprin...
日常开发中,我们时长会写很多关于PO转VO的代码或者是VO转DTO相关的代码,造成我们的程序异常的臃肿。如下: 编写这种代码即耗时,有没有什么营养,但是又不能不写。Sprin...
零 背景描述 Java的异常在线程之间不是共享的,在线程中抛出的异常是线程自己的异常,主线程并不能捕获到。也就是说你把线程执行的代码看成另一个主函数: 上面A和B的运行是互相...
很多文章认为Bean 的生命周期分为四步 实例化 Instantiation 属性赋值 Populate 初始化 Initialization 销毁 Destruction ...
一、背景 在我们平时开发过程中,一般一个请求都是需要经过多个微服务的,比如:请求从A服务流过B服务,如果A服务请求过快,导致B服务响应慢,那么必然会导致系统出现问题。因为,我...
Spring事务什么时候会失效? Spring事务的原理是AOP,进行了切面增强,那么失效的根本原因是这个AOP不起作用了!常见情况有如下几种 1、发生自调用,类里面使用th...
一、XStream的用途 废话不多说直接上例子 注解 工具类
XML处理利器:XStream XStream 概述XStream是一套简洁易用的开源类库,用于将Java对象序列化为XML或者将XML反序列化为Java对象,是Java对象...
偏向锁 在大多数情况下,锁不仅不存在多线程竞争,而且总是由同一线程多次获得,因此为了减少同一线程获取锁(会涉及到一些CAS操作,耗时)的代价而引入偏向锁。 使用场景,一般是一...
1. 首先通过ps -ef | grep java 找到对应的服务的进程ID即PID 2. 然后通过 top -HP PID找到该进程cpu 占用率高的线程 3. 通过...
title: Redis 与数据库的一致性date: 2021/05/26 17:00 首先,给缓存设置过期时间是可以保证最终一致性的解决方案,所以接下来的方案是保障缓存与数...
是什么? 在语法上是基于Groovy语言的(Groovy 是一种基于JVM的敏捷开发语言,可以简单的理解为强类型语言java的弱类型版本),在项目管理上是基于Ant和Mave...
AT 模式下,把每个数据库被当做是一个 Resource,Seata 里称为 DataSource Resource。业务通过 JDBC 标准接口访问数据库资源时,Seat...
说明 用transient声明一个实例变量,当对象存储时,它的值不需要维持。 作用 Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有...
Java中有两种加锁的方式:一种是用synchronized关键字,另一种是用Lock接口的实现类。 如果你只是想要简单的加个锁,对性能也没什么特别的要求,用synchron...
1. 代码 2. 输出
Jedis进行分布式锁 我们使用 jedis 原生的对象执行lua脚本的话,非常简单,也很直观。但是真实的项目里,我们经常会使用Spring Cloud框架,该框架已经集成了...
知识点: 线程生命周期(新建、运行、阻塞、等待(一直等待)、超时等待(超时取消等待)、终止); Synchronized和Lock锁(Condition)的区别,和8锁问题;...
在项目中定义Mapper方法时,有时可能会传多个不同类型的参数,比如像下面这个Mapper方法,这个时候应该如何进行配置呢? 方法一 不设置parameterType参数,直...
什么是阻塞队列 在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,...