上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 79 下一页
摘要: 平时开发中,大家更多的关注的是线程池的创建、任务的提交和执行。往往会忽略线程池的关闭,甚至忘记调用shutdown()方法,导致内存溢出。大多知道需要调用shutdown()关闭线程池,也少研究其真正的关闭过程。首先看源码中的一句注释: A pool that is no longer refere 阅读全文
posted @ 2021-07-04 15:53 郭慕荣 阅读(923) 评论(0) 推荐(0)
摘要: InheritableThreadLocal使用在《ThreadLocal内存泄露总结》中ThreadLocal有一个问题就是子线程不能继承父线程的变量。那么本篇所分析的InheritableThreadLocal类就是为了解决这个问题诞生的。ThreadLocal问题演示 public stati 阅读全文
posted @ 2021-07-04 15:38 郭慕荣 阅读(361) 评论(0) 推荐(0)
摘要: 线程池可以把线程复用起来,减少线程创建销毁的时间和资源消耗,提高了程序任务执行的吞吐率。就像线程属于全局使用的资源一样,线程池一般也是全局性,对整个应用进程的线程复用做有效的管理。设计者一般都会把线程池作为类的静态成员或者单例成员,存活于整个进程的生命周期。但是还是例外地看到了类似这样的代码,比如放 阅读全文
posted @ 2021-07-01 20:10 郭慕荣 阅读(1725) 评论(0) 推荐(0)
摘要: 多线程通讯题目: 昨天看了一家公司的笔试题,问题生产、销售面包问题,题目是这样的:生产者销售面包,但是因为疫情原因,只能一个一个的生产,生产好之后在通知消费者买,题目大意是这样的。其实这就是一道多线程通讯问题,代码如下所示: package com.springboot.study.tests.th 阅读全文
posted @ 2021-07-01 18:08 郭慕荣 阅读(157) 评论(0) 推荐(0)
摘要: 热Key问题所谓热key问题就是,突然有几十万的请求去访问redis上的某个特定key。那么,这样会造成流量过于集中,达到物理网卡上限,从而导致这台redis的服务器宕机。那接下来这个key的请求,就会直接怼到你的数据库上,导致你的服务不可用。怎么发现热key 方法一:凭借业务经验,进行预估哪些是热 阅读全文
posted @ 2021-07-01 16:18 郭慕荣 阅读(568) 评论(0) 推荐(0)
摘要: 一般会经历以下几个过程:1、首先,在浏览器地址栏中输入url2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。4、浏览器向服务器发起tcp连接,与浏览器建 阅读全文
posted @ 2021-07-01 13:39 郭慕荣 阅读(3691) 评论(0) 推荐(0)
摘要: AspectJ原理: AspectJ是一个代码生成工具(Code Generator)。 AspectJ语法就是用来定义代码生成规则的语法。您如果使用过Java Compiler Compiler (JavaCC),您会发现,两者的代码生成规则的理念惊人相似。 AspectJ有自己的语法编译工具,编 阅读全文
posted @ 2021-06-29 16:31 郭慕荣 阅读(372) 评论(0) 推荐(0)
摘要: 动态代理 JDK动态代理:只能为接口创建动态代理实例,而不能针对类 。 CGLib(Code Generation Library)动态代理:可以为任何类创建织入横切逻辑代理对象,主要是对指定的类生成一个子类,覆盖其中的方法,因为是继承,所以该类或方法最好不要声明成final。 原理对比: JDK动 阅读全文
posted @ 2021-06-29 11:27 郭慕荣 阅读(251) 评论(0) 推荐(0)
摘要: 1、分布式锁目前可能存在的问题(基于redis客户端jedis)加锁: set key value [expiration EX seconds|PX milliseconds] [NX|XX]该加锁方式是从Redis2.8之后便支持这种原子性加锁方式,之前设置setnx和设置过期时间不是原子性的。 阅读全文
posted @ 2021-06-28 15:16 郭慕荣 阅读(742) 评论(0) 推荐(0)
摘要: 一、复习跳跃表1.1 什么是跳跃表对于一个单链表来讲,即便链表中存储的数据是有序的,如果我们要想在其中查找某个数据,也只能从头到尾遍历链表。这样查找效率就会很低,时间复杂度会很高,是 O(n)。 如果我们想要提高其查找效率,可以考虑在链表上建索引的方式。每两个结点提取一个结点到上一级,我们把抽出来的 阅读全文
posted @ 2021-06-28 11:17 郭慕荣 阅读(234) 评论(0) 推荐(0)
上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 79 下一页