Error creating bean with name ‘dataSource‘:Unsatisfied dependency expressed through field ‘basicPro SpringBoot整合MySQL启动报错解决方案
代码优化技巧 1. Duplicated Code (重复代码)重复代码就是不同地点,有着相同的程序结构。一般是因为需求迭代比较快,开发小伙伴担心影响已有功能,就复制粘贴造成的。重复代码很难维护的,如果你要修改其中一段的代码逻辑,就需要修改多次,很可能出现遗漏的情况。如何优化重复代码呢?分三种情况讨论: 同一个类的两个函数含有相同的表达式 classA{publicvoidmethod1(){doSomething1;doSomething2;...
快速将输入流(InputStream)转化为字符串(String) 方法1(使用 Scanner (JDK)):Scanner s = new Scanner(inputStream).useDelimiter("\\A");String result = s.hasNext() ? s.next() : "";方法2:使用 Stream API (Java 8):Warning: This solution converts different line breaks (like \r) to .String result = new
Redis在项目中的使用(缓存、分布式锁) 统一Key前缀(按业务)public class RedisKey { /** * 取餐柜 */ public static final String CABINET_SERVICE = "cabinet_service"; /** * 店铺名称 */ public static final String STORE_NAME = "merchant:store:"; /** * 商家名称 ...
并发写入导致死锁 Deadlock found when trying to get lock; try restarting transaction; nested exception is com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction2021-09-15 19:36:25.932 [http-nio-100
MySQL三范式 设计关系型数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。第一范式:保证每列的原子性第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库满足了第一范式。第二范式:保证一张表只描述一件事情这是通俗的说法,用第二范式的定义描述第二范式,说的是在满足第一范式的基础上,数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖,也即所有非关键字段都完全依赖于任一组候选关键字。
put时为什么HashMap在并发环境下是不安全的?ConcurrentHashMap就安全么? 测试HashMap并发更新值被覆盖代码import lombok.extern.slf4j.Slf4j;import java.util.HashMap;import java.util.Map;/** * @Description: * @Author Be.insighted * @Date 2022/5/24 16:05 */@Slf4jpublic class HashMapTest { private static final String TAG = "Int
仅用基本类型与String完成除法,不能整除向上保留两位小数 如0.125 ==>0.13再如0.1==>0.10import lombok.extern.slf4j.Slf4j;@Slf4jpublic class TestIntDivide2Float { public static void main(String[] args) { double temp = 0.256983D; String postfix = String.valueOf(temp); if (po..
消息队列之消息可靠消费 RabbitMQ消息生命周期(1)生产者将消息发送给交换机(2)交换机将消息放到绑定的队列里;(3)消费者从队列中获取消息,并进行业务的处理。整个链路可能出现的问题1、生产者发送消息过程出现问题2、RabbitMQ Broker存储消息失败3、消费者消费消息过程出现问题要保证消息可靠消费,需要 (1)确保生产者发送的消息被rabbitmq接收了; (2)确保队列中的消息能够持久化; (3)确保消费者已经把消...
访问限流处理(AOP + 注解) 限流注解/** * 限流注解 * * @author Be.insighted */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface RateLimiter{ /** * 限流key */ public String key() default Constants.RATE_LIMIT_KEY; /** .