客 人
码龄9年
求更新 关注
提问 私信
  • 博客:965,400
    社区:17
    965,417
    总访问量
  • 74
    原创
  • 1,209
    粉丝
  • 19
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2015-12-09
博客简介:

客人

博客描述:
写博客只为学习效率
查看详细资料
个人成就
  • 获得749次点赞
  • 内容获得167次评论
  • 获得1,343次收藏
  • 代码片获得168次分享
  • 博客总排名604,236名
创作历程
  • 9篇
    2023年
  • 1篇
    2021年
  • 32篇
    2020年
  • 1篇
    2019年
  • 279篇
    2018年
  • 89篇
    2017年
成就勋章
TA的专栏
  • 面试
    75篇
  • 笔记
    30篇
  • spring
    10篇
  • spring-mvc
    5篇
  • spring-security
    6篇
  • oracle
    20篇
  • kettle
    1篇
  • mysql
    20篇
  • Intellij Idea
    3篇
  • mybatis
    8篇
  • maven
    11篇
  • ant
    2篇
  • 标签库
    3篇
  • log4j
    3篇
  • js
    3篇
  • 代码管理器
    6篇
  • java编程
    25篇
  • swagger
    2篇
  • shiro
    3篇
  • 数据源
    4篇
  • 加密、解密
    8篇
  • 定时器
    2篇
  • json
    2篇
  • web缓存
    5篇
  • 工具类
    3篇
  • angularjs
    2篇
  • Restful
    2篇
  • bootstrap
    2篇
  • webservice
    2篇
  • websocket
    3篇
  • window常用命令
    3篇
  • 网络基础
    4篇
  • 网络安全
    5篇
  • 网络协议
    18篇
  • 设计模式
    5篇
  • 序列化
    4篇
  • jdk
    2篇
  • springboot
    7篇
  • linux
    27篇
  • 分布式
    7篇
  • 多线程
    23篇
  • 高并发
    3篇
  • JVM
    18篇
  • 系统命令
    6篇
  • spring cloud
    7篇
  • 服务器
    5篇
  • Rocketmq
    2篇
  • RabbitMQ
    8篇
  • kafka
    11篇
  • zookeeper
    6篇
  • dubbo
    14篇
  • hessian
    3篇
  • 文件系统
    3篇
  • Netty
    10篇
  • docker
    1篇
  • nginx
    11篇
  • mycat
    6篇
  • Zabbix
    3篇
  • redis
    15篇
  • memcache
    3篇
  • 算法和数据结构
    10篇
  • MongoDB
    7篇
  • ElasticSearch
    13篇
  • solr
    2篇
  • Hadoop大数据
    12篇
  • spark
    7篇
  • storm
    3篇
  • flume
    2篇
  • pathon
    1篇
  • scala
    2篇
  • 阿里云
    1篇
  • 数据挖掘、机器学习
    2篇
  • 人工智能(AI)
    2篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 45

TA参与的活动 0

创作活动更多

王者杯·14天创作挑战营·第2期

这是一个以写作博客为目的的创作活动,旨在鼓励码龄大于4年的博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见https://bbs.csdn.net/topics/619735097 2、文章质量分查询:https://www.csdn.net/qc 我们诚挚邀请你们参加为期14天的创作挑战赛!

78人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

基于RocketMQ分布式事务 - 完整示例

之前我们说到,分布式事务是一个复杂的技术问题。没有通用的解决方案,也缺乏简单高效的手段。不过,如果我们的系统不追求强一致性,那么最常用的还是最终一致性方案。今天,我们就基于RocketMQ来实现消息最终一致性方案的分布式事务。本文代码不只是简单的demo,考虑到一些异常情况、幂等性消费和死信队列等情况,尽量向可靠业务场景靠拢。另外,在最后还有《RocketMQ技术内幕》一书中,关于分布式事务示例代码的错误流程分析,所以篇幅较长,希望大家耐心观看。目前已经完成了订单服务的业务逻辑。
转载
发布博客 2023.08.24 ·
1253 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

分布式事务的四种解决方案

分布式事务指事务的操作位于不同的节点上,需要保证事务的 AICD 特性。
转载
发布博客 2023.08.24 ·
250 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java 什么情况下触发gc java gc触发时机

在发生Minor GC之前,虚拟机会先检查老年代最大可用的连续空间是否大于新生代所有对象的总空间。如果允许,那么会继续检查老年代最大可用的连续空间是否大于历次晋升到老年代对象的平均大小,如果大于则尝试Minor GC(如果尝试失败也会触发Full GC),如果小于则进行Full GC。concurrent mode failure是在执行CMS GC的过程中同时有对象要放入老年代,而此时老年代空间不足造成的(有时候“空间不足”是CMS GC时当前的浮动垃圾过多导致暂时性的空间不足触发Full GC)。
转载
发布博客 2023.08.24 ·
298 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

full gc的触发条件

首先看java堆的模型:新生代 80%的eden区和两个各10%的suvivor区。首先,在程序不断运行过程中新建的对象都在Eden区,当Eden满后,做monir GC,将存活的对象放到Survivor1。当Eden和Survivor1都满后做minor GC放到Survivor2。当Eden和Survivor2都满后再做minor GC,将存活对象放到Survivor1。如此反复。
转载
发布博客 2023.08.24 ·
380 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Java内存分配和回收策略以及MinorGC、MajorGC、FullGC

从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,也叫Young GC。因为Java对象大多具备朝生夕死的特征,所以MinorGC非常频繁,一般回收速度也比较快。一般采用复制算法。Minor GC触发条件Eden区域满了新生对象需要分配到新生代的Eden,当Eden区的内存不够时需要进行MinorGC。
转载
发布博客 2023.08.23 ·
272 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

实战项目中Java heap space错误的解决

新生代的GC(Minor GC):新生代通常存活时间较短基于Copying算法进行回收,所谓Copying算法就是扫描出存活的对象,并复制到一块新的完全未使用的空间中,对应于新生代,就是在Eden和FromSpace或ToSpace之间copy。老年代的GC(Major GC/Full GC):老年代与新生代不同,老年代对象存活的时间比较长、比较稳定,因此采用标记(Mark)算法来进行回收,所谓标记就是扫描出存活的对象,然后再进行回收未被标记的对象,“蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。
转载
发布博客 2023.08.23 ·
941 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

主键索引和普通索引有什么区别

原文链接:https://blog.csdn.net/fly_zhaohy/article/details/104014391。而如果通过非主键索引查询, 需要先搜索k索引树, 找到对应的主键, 然后再到ID索引树搜索一次, 这个过程叫做回表.主键索引也被称为聚簇索引,叶子节点存放的是整行数据;而非主键索引被称为二级索引,叶子节点存放的是主键的值.从图中可以看出, 根据叶子节点内容不同,索引类型分为主键索引和非主键索引.总结, 非主键索引的查询需要多扫描一颗索引树, 效率相对更低.
转载
发布博客 2023.08.23 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mysql,oracle,sql server中的默认事务隔离级别查看,更改

转载自。
转载
发布博客 2023.08.18 ·
151 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Hystrix服务熔断

2 人赞同了该文章​目录收起一、Hystrix服务熔断二、断路器三个重要参数1、快照时间窗2、请求总数阈值3、错误百分比阈值三、Hystrix服务熔断配置1、引入Hystrix依赖2、启动类添加激活注解3、yml4、业务类处理四、Hystrix断路器开启或者关闭的条件Hystrix关键特性:服务降级、服务熔断、服务限流。
转载
发布博客 2023.08.17 ·
337 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis模式对比:主从模式 VS 哨兵sentinel模式 VS Redis cluster模式

推荐观看:十年架构师实战Redis—用Redis实现:秒杀/抢购/排行榜/推荐系统/抽奖系统!从Redis到分布式架构,通过Redis学AKF划分原则、CAP定理!​www.bilibili.com/video/BV1Wt4y1Q7mA模式类型主从模式(redis2.8版本之前的模式)、哨兵sentinel模式(redis2.8及之后的模式)、redis cluster模式(redis3.0版本之后)主从模式原理同Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也
转载
发布博客 2021.08.05 ·
1327 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

RocketMQ事务消费和顺序消费详解

一、RocketMq有3中消息类型1.普通消费2. 顺序消费3.事务消费顺序消费场景在网购的时候,我们需要下单,那么下单需要假如有三个顺序,第一、创建订单 ,第二:订单付款,第三:订单完成。也就是这个三个环节要有顺序,这个订单才有意义。RocketMQ可以保证顺序消费。rocketMq实现顺序消费的原理produce在发送消息的时候,把消息发到同一个队列(queue)中,消费者注册消息监听器为MessageListenerOrderly,这样就可以保证消费端只有一个线程去消费消息.
转载
发布博客 2020.07.12 ·
927 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Rocketmq原理&最佳实践

一、 MQ背景&选型消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势:削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题) 系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死) 提升性能(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统) 蓄流压测(线上有些链路不好压测,可以通过堆积一定量消息再放开来压测)目前主流的MQ主要是Rocketmq、kafka、Rabbitmq,Ro
转载
发布博客 2020.07.12 ·
380 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringCloud面试题及答案

1. 什么是 spring cloud?spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。2. spring cloud 断路器的作用是什么?在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回
转载
发布博客 2020.07.01 ·
840 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

SpringBoot常见的经典面试题

SpringBoot常见的经典面试题最近很多人面试时,简历上都说自己熟悉 Spring Boot, 或者说正在学习Spring Boot,一被面试官问道,都只停留在简单的使用阶段,很多东西都不清楚,下面我整理了一些springboot比较常见的面试题。1、什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重xml的配置,提供了各种启动器,在运行过程中自定配置, 开发者能快
转载
发布博客 2020.06.30 ·
660 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线程池的执行原则及配置参数详解

池是一种非常优秀的设计思想,通过建立池可以有效的利用系统资源,节约系统性能。Java 中的线程池就是一种非常好的实现,从 JDK 1.5 开始 Java 提供了一个线程工厂 Executors 用来生成线程池,通过 Executors 可以方便的生成不同类型的线程池。但是要更好的理解使用线程池,就需要了解线程池的配置参数意义以及线程池的具体工作机制。下面先介绍一下线程池的好处以及创建方式,接着会着重介绍关于线程池的执行原则以及构造方法的参数详解。线程池的好处引用自并发编程网 - ifeve.c.
转载
发布博客 2020.06.12 ·
713 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

二分查找算法

我周围的人几乎都认为二分查找很简单,但事实真的如此吗?二分查找真的很简单吗?并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的:Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky...这句话可以这样理解:思路很简单,细节是魔鬼。本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边
转载
发布博客 2020.06.09 ·
397 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

发现kafka丢消息后的排查

背景: 最近在用kafka做消息中间件,producer从hive中读取消息发送到kafka,后端storm对消息分类发送到elasticsearch建立索引。问题: hive表中总共350万数据,当时整个全量索引结束后发现,最后索引条数总共310万左右。storm日志没有任何错误日志。排查: 首先排查storm consumer的问题,由于发现storm日志没有任何异常,所以第一步基本排除建索引程序的问题。storm 消费kafka用的官方storm-ka...
转载
发布博客 2020.06.09 ·
503 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

加密算法及区别

加密技术常用的加密算法总体可以分为两类:单项加密和双向加密,双向加密又分为对称加密和非对称加密,因此主要分析下面三种加密算法:对称加密算法、非对称加密算法和单项加密算法(Hash算法)。双向加密即明文加密后形成的密文,可以通过逆向算法还原出明文。而单向加密只是对信息进行了摘要计算,不能通过算法逆向生成明文。单向加密技术采用单向散列函数(或称为哈希(Hash)函数/散列函数),可将任意长度的消息散列形成固定长度的散列值(即消息摘要),用于被用户私钥加密后生成数字签名,保证数据的完整性和不可否认
转载
发布博客 2020.06.09 ·
3141 阅读 ·
1 点赞 ·
2 评论 ·
5 收藏

Servlet、Struts2以及SpringMvc中的线程安全

Servlet是单例多线程struts2每次处理一个请求,struts2就会实例化一个对象,这样就不会有线程安全的问题了。Struts2 是线程安全的,当然前提情况是,Action 不交给 spring管理,并且不设置为单例。Spring mvc 线程不安全的原因请求时多线程请求的,但是每次请求过来调用的Controller对象都是一个,而不是一个请求过来就创建一个controller对象原因就在于如果这个controller对象是单例的,那么如果不小心在类中定义了类变量,那么这个类变量是被所
转载
发布博客 2020.06.09 ·
384 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分布式事务

前言最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行CAP的下一阶段的开发工作,不过目前已经告一段落了。接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事务来简单聊一下。数据库事务在说分布式事务之前,我们先从数据库事务说起。 数据库事务可能大家都很熟悉,在开..
转载
发布博客 2020.06.09 ·
216 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多