自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Mysql MVCC机制详解

Mysql MVCC机制详解什么是 MVCCMVCC (Multiversion Concurrency Control) 中文全程叫多版本并发控制,是现代数据库(包括 MySQL、Oracle、PostgreSQL 等)引擎实现中常用的处理读写冲突的手段,目的在于提高数据库高并发场景下的吞吐性能。如此一来不同的事务在并发过程中,SELECT 操作可以不加锁而是通过 MVCC 机制读取指定的版本历史记录,并通过一些手段保证保证读取的记录值符合事务所处的隔离级别,从而解决并发场景下的读写冲突。举一个并

2021-07-07 16:07:55 403

原创 GC新生代对象晋升到老年代情况总结

Gc新生代对象晋升到老年代情况总结

2022-01-11 17:26:43 336

原创 Mysql每天弹框,Unable to connect to remote host. Catalog download has failed.

最近由于工作的需要安装了 Mysql5.7.17,之后的每天上午十点都会弹出一个命令行窗口,如下:=================== Start Initialization ===================MySQL Installer is running in Community modeInitializing product requirementsLoading product catalogChecking for product packages in the bundl

2022-01-06 09:33:03 2017

转载 源码分析 | Mybatis接口没有实现类为什么可以执行增删改查

源码分析 | Mybatis接口没有实现类为什么可以执行增删改查作者:小傅哥博客:https://bugstack.cn(opens new window)沉淀、分享、成长,让自己和他人都能有所收获!????案例源码:https://github.com/fuzhengwei/itstack-demo-code-mybatis(opens new window)#一、前言介绍MyBatis 是一款非常优秀的持久层框架,相对于IBatis更是精进了不少。与此同时它还提供了很多的扩展点,比如

2021-12-29 11:15:56 299

原创 mac打开应用程序无反应解决方案

系统说明mac版本:macOs mojava 10.14.6mac机器:2015款pro(公司机)错误报告首先放上打开应用程序的crash文件Process: GuGu [1039]Path: /private/var/folders/*/GuGu.app/Contents/MacOS/GuGuIdentifier: com.mogujie.GuGuVersion: ???Cod

2021-06-18 20:28:36 6155 3

原创 Spring源码学习-1.源码环境搭建

第 1 章 为什么学习中间件一、前言在互联网应用开发初期,所有用于支撑系统建设的,框架结构、基础工具、业务逻辑、功能服务包括页面展示等,都是在一个系统中开发完成,最终也只是把系统和数据库部署在同一台服务器上。但随着互联网应用的发展,业务体量逐渐增大,那么原有的系统搭建就很难支撑起现有的业务体量。因此开始陆续出现应用与数据库分离、Nginx 反向代理、缓存组件、分组部署、RPC 分布式应用、网关服务、监控系统等等。在这些系统的架构的演进过程中,不断的出现各类支撑起服务建设升级的系统和中间件。在中间件这

2021-06-18 11:54:03 57

原创 初入seata

大概原理TC 限制全局事务范围TM 发起事务的地方[调用者]seata 版本 1.3nacos 版本 1.1.3官方demo代码:https://github.com/seata/seata-samples/tree/master/seata-spring-boot-starter-samples记录搭建问题Error opening log file ‘xxx/seata/logs/seata_gc.log’: No such file or directory新建文件could no

2020-07-31 21:42:00 546

原创 分布式基础问题

为什么要拆成分布式?为什么要使用Dubbo或者SpringCloud?dubbo工作原理?注册中心挂了还可以通信吗?dubbo支持哪些通信协议和序列化协议?dubbo支持哪些负载均衡、高可用以及动态代理的策略?SPI是啥思想?dubbo的SPI机制是怎么玩的?基于Dubbo如何做服务降级、治理、重试?分布式幂等性如何做?重复扣款问题?分布式接口如何保证顺序性?如何设计一个RPC框架?架构如何考虑?说说zk的适用场景?分布式锁?zk和redis实现的优劣?分布式session处理方案?.

2020-07-25 09:53:42 71

原创 网关理解

网关的作用动态路由灰度发布[设置负载均衡权重,使旧版本权重更低]授权认证性能监控[qps和接口平均性能、接口成功率]日志数据缓存限流熔断技术选型KongZuulnginx+lua优缺点zuul(Servlet、java)优点:java语言开发、可以二次开发缺点:高并发能力不强、基于tomcat部署nginx(nginx+lua、kong)优点:高并发能力强、异步模型缺点:不能二次开发自研(netty)优点:高并发,跟nginx差不多、可以二次开发缺点:需要更

2020-07-25 09:53:15 94

原创 RPC框架-Dubbo和SpringCloud比较

springCloud服务注册中心【Eureka】启动就注册自己服务注册[将自己注册到注册中心]服务发现[拉取注册中心表]流程注册[清空ReadWrite缓存]30S拉取数据[拉取ReadOnly数据],如果ReadWrite是空的则会将注册表的数据同步到ReadWrite和ReadOnlyReadWrite缓存ReadOnly缓存定时任务将ReadWrite缓存中的数据放入ReadOnly30S定时任务检测心跳,如果心跳不正常则会注册表中删除并且ReadWrite清空为什么

2020-07-25 09:52:37 661

原创 LeetCode实战-718.最长重复子数组

题目//给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。 //// //// 示例: //// 输入://A: [1,2,3,2,1]//B: [3,2,1,4,7]//输出:3//解释://长度最长的公共子数组是 [3, 2, 1] 。// //// //// 提示: //// // 1 <= len(A), len(B) <= 1000 // 0 <= A[i], B[i] < 100 // // Rela

2020-07-08 15:12:56 113

原创 LeetCode实战-44.通配符匹配

题目//给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 //// '?' 可以匹配任何单个字符。//'*' 可以匹配任意字符串(包括空字符串)。// //// 两个字符串完全匹配才算匹配成功。 //// 说明: //// // s 可能为空,且只包含从 a-z 的小写字母。 // p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。 // //// 示例 1: //// 输入://s = "aa"//

2020-07-06 09:56:29 113

原创 一文书写redis

redis基于内存的缓存框架redis和memcached的区别redis 支持更多的数据类型redis 原生支持集群redis线程模型redis集群IOredis原理

2020-06-05 19:55:41 148

原创 IDEA 调优参数

使idea更快且不会卡顿!

2020-06-02 10:05:22 556

原创 记一次UAT环境,data类型详情时间戳,列表正常问题

记一次UAT环境,data类型详情时间戳,列表正常问题首先本文配置了该序列化器:https://blog.csdn.net/weixin_38423383/article/details/106241916问题详情界面还是返回的未经处理的时间戳,甚至使用@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”)也不生效,然后开始追踪源码首先从RequestResponseBodyMethodProcessor.handle

2020-05-23 00:04:42 296

原创 解决SpringMVC前端传参统一解决时间和分布式Id过长精度丢失问题

后端返回接受前端Date类型解决后端返回过长Id导致Js中Number类型接收不住发生精度丢失

2020-05-20 18:28:42 610

转载 分析源码,通用配置解决固定类型转换

前言在使用SpringMVC的过程中,大家经常定义一个Controller, 写一个方法,在入参中放上自己定义的Model,然后前端传来一串JSON,就可以被解析为一个Model对象了。但是有时候它的转换策略并不符合自己的期望,比如我们想使用2019-01-26 19:20这样的格式来传输时间,而不是使用默认的2019-01-26T19:20.234Z这样的格式。而springMVC自带jackson处理,jackson又如此强大,使用jackson来自定义序列化策略无疑是最优解。原理分析在Spr

2020-05-20 17:15:30 93

转载 SpringCloud微服务治理——灰度方案之Ribbon解决本地服务污染注册中心问题

SpringCloud微服务治理——灰度方案之Ribbon解决本地服务污染注册中心问题在项目的实际开发中,开发人员本地开发时,不希望本地将整个调用链启动,不想启动多个服务,渴望接入测试环境,既能依赖测试环境的上游服务,同时并不希望自己会影响到下游服务。思路为了解决整个问题,我们发现开发环境的本地微服务(例如IP地址为172.16.0.8)已经注册到测试环境的服务注册发现中心,那么可以在配置中心维护一个黑/白名单的IP地址过滤(支持全局和局部的过滤)的规则,该本地微服务就不会被其他测试环境的微服务所调用

2020-05-20 17:08:49 1334 1

原创 一文告诉你策略模式(设计模式学习)

策略模式定义一个算法家族,分别封装,让他们互相之间替换,解决if…else和switch语句策略模式优缺点优点:上下文和具体策略是松耦合关系缺点: 1. 客户端必须知道有哪些策略,并且自行决定使用哪种策略2. 增加许多类,增加维护难度spring中的使用策略模式方式一:使用注解详见代码strategy模块 com.su.example.annotation.demo支付注解-只要有这个注解则代表他是该策略@Target({ElementType.TYPE})@Retention(Ret

2020-05-14 19:20:59 166

原创 一文告诉你代理模式(设计模式学习)

代理模式JDK动态代理实现原理拿到被代理类的引用,并且获取它的所有接口(反射获取)JDK Proxy类重新生成一个类,实现被代理类所有接口方法动态生成JAVA代码,把增强逻辑写入新生成的代码中编译、生成新的java类加载并重新运行classcglib代理实现原理生成一个继承了父类的包含所有逻辑的FastClass,调用效率更高无法代理final的方法使用asm框架书写cl...

2020-05-07 22:51:42 109

原创 一文告诉你单例模式(设计模式学习)

单例模式单例模式简介单例模式是一个类绝对只有一个实例,并提供全局访问点,隐藏构造方法,属于创作模式单例模式的应用场景优点: 在内存中只有一个实例,减少内存开销,避免资源占用,全局只有一个访问点,严格控制入口缺点: 没有接口,扩展很困难,想扩展只能改代码,不符合开闭原则反射暴力破解单例模式 LazyStaticClassSingleton instance = Laz...

2020-05-02 20:27:35 138

原创 @NotEmpty,@NotNull,@NotBlank的区别

@NotEmpty :不能为null,且Size>0@NotNull:不能为null,但可以为empty,没有Size的约束@NotBlank:只用于String,不能为null且trim()之后size>0

2020-04-27 14:55:00 71

原创 数据库相关

当前正在执行的事务 SELECT * FROM information_schema.INNODB_TRX查看正在执行的SQL show full processlist杀掉某个执行中的SQL kill $id删除数据库 DROP DATABASE $name删除数据表 DROP TABLE...

2018-08-29 11:46:32 117

原创 ubantu安装环境

ubantu安装环境ubantu安装环境JDKMYSQLNGINX配置解释本次常用linux命令JDK下载JDK解压 配置环境变量vi ~/.bashrc_profile export JAVA_HOME=/var/local/jdk1.8.0_171export PATH=/bin:/usr/local/sbin:/usr/local...

2018-08-29 11:35:44 311

原创 微服务SpringCloud跨域问题

微服务SpringCloud跨域问题一.SpringCloud Web端暴露服务跨域解决方案public class MyWebAppConfigurer implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registr...

2018-08-22 15:23:53 1331

动态规划思考方向.png

动态规划思路图,思路大致解决198、213、337、343、416、474、494、322、518、121、122、123、188、309、714、300、1143、10、72、44、120、53、5、1371等。

2020-07-06

gittee github代码树chrome插件

gitee,github 左边显示树节点,如果chrome版本过高则将文件改为.zip 设置为开发者模式导入即可

2019-11-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除