自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 黑马头条项目详解

黑马头条项目是模拟今日头条开发的项目,总共分为十六章,下面给大家手写总结一下项目内容,希望给小伙伴们解答困惑(从今天开始,会不断更新的哦) 一. 环境搭建二. 平台管理端数据准备三. 用户认证四. 自媒体素材管理五. 自媒体文章发布六. kafka及第三方接口七. 自媒体文章审核八. 分布式任务调度及人工审核九. APP端基本功能展示十. APP端用户行为处理十一. APP端评论系统开发十二. APP端文章搜索十三. 新热文章计算十四. 项目部.

2021-01-22 10:49:12 9774 6

原创 什么是雪花算法,详解雪花算法原理

雪花算法(SnowFlake)雪花算法是Twitter开源的分布式ID生成算法.主要是由64bit的long型生成的全局ID,引入了时间戳和ID保持自增的属性.64bit分为四个部分:第一个部分是1bit, 这不 使用,没有意义;第二个部分是41bit, 组成时间戳;第三个部分是10bit, 工作机器ID,里面分为两个部分,5个bit是的是机房号,代表最多有25即32个机房,5个bit是指机器的ID,代表最多有25个机器,即32个机器 .第四部分是12bit, 代表是同一个毫秒类产生不同的

2021-01-05 19:54:02 25365 5

原创 常见的Java编程思想有哪些

java所给予的语言之一smalltalk的五个特征:1、万物皆为对象2、程序是对象的集合3、每个对象都有自己的由其他对象所构成的存储。4、每个对象都拥有其类型。(每个类最重要的区别于其他类的特性就是“可以发送什么样的消息给它”)5、某一特定类型的所有对象都可以接收同样的消息。对象具有状态(拥有内部数据)、行为(产生行为)和标识(可以和其他对象区分开来)当正在试图开发或理解一个程序设计时,最好的方法之一就是将对象想象为“服务提供者”。目标就是去创建(最好是在现有代码库中寻找)能够提供理想的服务来解决问

2020-12-23 16:25:58 2090 6

原创 什么情况下消息会成为死信

消息成为死信的三种情况:队列消息长度到达限制;消费者拒接消费消息,basicNack/basicReject,并且不把消息重新放入原目标队列 , requeue=false;原队列存在消息过期设置,消息到达超时时间未被消费;...

2020-12-19 20:33:53 795 3

原创 什么是消息补偿机制?

为什么还要消息补偿机制呢? 难道消息还会丢失,没错,系统是在一个复杂的环境,不要想的太简单了,虽然以上的三种方案,基本可以保证消息的高可用不丢失的问题,但是作为有追求的程序员来讲,要绝对保证我的系统的稳定性,有一种危机意识。比如:持久化的消息,保存到硬盘过程中,当前队列节点挂了,存储节点硬盘又坏了,消息丢了,怎么办?产线网络环境太复杂,所以不知数太多,所以要做消息补偿机制 !消息补偿机制需要建立在业务数据库和MQ数据库的基础之上 , 当我们发送消息时 , 需要同时将消息数据保存在数据库中, 两者的状态

2020-12-19 20:30:02 4011 5

原创 如何保证RabbitMQ不被重复消费?

所谓消息的幂等性是指即使收到多次消息,也不会重复消费保障幂等性的核心原理就是记录消费状态消费者在消费 MQ 中的消息时,MQ 已把消息发送给消费者,消费者在给 MQ 返回 ack 时网络中断,故 MQ 未收到确认信息,该条消息会重新发给其他的消费者,或者在网络重连后再次发送给该消费者,但实际上该消费者已成功消费了该条消息,造成消费者消费了重复的消息。所以,MQ 消费者的幂等性问题,主要在于 MQ 的重试机制,因为网络原因或客户端延迟消费导致重复消费。解决幂等性问题的解决方案有很多 , 例如 :

2020-12-19 20:26:02 718 4

转载 如何处理分布式事务?

在项目开发中,经常会需要处理分布式事务。例如数据库分库分表之后,原来在一个单库上的操作可能会跨越多个数据库。系统服务化拆分之后,原来的在一个系统上的操作可能会跨越多个系统。就连我们平时经常使用到的缓存(如redis、memcache等)也可能涉及分布式事务,因为缓存和数据库是两个不同的实体,如何保证数据在缓存和数据库间的一致性也是要重点考虑的。分布式事务就是指事务要处理的资源分别位于分布式系统中的不同节点之上的事务。对于单机系统,通常我们借助数据库实现本地事务,例如下面JDBC代码实现了一个事务:由于在

2020-12-15 18:14:48 546

原创 mybatis中常见面试题有哪些

mybatis中常见的面试题  1. spring和mybatis整合之后为什么一级缓存会失效?一级缓存使用者可以随时使用或者销毁缓存,从SqlSession对象打开时缓存就已经存在。当关闭SqlSession对象缓存就失效。当与spring整合的时候,直接跳过SqlSession对象,无法直接操作到SqlSession对象,spring在操作SqlSession的时候,不知道用户什么时候关闭,所以每调用完一个dao方法就关闭了,所以导致一级缓存失效。如果开启了事务,一级缓存就会生效,因为开启了事务

2020-12-14 11:05:37 99

原创 Mybatis的执行流程

Mybatis的具体执行流程如下:  1. 首先mybatis中xml解析是通过SqlSessionFactoryBuilder.build()方法。2. 初始化mybatis(解析xml文件构建成Configuration对象)并初始化SqlSessionFactory对象在解析xml时会同时根据其中节点做相应的初始化操作  关键节点: settings、typeAliases、mappers3. 通过SqlSesssionFactory.openSession()方法打开一个SqlSess

2020-12-14 11:01:20 3533

原创 缓存技术的应用有哪些?

这次为大家分享及整理一下缓存方面的技术,主要分为三个系列展开:缓存随谈系列之一:数据库缓存缓存随谈系列之二:静态缓存缓存随谈系列之三:动态缓存一、什么是数据库缓存我们知道常见的数据库,比如oracle、mysql等,数据都是存放在磁盘中。虽然在数据库层也做了对应的缓存,但这种数据库层次的缓存一般针对的是查询内容,而且粒度也太小,一般只有表中数据没有变更的时候,数据库对应的cache才发挥了作用。但这并不能减少业务系统对数据库产生的增、删、查、改的庞大IO压力。所以数据库缓存技术在此诞生,实现热点数

2020-12-08 20:01:45 1538

转载 消息队列有哪些应用场景?

面试题为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?面试官心理分析其实面试官主要是想看看:第一,你知不知道你们系统里为什么要用消息队列这个东西?不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架构,他从头到尾都没思考过。没有对自己的架构问过为什么的人,一定是平时没有思考的人,面试官对这类候选人印象通常很不好。因

2020-12-08 19:52:02 374

原创 SSM框架详细流程--Spring+SpringMVC+Mybatis (IDEA)

java学习知识SSM框架–Spring+SpringMVC+Mybatis (IDEA)搭建使用idea创建一个maven项目( 这里演示 的是 web项目)点击 Finish然后开始配置 pom.xml文件(添加各种依赖jar包)先去找 spring 所需的 jar包jar包中心仓库地址:http://mvnrepository.com/找到 Spring Web ( 因为 我这里演示的是一个web项目)把这段 复制到 pom.xml文件中 1 <?xml ver

2020-11-26 20:31:10 212

空空如也

空空如也

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

TA关注的人

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