logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

分布式下如何根据token解析登录用户

使用缓存session的方法,往往只有在登录的时候,才会将session存起来。那么加入后续用户对象更新,那么session的用户信息就不是最新的了,这也是往往我们更改用户信息需要重新登录的原因。

#分布式#java#tomcat
spring事务与分布式事务

spring事务理论事务四大特性A 原子性,事务内写操作要么同时成功,要么同时失败C 一致性 事务中多次读取同一行数据(本事务未修改),结果应是相同的I隔离性 分四种级别,不可重复读(事务间相当于没有隔离),读已提交,可重复读(防不了幻读),串行化D 持久性,事务提交后,所更新内容保证不会丢失如果数据库完整支持这四大特性,那么数据库就完整支持的事务​其中A,D我们一般不用关心,因为我们使用的数据库

#spring#分布式#java
使用lombok注解导致mybatis-plus TypeHandler失效

建立实体其中一个字段为枚举类希望数据库存的时对应的数字为了和数据库进行转换,使用了typeHandler测试发现我们知道,在不开启autoResultMap时,会导致TableField对于查询返回的结果不生效。(对于更新无影响)因此首先检查在实体类注解上(mybatisPlus会根据我们的实体类的类型,为我们自动注入resultMap,注入的resultMap也会自动推断出需要使用的类型转换器当

文章图片
#mybatis#java#开发语言
dubbo 搞懂配置中心、元数据中心

元数据中心其实就是存储生产者或者消费者存放不必要的一些配置选项的地方, 同样可以用于服务治理,但是却减轻了注册中心的压力。

#dubbo#分布式#java
redis Lettuce客户端

与Jedis相比,Lettuce则完全克服了其线程不安全的缺点:Lettuce是一个可伸缩的线程安全的Redis客户端,支持同步、异步和响应式模式。多个线程可以共享一个连接实例,而不必担心多线程并发问题。它基于优秀Netty NIO框架构建,支持Redis的高级功能,如Sentinel,集群,流水线,自动重新连接和Redis数据模型。Jedis在实现上是直接连接的redis server,如果在多

#redis#java#spring boot
mysql死锁介绍以及解决

众所周知,数据库的连接资源是很珍贵的,如果一个连接因为事务阻塞长时间不释放,那么后面新的请求要执行的sql也会排队等待,越积越多,最终会拖垮整个应用。一旦你的应用部署在微服务体系中而又没有做熔断处理,由于整个链路被阻断,那么就会引发雪崩效应,导致很严重的生产事故。

#mysql#java#微服务
记一次堆外内存泄漏排查过程

最近把A,B两个服务合并成了一个服务。合并后上线两天后服务器开始报警,内存满了到服务器上使用top命令查看,jvm进程已经占了11g的内存(指的rss)。其中RSS( Resident Set Size )常驻内存集合大小,表示相应进程在RAM中占用了多少内存,并不包含在SWAP中占用的虚拟内存。即使是在内存中的使用了共享库的内存大小也一并计算在内,包含了完整的在stack和heap中的内存。

文章图片
#java#jvm
更改mysql表结构会锁表吗

举一个简单的例子,如果你在查询一个表的过程中,另外一个session对该表删除了一个列,那前面的查询到底该显示什么呢?如果在RR隔离级别下,事物中再次执行相同的语句还会和之前结果一致吗?答案是否定的,RR隔离级别下,会话A在2次查询期间,会话B对表结构做了修改,两次查询结果就会不一致,无法满足可重复读的要求。为了防止这种情况,所以在5.5.3版本引入了MDL锁(表查询开始MySQL会在表上加一个锁

文章图片
#mysql#数据库
MySql主从复制原理

1、什么是主从复制?概念 主从复制是用来建立一个和 主数据库完全一样的数据库环境称为从数据库;主数据库一般是准实时的业务数据库。2、主从复制作用我们来思考如果在企业网站中,后端MYSQL数据库只有一台时候,会有以下问题:1、单点故障服务不可用2、无法处理大量的并发数据请求3、数据丢失所以通过主从复制后,它的优点就很明显1、如果主节点出现故障,那么我们就直接将服务切到从节点,来保证服务立马可用。2、

#mysql#数据库#java
Java中CAS详解

CAS机制是一种数据更新的方式。在具体讲什么是CAS机制之前,我们先来聊下在多线程环境下,对共享变量进行数据更新的两种模式:悲观锁模式和乐观锁模式。悲观锁更新的方式认为:在更新数据的时候大概率会有其他线程去争夺共享资源,所以悲观锁的做法是:第一个获取资源的线程会将资源锁定起来,其他没争夺到资源的线程只能进入阻塞队列,等第一个获取资源的线程释放锁之后,这些线程才能有机会重新争夺资源。synchron

#java#jvm#面试
    共 30 条
  • 1
  • 2
  • 3
  • 请选择