自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Mybatis 中同一个mapper文件方法重载问题引发的生产事故

Mybatis 中同一个mapper文件方法重载问题引发的生产事故生产上遇到的问题问题描述:关于一个数量统计的问题,生产上给客户发送消息,统计发送失败的数量,结果发现发送失败数量往往大于消息数量的几倍甚至几十倍。问题排查:经过各种代码流程,消息触发日志等手段的分析排查,都没什么问题,头发即将掉光的时候,突然发现了更新消息发送失败数量的方法竟然有重载,终于抓住了一线希望,觉得重载似乎和这个问题没多少关系,但是这是唯一的突破点。所以闷着头,本地来一把调式,看看mapper重载的情况下,在加载和方法调用的

2021-11-03 19:25:25 1145 1

原创 ReentrantLock 源码分析总结

ReentrantLock 公平锁,非公平锁在加锁时候区别:非公平锁: 1. 加锁时候,直接上来就cas尝试获取锁; 2. 获取失败,acquire时候,如果同步器状态空闲,不管队列中是否有排队的线程,直接cas操作抢占锁。公平锁: 如果同步器状态空闲,先判断队列中是否含有排队的线程,没有则去抢占锁。非公平锁尝试获取锁代码: static final class NonfairSync extends Sync { final void lock() {

2021-10-21 18:15:10 103

原创 动态规划--硬币最优

三种硬币,2元、5元、7元,每种硬币足够多,买一本书需要27元,用最少的硬币组合package com.fenxiangbuy.scm.xdtools.common.utils;import cn.hutool.core.util.NumberUtil;/** * @Description TODO * @Date 2021/3/23 14:23 * @Created by renchengpeng */public class Test { public static voi

2021-03-23 17:30:09 374

原创 Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?

综上,各种对比之后,有如下建议:一般的业务系统要引入 MQ,最早大家都用 ActiveMQ,但是现在确实大家用的不多了,没经过大规模吞吐量场景的验证,社区也不是很活跃,所以大家还是算了吧,我个人不推荐用这个了;后来大家开始用 RabbitMQ,但是确实 erlang 语言阻止了大量的 Java 工程师去深入研究和掌控它,对公司而言,几乎处于不可控的状态,但是确实人家是开源的,比较稳定的支持,活跃度也高;不过现在确实越来越多的公司会去用 RocketMQ,确实很不错,毕竟是阿里出品,但社区可能有突然黄.

2020-11-24 16:25:39 474

原创 Java中BigDecimal类及8种舍入模式

package com.fenxiang.social.mall.sellerbase;/** * @Description TODO * @Date 2020/10/13 17:03 * @Created by renchengpeng */import java.math.BigDecimal;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class

2020-10-13 17:48:58 203

原创 git 高级命令汇总

批量删除git远程分支命令git branch -r | grep 'release_202006' | sed 's/origin\///g' | xargs -I {} git push origin :{}本地分支设置描述信息git config branch.branch_name.description ‘描述信息’查看本地所有分支描述信息git config branch.branch_name.description查看本地所有分支描述信息git branch | xarg

2020-09-25 11:10:05 204

原创 MYSQL 死锁探究(一)

主键自增,唯一索引表结构:CREATE TABLE account (account_id bigint NOT NULL AUTO_INCREMENT COMMENT ‘主键’,user_id bigint NOT NULL DEFAULT ‘0’ COMMENT ‘用户Id’,balance varchar(255) NOT NULL DEFAULT ‘0.00’ COMMENT ‘余额’,status tinyint NOT NULL DEFAULT ‘1’ COMMENT ‘状态’,c

2020-07-31 14:56:10 413

转载 sharding-jdbc

sharding-jdbchttps://www.jianshu.com/p/1561d08e8cb9

2020-07-29 15:55:39 97

原创 spring-boot中dubbo的配置冲突检测导致dubbo消费者的全局配置不生效

spring-boot中dubbo的配置冲突检测导致dubbo消费者的全局配置不生效首先,大概介绍下dubbo的配置冲突检测----DubboConfigBeanDefinitionConflictProcessor,主要是用来在项目启动时候,去检测项目中是否有多个org.apache.dubbo.config.ApplicationConfig配置。private void resolveU...

2020-01-19 19:11:09 6536 8

原创 dubbo服务发布流程图

2019-08-31 00:22:24 556

转载 spring boot 的配置文件解析大全

转发

2019-08-29 10:11:10 93

原创 spring boot 中mybatis plus的分页方式

spring boot 中mybatis plus的分页方式 ,总结了四种,三种是MP基于xml形式分页,第四种是基于MP的AR模式。service如下:/** * * 功能描述: MP基于xml形式分页--方式1 * * @param: * @return: * @auther: renchengpeng * @date:...

2019-08-16 15:25:20 411

转载 SpringBoot页面展示Thymeleaf

https://www.jianshu.com/p/a842e5b5012e

2019-08-13 09:53:06 107

原创 spring 对@Import注解的处理过程

Springboot对注解的处理都发生在AbstractApplicationContext -> refresh() -> invokeBeanFactoryPostProcessors(beanFactory) -> ConfigurationClassPostProcessor -> postProcessBeanDefinitionRegistry()方法中。(稍...

2019-08-12 16:08:53 1020

原创 SpringBoot ----深入探索SpringApplication执行流程

SpringBoot启动:每个SpringBoot程序都有一个主入口,也就是main方法,main里面调用SpringApplication.run()启动整个spring-boot程序,该方法所在类需要使用@SpringBootApplication注解,以及@ImportResource注解(if need),@SpringBootApplication包括三个注解,功能如下:@Enabl...

2019-08-07 11:21:37 120

原创 SpringBootApplication背后的秘密

@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentS...

2019-08-07 10:58:40 101

原创 @EnableAutoConfiguration解析

大家是否还记得Spring框架提供的各种名字为@Enable开头的Annotation定义?比如@EnableScheduling、@EnableCaching、@EnableMBeanExport等,如:@EnableScheduling是通过@Import将Spring调度框架相关的bean定义都加载到IoC容器。@EnableMBeanExport是通过@Import将JMX相关的be...

2019-08-07 10:55:25 473

原创 @Configuration解析

注解@Configuration对我们来说不陌生,它就是JavaConfig形式的Spring Ioc容器的配置类使用的那个@Configuration, SpringBoot社区推荐使用基于JavaConfig的配置形式,所以,这里的启动类标注了@Configuration之后,本身其实也是一个IoC容器的配置类。举几个简单例子回顾下,XML跟config配置方式的区别:(1)表达形式层面...

2019-08-07 10:27:21 663

原创 DUBBO扩展ExtensionLoader 之接口Wrapper实现剖析

起因,在服务接口的发布过程中,其中invoker会经过协议的导出后生成一个Exporter,如下图:上图代码中的 Exporter<?> exporter = protocol.export(invoker);这句代码里面会涉及到protocol的Wrapper 。其中的protocol是通过dubbo 的SPI机制动态生成的适配类产生的对象。其定义在ServiceConfig类中...

2019-08-01 17:57:55 272

原创 JDK 动态生成的代理对象在调用方法时,为什么总会掉我们实现的InvocationHandler接口里面的invoke方法

JDK 动态生成的代理类 查看在生成代理类前加入System.getProperties().put(“sun.misc.ProxyGenerator.saveGeneratedFiles”,“true”); 设置,即在Proxy.newProxyInstance(getClass().getClassLoader(), new Class[]{SpiTest.class}, new Invo...

2019-07-31 15:53:15 674

原创 springmvc 中关于配置相同url路径深度剖析

问题引入:生产环境查询推荐人列表信息查询不到(无任何报错信息,service中无日志打印,但是数据库中有相关数据)? 排查发现,项目中存在两个相同的(查询推荐人列表信息)url路径!!!!!!!为什么同一个项目中存在相同url路径,项目启动时候却不报错?首先,根据常识,在写一个接口时候,我们会尽量避免不会出现与之前相同的url路径,想着就算出现了相同的url路径,...

2019-07-30 18:28:09 885

转载 源码分析之 Aop 组件概述

https://www.jianshu.com/p/de624a4190c6

2019-07-19 18:14:03 98

转载 JVM--详解类加载机制

转载:https://blog.csdn.net/championhengyi/article/details/78680700Java虚拟机的体系结构前面我们探讨了Class文件的结构,如果你还没有学习,将不利于这部分知识的吸收与掌握,所以请移步:JVM–Class类文件结构(一)学习一个东西之前,我们务必要知道,这东西大概是干什么的,有什么作用。为了更清楚的阐释类加载机制到底是干什么的...

2019-07-18 16:12:27 130 1

原创 spring下的InitializingBean介绍

以SqlSessionFactoryBean 为例;在spring 启动时候,解析完各种BeanDefinition,进行一些bean工厂后置处理器,注册bean后置处理器等等操作后,会对单例的BeanDefinition进行实例化(原生对象和代理对象都在此创建)。创建 SqlSessionFactory bean 中,会调用InitializingBean的afterProper...

2019-07-12 16:50:46 242

原创 手撕Dubbo如何利用spring的扩展生成BeanDefinition(史上最全,结合spring启动)

spring 标签扩展机制抽象类NamespaceHandlerSupport介绍1.在spring中提供了标签扩展的抽象类NamespaceHandlerSupport,而Dubbo 则是在内部自定义了类DubboNamespaceHandler,继承spring 的NamespaceHandlerSupport。DubboNamespaceHandler的类继承关系如下:2. Name...

2019-06-24 18:31:07 831 1

原创 手撕Dubbo SPI机制

ADSFADSFASDFADS杜绝

2019-06-24 16:35:29 144

空空如也

空空如也

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

TA关注的人

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