吴庆龙的技术轮子

学习的目的是输出。

导航

2021年11月26日 #

Maven入门

摘要: 开发久了,总结一下吧。 一、Maven配置阿里云源 阿里云源文档地址:https://developer.aliyun.com/mvn/guide 编辑 ~/.m2/settings.xml 文件: <settings> <mirror> <id>aliyunmaven</id> <mirrorOf 阅读全文

posted @ 2021-11-26 20:23 蜗牛大师 阅读(20) 评论(0) 推荐(0) 编辑

Gradle入门

摘要: 本人也是初次接触到 Gradle,之前一直用 Maven, 关于 Gradle 的运行原理及概念就不多说了,主要介绍一下,用 Gradle 如何实现 Maven 的各种功能吧。 使用的 Gradle 版本是 7.2。 主要的配置就是 gradle.build 这个文件。 配置文档:https://d 阅读全文

posted @ 2021-11-26 09:56 蜗牛大师 阅读(30) 评论(0) 推荐(0) 编辑

MySQL-(1)体系结构

摘要: MySQL体系结构 它是一个单进程,多线程的数据库。 数据库:物理操作系统文件或其它形式文件类型的集合。 实例:MySQL 数据库由后台线程以及一个共享内存组成,共享内存可以被运行的后台线程所共享,数据库实例才是真正用于操作数据库文件的。 MySQL 数据库的体系结构如下图 需要注意的是 :存储引擎 阅读全文

posted @ 2021-11-26 09:56 蜗牛大师 阅读(10) 评论(0) 推荐(0) 编辑

2021年7月5日 #

垃圾处理器-CMS

摘要: 一、简介 CMS垃圾收集器是一款用于老年代的,使用复制-清除-整理算法的垃圾收集器。 二、GC阶段 1、初始化标记(STW) 暂停应用程序线程,遍历 GC ROOTS 直接可达的对象并将其压入标记栈(mark-stack),标记完之后恢复应用程序线程。 2、并发标记 这个阶段虚拟机会分出若干线程(G 阅读全文

posted @ 2021-07-05 21:34 蜗牛大师 阅读(193) 评论(5) 推荐(0) 编辑

2021年6月28日 #

带你阅读字节码

摘要: 什么是字节码? java bytecode 由单字节(byte)的指令组成,理论上最多支持 256 个操作码(opcode),实际上 Java 只使用了 200 个左右的操作码,还有一些操作码则保留给调试操作。 根据指令的性质,主要分为四大类: 栈操作指令,包括与局部变量交互的指令。 程序流程控制指 阅读全文

posted @ 2021-06-28 20:09 蜗牛大师 阅读(311) 评论(0) 推荐(1) 编辑

2021年4月17日 #

Redis-Hash槽

摘要: Redis 集群并没有直接使用一致性哈希,而是使用了哈希槽 (slot) 的概念,Redis 没有直接使用哈希算法 hash(),而是使用了crc16校验算法。 槽位其实就是一个个的空间的单位。其实哈希槽的本质和一致性哈希算法非常相似,不同点就是对于哈希空间的定义。一致性哈希的空间是一个圆环,节点分 阅读全文

posted @ 2021-04-17 14:33 蜗牛大师 阅读(516) 评论(0) 推荐(0) 编辑

Redis单线程模型

摘要: 1、单线程模型概述 Redis 使用单线程模型来处理各种 socket 事件,所以说 Redis 是单线程的,使用单线程轮训所有 socket 连接,监听所有 socket 发送过的命令,然后对齐进行响应,如果其中一个 socket 的命令执行时间过长,则会导致后续的客户端命令产生堵塞。 2、为什么 阅读全文

posted @ 2021-04-17 14:32 蜗牛大师 阅读(83) 评论(0) 推荐(0) 编辑

缓存的击穿、穿透、雪崩

摘要: 1、缓存击穿 击穿,是从一个孔中击穿过去,意思就是有大量的请求同时请求一个缓存中没有的数据,数据库的压力瞬间暴增。 解决方案: 若缓存数据基本不变,则设置该热点数据永不过期。 使用分布式锁或的方式保证仅有一个请求去请求数据库,然后放入缓存,剩余的请求在锁释放后从缓存中获取。 使用定时任务在缓存过期前 阅读全文

posted @ 2021-04-17 14:31 蜗牛大师 阅读(71) 评论(0) 推荐(0) 编辑

2021年4月7日 #

浅谈RabbitMQ 、Kafka及RocketMQ

摘要: 一、为什么需要消息队列? (1)、不同系统之间的解耦 (2)、削峰 可以保证下游服务的正常运行,不能因为有大量的请求直接把下游服务给搞挂了。 (3)、异步 将非必要业务写入MQ,加快响应速度。 但也要了解引入消息队列导致的问题: (1)、增加了系统的复杂度。比如:如何解决消息的重复消费、消息的丢失以 阅读全文

posted @ 2021-04-07 14:56 蜗牛大师 阅读(980) 评论(0) 推荐(0) 编辑

2021年3月30日 #

关于HashMap的一些思考

摘要: 一、HashMap的负载因子的作用 当 HashMap 中的元素个数(包含链表、红黑树上的元素)达到数组长度的0.75倍的时候,开始扩容。 二、HashMap的负载因子为什么是0.75 主要是为了提高空间利用率和减少查询成本(也可以说是尽可能减少hash冲突)。 三、为什么槽位数必须使用2^n 如果 阅读全文

posted @ 2021-03-30 10:16 蜗牛大师 阅读(631) 评论(0) 推荐(0) 编辑