
spring后端
文章平均质量分 76
动态一时爽,重构火葬场
这个作者很懒,什么都没留下…
展开
-
Spring事务
事务是通过要么都执行要么都不执行的特性来实现原子性。 在Spring中主要通过@Transactional注解来使用事务,实际实现是通过AOP实现以及需要数据库的支持。 在spring中事务主要通过以下3个进行管理 PlatformTransactionManager:平台事务管理器 TransactionDefinition:事务定义信息(事务隔离级别、传播行为、超时、只读、回滚规则) TransactionStatus:事务运行状态,比如是否新事务、是否可以回滚 Spring为所有平台都提供了接口P原创 2021-09-07 10:32:16 · 134 阅读 · 0 评论 -
java hashmap
结构 hashMap结构是采用了数组+链表的形式,在jdk1.8之后,链表在长度大于8的时候会转变为红黑树。 // 哈希桶数组 Node[] table; // 哈希桶(链表) static class Node<K,V> implements Map.Entry<K,V>{ // hash,key 不可变,用来唯一确定value final int hash; final K key; V value; } 为什么长度大于8之后之后转化原创 2021-06-27 11:56:03 · 187 阅读 · 0 评论 -
Eureka服务注册
为什么服务注册? 服务注册可以帮助所有服务都注册并查找在Eureka这样的服务器上,因此能够很好适应服务地点配置的更改。 Eureka服务注册发现流程 服务注册是从生产者角度来说的,就是服务在启动的时候将信息注册到注册中心,由注册中心进行服务的统一管理。 服务发现则是从消费者角度来说的,就是客户端每隔一段时间去注册中心获取注册表信息。在Eureka中,client是从readOnly缓存中获取数据的,并且通过两个周期之间进行增量更新。 在服务注册之后,一个client发送取消请求或者Eureka Serve原创 2021-06-15 15:44:07 · 235 阅读 · 0 评论 -
Mysql Explain查询性能优化
Mysql提供了EXPLAIN命令,通过对查询语句分析,输出执行详细情况,以供开发人员针对性优化。 EXPLAIN命令输出内容大致如下: EXPLAIN SELECT * FROM user WHERE id =1 \G ************************************************ id: 1 select_type: SIMPLE table: user partitions: NULL type: co原创 2021-02-25 19:43:24 · 284 阅读 · 0 评论 -
Redis 分布式锁
当服务采用集群方式部署的时候,本地锁无法发挥作用,所以需要分布式锁来实现加锁。 实现 Redis主要运用setnx命令进行锁操作 加锁: SETINX key value, 当锁不存在的时候,成功设置锁并返回 解锁: DEL key, 通过删除键值对释放锁,以便其他线程可以通过SETINX来获取锁 锁超时:EXPIRE key timeout, 设置超时时间,以便即使锁没有被及时释放,也可以在一定时间内自动释放,避免资源被永远锁住 Redis使用lua脚本的好处 减少网络开销。可以将多个请求通过脚本形原创 2021-02-22 21:24:00 · 276 阅读 · 0 评论 -
什么是微服务架构summary
本文主要是对知乎问题什么是微服务架构老刘回答写的一个简练的总结。 什么是微服务架构summary 竞争压力下,更多的促销、更多的渠道、更个性化的推荐 之前的database+(web,app)service结构– 业务逻辑 1.1 网站、app有很多重复的业务逻辑 1.2 单个应用为了给其他应用提供接口变得越来越大,应用边界模糊,功能归属混乱 数据库 2.1 表结构被多个应用依赖,很难重构、优化 2.2 所有应用都在一个数据库操作,出现性能瓶颈;尤其是数据分析的时候,性能急剧下降 2.3 数据有.原创 2020-10-26 14:31:47 · 165 阅读 · 0 评论 -
spring boot redis->线程池->消息队列->线程池
spring boot redis->线程池->消息队列->线程池 好久没写博客,看起来这个习惯还是很难轻易养成啊! 为了适配我在网上找的一个前端项目的数据格式,我给我原本的model 类Post的属性String imgUrl改为了List imgUrls,按照常规思路,肯定就是新建一个表来存储imgUrlds,不过这很不优雅不是吗?想我当初为什么弃更强大的xml不用,偏要用注解来select数据,不就是因为注解更优雅吗?可是我弄了这个,不是反倒更不优雅。 所以怎么办呢?我想到了re原创 2020-10-23 11:05:21 · 1357 阅读 · 2 评论