自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iverson2010112228的专栏

这是一个好地方

  • 博客(50)
  • 资源 (3)
  • 收藏
  • 关注

原创 redis pub/sub原理及实战

目录概念原理订阅发布使用SubscribingReactive APIRedis Cluster概念Redis同样支持消息的发布/订阅(Pub/Sub)模式,这和中间件activemq有些类似。订阅者(Subscriber)可以订阅自己感兴趣的频道(Channel),发布者(Publisher)可以将消息发往指定的频道(Channel),正式通过这种方式,可以将消息的发送者和接收者解耦。另外,由于可以动态的Subscribe和Unsubscribe,也可以提高系统的灵

2021-04-19 20:12:01 2139

原创 布隆过滤器的原理、使用场景和注意事项

目录引题哈希函数BitmapBloomFilter实现原理构建布隆的误差率布隆过滤器实现JVM实现guava实现redis中的布隆过滤器参考引题有50亿个电话号码,现在给你10万个电话号码,如何快速准确的判断出这些号码是否存在?方案A: DB ? ----> 50亿的电话号码,这查询效率 ?方案B: 内存 ? —> 就按1个电话号码8个字节 , 50亿*8字节= 40G 内存…我们业务中就有这种情况,比如redis缓存击穿当集合.

2021-04-19 20:11:02 257

原创 webflux学习分享

目录基础知识lambdastream响应式编程1. 事件驱动2. 实时响应3. 弹性机制响应式流规范(Reactive Streams)reactive stream(响应式流)定义异步非阻塞流量控制基于响应式流的“升级版”的响应式编程ReactorFlux与Mono核心调用过程Servlet3.0WebFlux服务端技术栈响应式Http客户端参考文档基础知识在了解学习webflux之前,需要学习和掌握一些基本知识,

2021-04-19 20:09:09 481

原创 Servlet 3.0详解

目录1,Servlet2,tomcat 和 servlettomcat默认工作模式:tomcat结构Connector和Container的微妙关系Connector架构分析tomcat IO3,servlet 3.01,ServletServlet 是 JavaEE 中的一个规范 只有规范是不行的,要有具体的实现,也就是 Servlet 产品 我们可以通过我们熟悉的 Servlet 规范,来使用 Servlet 产品 通过使用 Servlet 产品,才能.

2021-04-19 20:05:21 1913

翻译 Micrometer: Spring Boot 2‘s new application metrics collector-文章翻译

目录前言Micrometer是什么?开箱即用Micrometer支持什么监控系统?metrics和tracing的区别维度的重要性Meter filters为什么/actuator/metrics端点在Spring Boot 2中发生了变化参考译者注前言今天在学习micometer相关的内容,看到一篇博文,突然想到,可以尝试翻译一下博客。水平有限,就不公开误人子弟了,内部专享。原文链接:https://spring.io/blog/2018/03/16

2021-04-19 19:59:57 369

原创 http浏览器缓存

目录Header字段通用headerRequestHeaderResponseHeader协商缓存:浏览器与服务器合作之下的缓存策略协商缓存的实现:从 Last-Modified 到 EtagCache-ControlRequestHeaderReponseHeaderLast-ModifiedEtagHTTP缓存机制协商缓存阶段总结浏览器刷新正常重新加载强制重新加载参考Header字段通用headerCache..

2021-04-19 19:55:38 150

原创 FeignClient相关整理总结

目录前言FeignClient原理及使用FeignClient对hystrix的支持hystrix两大功能相关配置Hystrix原理介绍主要流程图getFallback()降级逻辑HystrixCommand和HystrixObservableCommandRxJava简单介绍总结hystrix异步方案调用方启用线程池异步参考资料前言之前是想做一个feignClient调用的异步化组件,然后调研后发现feignClient原生已对hystri.

2021-04-19 19:50:32 637

原创 SpringCache源码解析

背景Cache接口CacheManager接口AOP

2019-12-21 09:48:38 151

原创 completableFuture原理及使用

背景Java8函数式编程函数CompleStage接口方法介绍及分类CompletableFuture实现原理及源码优点和缺点参考

2019-12-21 09:41:50 535

原创 Java实现Serializable接口的场景

背景定义java类需要实现Serializable接口的场景为什么REST接口的对象不需要实现Serializable参考文档https://tech.meituan.com/2015/02/26/serialization-vs-deserialization.htmlhttps://blog.csdn.net/bandaoyu/article/details/83312886h...

2019-06-19 20:21:07 416

原创 Slf4j的实现原理

埋坑

2019-06-06 13:27:21 267

原创 DAG有向无环图

/** * 判断是否有环 * https://time.geekbang.org/column/article/76207 * @param graph * @return */ public boolean hasCycle(Map<NodeVO, LinkedList<NodeVO>> graph) { ...

2019-05-28 11:39:11 520

原创 从类加载到JavaSPI

List item

2019-05-16 16:39:00 211

原创 DDD和SOA及微服务

微服务架构有哪些模型?中台、领域驱动设计及微服务之间有着什么样的关系?微服务的边界设计怎么做?怎么做设计和拆分?且看作者为你娓娓道来。借用当下最流行的段子做个开场白。“设计原则千万条,高内聚低耦合第一条,架构设计不规范,开发运维两行泪!”。在分布式架构下,单体应用被拆分为多个微服务,为了保证微服务的单一职责和合理拆分,“高内聚、松耦合”是最宝贵的设计原则。通俗点讲,高内聚就是把...

2019-05-16 15:22:16 1748

原创 分布式系统的一致性探讨

1 背景一致性是一个抽象的、具有多重含义的计算机术语,在不同应用场景下,有不同的定义和含义。在传统的IT时代,一致性通常指强一致性,强一致性通常体现在你中有我、我中有你、浑然一体;而在互联网时代,一致性的含义远远超出了它原有的含义,在我们讨论互联网时代的一致性之前,我们先了解一下互联网时代的特点,互联网时代信息量巨大、需要计算能力巨大,不但对用户响应速度要求快,而且吞吐量指标也要向外扩展(既:...

2019-05-16 15:19:56 175

原创 详解G1垃圾回收器

背景埋坑

2019-05-16 15:02:25 1077

原创 HashMap源码解析

埋坑 这个必须写1,hash方法问:为何扩容是翻倍(乘以2)2,get方法3,put方法问:为什么hash值冲突后,list变为红黑树的节点是8?4,rehash方法

2019-04-14 16:48:06 96

原创 ThreadLocal彻底搞懂

前言线程隔离和线程安全ThreadLocalThreadThreadLocalMap

2019-03-06 14:40:20 1629 1

原创 数据结构中关于树的总结

前言一直对数据结构中的各种树没有分清楚,最近下决心学习总结下来。首先需要了解二叉树,满二叉树,完全二叉树等概念,这些在本文不做赘述。二叉排序树又名二叉搜索树/二叉查找树。它的特性是:若左子树不空,则左子树上所有结点的值均小于它的根结点的值;若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;左、右子树也分别为二叉排序树;二叉查找树的性质对二叉查找树进行中序遍历,即...

2019-02-14 16:33:12 795

原创 程序员必须知道的一些二进制知识

二进制的位操作(java)向左移位向左移位就是在尾部添加一位0即十进制*2,数字翻倍8&lt;&lt;1 = 16//左移向右移位向右移位就是去掉尾部一位。即将数字除以2并求整数商的操作。8&gt;&gt;&gt;2 =2//右移位或二进制按位取“或”8|2=10解释:1000“或”0010=1010=10位与二进制按位取“与”8&amp;2=0解释:1000...

2019-02-01 15:02:04 883

原创 leetcode 24-两两交换链表中的节点

题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1-&gt;2-&gt;3-&gt;4, 你应该返回 2-&gt;1-&gt;4-&gt;3.说明:你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换解析解读:如上图所示,需要交换1,2两个节点。那么分三步走:第一步:修改pre节点的next指向节点2第二步:...

2019-02-01 14:56:44 230

原创 Mysql的binlog知识整理详解

引言作为一个java开发,虽然不必像DBA那样整天和binlog打交道,但是不可避免在工作中经常会听到binlog。以前我只知道binlog是保存了mysql的数据操作命令,用户数据恢复。现在很多架构类似与点评的puma,会使用binlog配合kafka进行数据同步。那么这个binlog到底是什么样的文件,如何起到数据恢复和同步的作用呢?本次进行总结。binlog介绍定义定义一:binl...

2019-01-31 18:05:32 1796

原创 分库分表知识总结

分区表原理分区表是由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们也可以直接访问各个分区,存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层表上各自加上一个相同的索引,从存储引擎的角度来看,底层表和一个普通表没有任何不同,存储引擎也无须知道这是一个普通表还是一个分区表的一部分。弊端事实上,这个方案也不错,它对用户屏...

2019-01-31 11:40:50 231

原创 Redis重要知识点学习记录

这篇文章要解决的问题什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么?redis通讯协议(RESP ),能解释下什么是RESP?有什么特点?Redis 有哪些架构模式?讲讲各自的特点Redis常用命令?使用过Redis分布式锁么,它是怎么实现的?使用过Redis做异步队列么,你是怎么用的?有什么缺点?mySQL里有2000w数据,redi...

2018-10-24 21:23:39 182

转载 Redis集群模式介绍

1.Redis Cluster1.1 Redis 集群方案的演变大规模数据存储系统都会面临的一个问题就是如何横向拓展。当你的数据集越来越大,一主多从的模式已经无法支撑这么大量的数据存储,于是你首先考虑将多个主从模式结合在一起对外提供服务,但是这里有两个问题就是如何实现数据分片的逻辑和在哪里实现这部分逻辑?业界常见的解决方案有两种,一是引入 Proxy 层来向应用端屏蔽身后的集群分布,客户端...

2018-10-24 21:17:21 2038

转载 Redis主从复制介绍

1.什么是主从复制1.1 简介在分布式环境中,数据副本 (Replica) 和复制 (Replication) 作为提升系统可用性和读写性能的有效手段被大量应用系统设计中,Redis 也不例外。Redis 作为单机数据库使用时,适用常见有限且存在单点宕机问题,无法维持高可用。因此 Redis 允许通过 SLAVEOF 命令或者 slaveof 配置项来让一个 Redis server 复制...

2018-10-24 21:15:19 171

转载 Redis持久化介绍

1.RDB &amp; AOF 简介Redis 提供了两种持久化策略 RDB 持久化机制,会在一段时间内生成指定时间点的数据集快照(snapshot) AOF 持久化机制,记录 server 端收到的每一条写命令,当 server 重启时会进行重放以此来重建之前的数据集。AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加(append)到文件的末尾。 Re...

2018-10-24 21:12:27 137

原创 一次Full GC分析

背景最近开始看gc日志,感觉颇有了解。但苦于手上没有例子来练手,结果昨天下午,受到joy-merchant-service的告警,表示有full gc,虽然这个不是我负责的服务,但是好不容易逮到怎么能不管,于是晚上饭后开始查看问题。![avatar][fullGCpng]解决步骤问题表现我发现该服务线上共四台机器,每台机器在发布的时候都会发生full gc,但是仅限于发布的时候,而且次...

2018-10-11 15:15:08 804

原创 java8 GC日志分析

背景:java version &amp;amp;amp;amp;quot;1.8.0_144&amp;amp;amp;amp;quot;Java(TM) SE Runtime Environment (build 1.8.0_144-b01)Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)jmap查看信息:jmap -heap 56343Attaching to process ID

2018-09-28 16:16:52 3599 1

原创 设计模式学习总结

设计模式学习总结

2018-09-17 15:06:36 134

原创 Redis学习图谱

Redis数据类型

2018-09-13 14:20:04 254

原创 索引总结

索引的分类索引种类https://segmentfault.com/a/1190000010991930下面讲的是常用的BTree索引主键索引主键:一种唯一性索引,必须指定为primary key唯一索引普通索引组合索引多个单列索引与单个多列索引的查询效果不同,因为:执行查询时,MySQL只能使用一个索引,会从多个索引中选择一个限制最为严...

2018-09-11 20:20:17 143

原创 HTTP跨域研究

CORS(Cross-origin resource sharing) “跨域资源共享” 在出现CORS标准之前, 我们还只能通过jsonp(jsonp跨域请求详解)的形式去向“跨源”服务器去发送 XMLHttpRequest 请求,这种方式吃力不讨好,在请求方与接收方都需要做处理,而且请求的方式仅仅局限于GET。所以 ,CORS标准必然是大势所趋,并且市场上绝大多数浏览器都已经支持CO...

2018-09-11 20:19:46 177

原创 数字证书, 数字签名, SSL(TLS) , SASL

密码学1.加密方法可以分为两大类。一类是单钥加密(private key cryptography),还有一类叫做双钥加密(public key cryptography)。前者的加密和解密过程都用同一套密码,后者的加密和解密过程用的是两套密码。历史上,人类传统的加密方法都是前一种,比如二战期间德军用的Enigma电报密码。莫尔斯电码也可以看作是一种私钥加密方法。2.在单钥加密...

2018-09-11 20:10:58 1376

原创 开发设计文档格式

需求背景现在的系统有什么样的问题需要解决,业务上要达到的目标是什么。 技术需求的话主要是目前技术上哪些痛点:是无法灵活支持业务需求变化,还是性能有问题,还是流程上有缺陷等等。 也可以画图表示一下系统现状,现在的服务架构、底层商品模型、流程等。改动点本次项目需要改动哪些地方,是全新做一个交易流程(体验项目预约);还是需要要改到商品模型,导致全流程重做(洗浴改版);还是只需要改 C...

2018-09-11 19:55:05 4093

原创 kafka学习总结

kafka学习总结kafka的结构kafka需要注意并解决的问题

2018-09-11 19:53:21 14668

原创 Mysql数据库事务和锁的关系以及演化

Mysql数据库事务和锁的关系以及演化一直认为事务的隔离基本实现方式就是锁,这次可以总结一下

2018-09-11 19:50:03 299

原创 java8 streams学习笔记

java8 streams API学习流源码得以行成积累

2018-09-11 19:48:55 130

原创 jvm优化总结

jvm优化总结jstat用法jvm参数如何处理各种fullgc

2018-09-11 19:48:42 141

原创 SQL优化总结

SQL优化如何优化索引分页优化分库分表优化

2018-09-11 19:48:32 200

javaweb的struts2银行简易系统

一个银行的简易系统能实现登陆注册,及简单的增删改查,界面还可以

2013-06-27

java周计划展示

这是我学习java第一个星期的收获,和大家分享。。。。

2011-10-16

空空如也

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

TA关注的人

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