自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Cloud Stream消息处理机制学习笔记(二)

消息发布场景:用户信息一般不会发生变化,所以我们把信息放入缓存里,不再每一次都去查库,一旦用户信息发生变化,user_service会发布变更事件给到相关的订阅者并更新缓存信息。

2021-05-24 22:44:20 937

原创 Spring Cloud Stream消息处理机制学习笔记(一)

Spring 家族中三大消息处理相关框架关系图

2021-05-24 22:43:59 570 1

原创 数据结构动态演示网址

https://www.cs.usfca.edu/~galles/visualization/Algorithms.htmlhttp://ds.fmdca380.com/

2021-05-10 11:29:14 263

原创 Eureka的负载均衡Ribbon学习笔记(二)

Netflix Ribbon、Spring Cloud Netflix Ribbon、应用服务这三者之间的关系以及核心入口如下所示:Netflix Ribbon 基本架构作为一款客户端负载均衡工具,要做的事情无非就是两件:第一件事情是获取注册中心中的服务器列表;第二件事情是在这个服务列表中选择一个服务进行调用。针对这两个问题,Netflix Ribbon 提供了自身的一套基本架构,并抽象了一批核心类:Netflix Ribbon 的核心接口 ILoadBalancer 就是围绕着上述两个问题

2021-05-08 13:53:23 340

原创 Eureka的负载均衡Ribbon学习笔记(一)

Ribbon 实现客户端负载均衡的基础:Ribbon通过DiscoveryClient从Eureka上获取注册的服务列表如何使用 DiscoveryClient 获取服务实例信息:获取当前注册到 Eureka 中的服务名称列表 List<String> serviceNames = discoveryClient.getServices(); 服务名称列表可以获取所有自己感兴趣的服务,并进一步获取这些服务的实例信息...

2021-05-06 17:54:35 285

原创 redis 过期键的删除策略

(1)定时删除:在设置键的过期时间的同时,创建一个定时器 timer). 让定时器在键的过期时间来临时,立即执行对键的删除操作。(2)惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键。(3)定期删除:每隔一段时间程序就对数据库进行一次检查,删除里面的过期键。至于要删除多少过期键,以及要检查多少个数据库,则由算法决定。...

2020-05-25 17:31:35 145

原创 如何判断一个对象是否存活

在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器对堆内存进行回收前,都会先判断这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能在被任何途径使用的对象)。一共有两种算法:引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。JVM里面并没有选用引用计数算法来管理内存,主要原因是它很难解决对象之间相互循环引用的问题。可达性分析算法通过一系列的称为“GC Roots”

2020-05-22 16:32:57 232

原创 常见有五个垃圾回收器:

一:串行收集器:(Serial收集器)该收集器最古老、稳定简单是一个单线程的收集器,(stop-the-world)可能会产生长时间的停顿. serial 收集器一定不能用于服务器端。这个收集器类型仅应用于单核CPU桌面电脑。新生代和老年代都会使用serial收集器。新生代使用复制算法(内存分三块的那个复制算法)。老年代使用标记-整理算法。二:并行收集器:(Parallel收集器)parallel收集器使用多线程并行处理GC,因此更快。当有足够大的内存和大量芯数时,parallel收集...

2020-05-22 16:31:03 417

原创 jvm三种内存回收算法

看了大师的讲解记录下心得:这三种算法都是基于GCroot搜索出存活的对象1,标记-清除算法(stop-the-world );运用GCroot根搜索出引用链条上的所有可达对象标记为存活对象;将所有未标记的对象清除,释放出内存;特点:正向思维好理解,空间和时间都不高。内存碎片(因为无用的对象内存不是连续的因此清理后的内存也不是连续的,JVM还要维持一个空闲列表,增加一笔开销,同时在以后内存使用时候,去查找可用的内存这个效率也是很低的)。效率较低两次运算标记存活对象,查找已死对象删除已死对象。2

2020-05-22 16:22:06 832

转载 Logger级别

日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j API (http://jakarta.apache.org/log4j/docs/api/index.html):static Level DEBUGDEBUG Level指出细粒

2015-10-18 20:30:49 340

转载 JavaScript的5种调用函数的方法

这篇文章详细的介绍了Javascript中各种函数调用的方法及其原理,对于理解JavaScript的函数有很大的帮助!JavaScript,调用函数的5种方法   一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的).JavaScript拥有函数式编程的特性, 当我们选

2015-02-26 10:15:20 447

空空如也

空空如也

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

TA关注的人

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