上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 56 下一页
摘要: Redis4.0新增了非常实用的lazy free特性,从根本上解决Big Key(主要指定元素较多集合类型Key)删除的风险。笔者在redis运维中也遇过几次Big Key删除带来可用性和性能故障。本文分为以下几节说明redis lazy free: lazy free的定义 我们为什么需要laz 阅读全文
posted @ 2021-07-05 16:28 郭慕荣 阅读(968) 评论(0) 推荐(0) 编辑
摘要: Redis 大keyRedis使用过程中经常会有各种大key的情况, 比如: 单个简单的key存储的value很大 hash, set,zset,list 中存储过多的元素(以万为单位) 由于redis是单线程运行的,如果一次操作的value很大会对整个redis的响应时间造成负面影响,所以,业务上 阅读全文
posted @ 2021-07-05 15:17 郭慕荣 阅读(9267) 评论(0) 推荐(1) 编辑
摘要: 平时开发中,大家更多的关注的是线程池的创建、任务的提交和执行。往往会忽略线程池的关闭,甚至忘记调用shutdown()方法,导致内存溢出。大多知道需要调用shutdown()关闭线程池,也少研究其真正的关闭过程。首先看源码中的一句注释: A pool that is no longer refere 阅读全文
posted @ 2021-07-04 15:53 郭慕荣 阅读(765) 评论(0) 推荐(0) 编辑
摘要: InheritableThreadLocal使用在《ThreadLocal内存泄露总结》中ThreadLocal有一个问题就是子线程不能继承父线程的变量。那么本篇所分析的InheritableThreadLocal类就是为了解决这个问题诞生的。ThreadLocal问题演示 public stati 阅读全文
posted @ 2021-07-04 15:38 郭慕荣 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 线程池可以把线程复用起来,减少线程创建销毁的时间和资源消耗,提高了程序任务执行的吞吐率。就像线程属于全局使用的资源一样,线程池一般也是全局性,对整个应用进程的线程复用做有效的管理。设计者一般都会把线程池作为类的静态成员或者单例成员,存活于整个进程的生命周期。但是还是例外地看到了类似这样的代码,比如放 阅读全文
posted @ 2021-07-01 20:10 郭慕荣 阅读(1553) 评论(0) 推荐(0) 编辑
摘要: 多线程通讯题目: 昨天看了一家公司的笔试题,问题生产、销售面包问题,题目是这样的:生产者销售面包,但是因为疫情原因,只能一个一个的生产,生产好之后在通知消费者买,题目大意是这样的。其实这就是一道多线程通讯问题,代码如下所示: package com.springboot.study.tests.th 阅读全文
posted @ 2021-07-01 18:08 郭慕荣 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 热Key问题所谓热key问题就是,突然有几十万的请求去访问redis上的某个特定key。那么,这样会造成流量过于集中,达到物理网卡上限,从而导致这台redis的服务器宕机。那接下来这个key的请求,就会直接怼到你的数据库上,导致你的服务不可用。怎么发现热key 方法一:凭借业务经验,进行预估哪些是热 阅读全文
posted @ 2021-07-01 16:18 郭慕荣 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 一般会经历以下几个过程:1、首先,在浏览器地址栏中输入url2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。4、浏览器向服务器发起tcp连接,与浏览器建 阅读全文
posted @ 2021-07-01 13:39 郭慕荣 阅读(3644) 评论(0) 推荐(0) 编辑
摘要: AspectJ原理: AspectJ是一个代码生成工具(Code Generator)。 AspectJ语法就是用来定义代码生成规则的语法。您如果使用过Java Compiler Compiler (JavaCC),您会发现,两者的代码生成规则的理念惊人相似。 AspectJ有自己的语法编译工具,编 阅读全文
posted @ 2021-06-29 16:31 郭慕荣 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 动态代理 JDK动态代理:只能为接口创建动态代理实例,而不能针对类 。 CGLib(Code Generation Library)动态代理:可以为任何类创建织入横切逻辑代理对象,主要是对指定的类生成一个子类,覆盖其中的方法,因为是继承,所以该类或方法最好不要声明成final。 原理对比: JDK动 阅读全文
posted @ 2021-06-29 11:27 郭慕荣 阅读(225) 评论(0) 推荐(0) 编辑
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 56 下一页