姜源の云笔记
  • 首页
  • 分类
  • 工具
  • 标签
  • 归档
  • 关于
  • Docsify
  •   

02-@Validated和@Valid用法详解

参考资料:Spring Boot 官网文档 《37. Validation》 参考资料:@Valid 与 @Validated 注解用法详解 1.情景展示SpringBoot,SpringMvc 常用参数校验用法详解 在实际开发过程中,针对前端请求参数的校验是一个不小的工作量。 什么时候需要对请求参数进行校验? 情形1:前后端分离 前后端分离,虽然会提高项目的开发进度,但同样也存在前后端开发人员
2021-11-28
08_框架技术 > 02_Spring > 05_Validation
#Spring #注解 #参数校验

01-MySQL最全优化经验

1. MySQL查询过程 2. 优化工具 3. 解决问题思路3.1 一般应急调优的思路针对突然的业务办理卡顿,无法进行正常的业务处理!需要立马解决的场景! 12345671、show processlist2、explain select id ,name from stu where name='clsn'; # ALL id name age sexselect id,
2021-11-25
16_性能优化 > 02_数据库性能优化
#MySQL #性能优化

03-Redis分布式锁原理

参考资料: Distributed locks with Redis Redisson Distributed locks and synchronizers 一、实现原理1.1 基本原理JDK 原生的锁可以让不同线程之间以互斥的方式来访问共享资源,但如果想要在不同进程之间以互斥的方式来访问共享资源,JDK 原生的锁就无能为力了。此时可以使用 Redis 来实现分布式锁。 Redis 实现分
2021-11-18
15_分布式 > 03_分布式锁
#Redis #架构 #分布式锁

02-Redisson实现分布式锁

关键词基于NIO的Netty框架,生产环境使用分布式锁 redisson加锁:lua脚本加锁(其他客户端自旋) 自动延时机制:启动watch dog,后台线程,每隔10秒检查一下客户端1还持有锁key,会不断的延长锁key的生存时间 可重入锁机制:第二个if判断 ,myLock :{“8743c9c0-0795-4907-87fd-6c719a6b4586:1”:2 } 释放锁:无锁直接返回;有
2021-11-18
15_分布式 > 03_分布式锁
#Redis #架构 #分布式锁 #Redisson

04-Stream实现原理分析

1.Stream 为什么会出现?Stream 出现之前,遍历一个集合最传统的做法大概是用 Iterator,或者 for 循环。这种两种方式都属于外部迭代,然而外部迭代存在着一些问题。 开发者需要自己手写迭代的逻辑,虽然大部分场景迭代逻辑都是每个元素遍历一次。如果存在像排序这样的有状态的中间操作,不得不进行多次迭代。多次迭代会增加临时变量,从而导致内存的浪费。 虽然 Java 5 引入的 fo
2021-10-23
18_源码分析
#微服务 #Stream

07-线程池并行查询

12345678910111213141516171819202122232425262728293031323334353637383940/*** 多线程并行查询*/private IbStatistics parallelQuery(IbStatistics statistics, ... ...) throws InterruptedException { //创建线程池执
2021-10-17
02_编程语言 > 01_Java > 01_JavaSE > 05_并发和锁
#线程池 #JavaSE

16-MySQL解析json字符串

参考资料: https://dev.mysql.com/doc/refman/8.0/en/json.html MySQL 5.7版本以后支持json格式的字段类型定义、存储和使用,最近做BI开发,开发把所需数据用JSON的形式存储在字段中,本次记录下MySQL解析JSON。 一般来说,主要是提取json字段的值,所以update就不写了,提取select json使用的参数是: JSON_E
2021-09-16
05_数据库 > 01_MySQL
#MySQL #JSON

02-注解定制Double精度位数

注解定制Double精度位数12345678910111213141516171819202122232425262728293031323334import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jack
2021-08-22
02_编程语言 > 01_Java > 01_JavaSE > 08_反射机制
#注解 #JavaSE #Double

04-RabbitMQ 高级教程

1. MQ 的相关概念1.1 什么是 MQMQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常 见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不 用依赖其他服务。 1.2 为什么要用 M
2021-08-17
08_框架技术 > 07_RabbitMQ
#RabbitMQ

01-项目研发流程

参考资料: 软件开发成本估算:实用的软件系统开发成本估算法-功能点估算法(含例子).pdf 高效开会的十大原则: 1、凡是会议,必先准备:时间、地点、人员、物料、议程、通知。 2、凡是会议,必先训练:头脑风暴的会议如何开?发布性的会议如何开? 3、凡是会议,必有纪律:迟到、早退、中途退场、玩手机、会议时长、发言时长,怎么处理? 4、凡是会议,必有主题:主题越单一,越明确越好。最好不超过
2021-07-16
12_项目管理 > 06_PMP
#项目管理
…1011121314151617181920…
CSDN GitHub Hexo Fluid
总访问量(PV) 次, 总访客数(UV) 人