自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码哥字节

公号码哥字节, 技术成长,Java技术栈

  • 博客(197)
  • 资源 (1)
  • 收藏
  • 关注

原创 输入网址按回车,到底发生了什么

详解输入网址点击回车,后台到底发生了什么。透析 HTTP 协议与 TCP 连接之间的千丝万缕的关系。掌握为何是三次握手四次挥手?time_wait 存在的意义是什么?全面图解重点问题,再...

2020-08-31 08:48:48 329

原创 Tomcat 高并发之道原理拆解与性能调优

上帝视角拆解 Tomcat 架构设计,在了解整个组件设计思路之后。我们需要下凡深入了解每个组件的细节实现。从远到近,架构给人以宏观思维,细节展现饱满的美。关注「码哥字节」获取更多硬核,你...

2020-08-17 09:00:00 582 2

原创 Tomcat 架构原理解析到架构设计借鉴

Tomcat 架构原理解析到架构设计借鉴Tomcat 发展这么多年,已经比较成熟稳定。在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说如今就没有必要深入学习它了么?学习它我们又有什么收获呢?静下心来,细细品味经典的开源作品 。提升我们的「内功」,具体来说就是学习大牛们如何设计、架构一个中间件系统,并且让这些经验为我所用。美好的事物往往是整洁而优雅的。但这并不等于简单,而是要将复杂的系统分解成一个个小模块,并且各个模块的职责划分也要清晰

2020-07-06 18:18:49 1040

原创 有了 ReentrantReadWriteLock 读写锁,为何还要引入StampedLock?

有粉丝去面试,跟码哥分享了其中一题面试问题「StampedLock 了解么?有了 ReentrantReadWriteLock 读写锁,为何还要引入StampedLock?」。读者一开始是懵逼的,这个是什么锁?为嘛之前没听过,我只记得基于 AQS 实现的可重入锁、读写锁以及synchronized 锁。今天,码哥从多个角度带你完全攻克这个知识点,让面试官眼前一亮。切入正文......概览在 JDK...

2024-04-15 08:30:54 967

原创 阿里一面:如何将重复性比较高的 String 类型的地址信息从 20GB 降到几百兆?...

这次应该是互联网及软件行业的第三次寒潮,大家在寒潮中一定要继续保持学习,寒潮挺过去以后还是会迎来新的发展机遇。有粉丝去阿里面试,跟码哥分享了其中一题面试问题「如何将重复性比较高的 String 类型的地址信息从 20GB 降到几百兆?」。今天,码哥从多个角度带你完全攻克这个知识点,让面试官眼前一亮。切入正文......莫慌,今天给大家见识一下不一样的 String,从根上拿捏直达 G 点。并且码哥...

2024-04-12 22:51:38 773

原创 腾讯二面:在浏览器地址栏输入 URL 并按下回车键,背后发生了什么?

这次应该是互联网及软件行业的第三次寒潮,大家在寒潮中一定要继续保持学习,寒潮挺过去以后还是会迎来新的发展机遇。有粉丝去腾讯面试,跟码哥分享了其中一题面试问题「在浏览器地址栏输入 URL 并按下回车键,背后发生了什么?」。今天,码哥从多个角度带你完全攻克这个知识点,让面试官眼前一亮。切入正文......输入网址点击回车,后台到底发生了什么。透析 HTTP 协议与 TCP 连接之间的千丝万缕的关系。掌...

2024-04-11 08:30:38 396

原创 被劝退后三月中旬到现在无 offer,问我如何设计一个高性能MySQL 主键,实现海量数据下的高效查询...

在脉脉上有一个热度很高的帖子「硕 1.5,被劝退后三月中旬到现在无 offer,不知道怎么破」。有网友说:「如果能约到面试,说明简历不差,但是 50 场都没有 offer,说明你的面试谈判技巧出现了问题,应该总结一下,及时调整,心态不要崩」。由这个话题为引子,码哥接下来给你分享一个知识点:「如何设计一个高性能MySQL 主键,实现海量数据下的高效查询」。为什么需要主键三个点。数据记录需具有唯一性(...

2024-04-08 08:30:11 964

原创 30+,从互联网降薪来银行,钱少事多绩效垫底,简直是技术自杀

该程序员从互联网降薪来银行,本以为可以凭借自己的技术能力和优势可以在银行 IT 岗位混的风生水起。没想到的是,这简直就是从“代码海”跳进了“政治江湖”,从每天跟 bug 对话,到现在得跟各种“宫斗剧”角色打交道。我这不是自降身价,简直是“技术自杀”,哈哈!以前在互联网,虽然加班多,但至少还能在技术上刷刷存在感,钱也给的多。现在好了,每天就像是在玩一个“上班族版”的《权力的游戏》,谁都想坐上那把“铁...

2024-04-07 08:30:37 511

原创 为什么有 HTTPS?因为 HTTP 不安全!HTTPS 如何实现安全通信?

为什么有 HTTPS?因为 HTTP 不安全! 现在的互联网已经不再是 “田园时代”,“黑暗森林” 已经到来。上网的记录会被轻易截获,网站是否真实也无法验证,黑客可以伪装成银行网站,盗取真实姓名、密码、银行卡等敏感信息,威胁人身安全和财产安全。上网的时候必须步步为营、处处小心,否则就会被不知道埋伏在哪里的黑客所“猎杀”。HTTPS 如何实现安全通信?如何构建出固若金汤的网络城堡?主要涉及的知识点如...

2024-04-03 08:31:12 810

原创 工作多年,如何从 CRUD Boy 转型为分布式系统架构师?解锁分布式系统的艺术:从零开始理解分布式系统架构与设计原理!...

编程是一门艺术,它的魅力在于创造。65 哥已经工作5年了,一直做着简单重复的编程工作,活活熬成了一个只会 CRUD 的打工 boy。65 哥:总是听大佬讲分布式分布式,什么才是分布式系统呢?分布式系统是一个硬件或软件系统分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物...

2024-03-25 08:30:15 1111 1

原创 Kafka Consumer 消费消息和 Rebalance 机制

Kafka ConsumerKafka 有消费组的概念,每个消费者只能消费所分配到的分区的消息,每一个分区只能被一个消费组中的一个消费者所消费,所以同一个消费组中消费者的数量如果超过了分区的数量,将会出现有些消费者分配不到消费的分区。消费组与消费者关系如下图所示:consumer groupKafka Consumer Client 消费消息通常包含以下步骤:配置客户端,创建消费者订阅主题拉去消息...

2024-03-20 08:30:08 449

原创 Kafka Producer 发送消息至 Broker 原理和高性能必备参数设置

点击上方蓝字关注我 Producer 发送消息步骤Kafka producer 的正常生产逻辑包含以下几个步骤:配置生产者客户端参数常见生产者实例。构建待发送的消息。发送消息。关闭生产者实例。Producer 发送消息的过程如下图所示,需要经过拦截器,序列化器和分区器,最终由累加器批量发送至 Broker。producerKafka Producer 生产必备参数bootstr...

2024-03-15 21:06:20 708

原创 kafka 三高架构设计剖析

Kafka 核心问题简单讲下 Kafka 的架构?Kafka 是推模式还是拉模式,推拉的区别是什么?Kafka 如何广播消息?Kafka 的消息是否是有序的?Kafka 是否支持读写分离?Kafka 如何保证数据高可用?Kafka 中 zookeeper 的作用?是否支持事务?分区数是否可以减少?Kafka 架构中的一般概念:架构Producer:生产者,也就是发送消息的一方。生产者负责创建消息,...

2024-03-14 08:30:37 1152

原创 爱意随风起,风止意难平

情不知所起,一往而情深人的这一生,有很多的情不自禁也有很多的不得已而为之缘分会让我们相遇,爱了却不能相守短暂的走完这一程,却不能走完这一生如果你爱上一个不能够永远在一起的人请不要伤害她,不哭也不要跟她闹不管有多么的不舍,多么的痛苦都不要把这份爱转化成灾难不要情绪一上来的时候,就忘了对方所有的好满身刺的扎向对方只顾着说狠话却忘了你们是如何一步一步走到现在的爱情是不讲理的虽然她可能没法给你一个满意的结...

2024-03-11 21:14:42 392

原创 进字节了,Kafka 为什么这么快?

『码哥』的 Redis 系列文章有一篇讲透了 Redis 的性能优化 ——《Redis 核心篇:唯快不破的秘密》。深入地从 IO、线程、数据结构、编码等方面剖析了 Redis “快”的内部秘密。65 哥深受启发,在学习 Kafka 的过程中,发现 Kafka 也是一个性能十分优秀的中间件,遂要求『码哥』讲一讲 Kafka 性能优化方面的知识,所以『码哥』决定将这篇性能方面的博文作为 Kafka 系...

2024-02-26 21:09:38 817

原创 Nginx 核心架构设计和原理

Nginx 核心架构设计和原理Chaya:「码哥元宵节快乐,在我散落的流年里,有你陪伴,我也不曾孤单」。码哥:“祝大家元宵节快乐,升职加薪。”Nginx 是一个免费的、开源的、高性能 Http 服务器和反向代理。Nginx 的架构设计是为了提供高性能、稳定性和可扩展性。以下是 Nginx 的主要架构组件和工作原理:Master 进程:Nginx 的运行始于一个 master 进程,它负责管理所有的...

2024-02-24 20:21:10 872

原创 让人厌恶的管理者是怎样练成的

让人厌恶的管理者是怎样练成的★每个人对事情的判断是片面的,以下内容请勿对号入座。我们都希望在工作中有一个让人信服,能解决问题,互相成长一起吃肉的管理者。或者说自己也在学习如何成为一个能带团队一线「打仗」又能给团队成员提供有意义的指点和帮助的让人信服的领导者。可怕的是,那些想成为卓越的领导者,但又不肯在实践中去思考问题背后的问题是什么。不去探索创新的路径,却在职场中企图找一个捷径,等待别人教你一个现...

2024-02-19 11:11:22 883

原创 IT 经理把项目带崩是因为这几点没做好

分享一个来自码哥工作中遇到的时间紧任务重,对系统不熟悉,没有产品文档,目标就是将原有系统改造成客户本地部署运行的多重困难跨团队协作项目管理差点带崩的经历。通过该经历重点在于给大家分享如何避免项目搞砸,以及一个项目初期、中期、收尾阶段需要做的工作重点和注意事项,如何管理项目规避风险。项目背景项目的目标是将公司 saas 团队的供应链金融系统移植到客户独立部署,主要有以下几个风险和难点。团队内的人包括...

2024-02-18 08:39:30 819

原创 什么是项目管理

什是项目管理项目管理是为实现一个独特的产品或服务而进行的一次性努力。主要过程它主要涉及五个关键过程:启动、计划、执行/控制、收尾。在整个项目运转中,从业务立项到产品规划、需求分析、任务分配以及最终上线,每个阶段都需要仔细控制和推进。项目初期一个项目的发起,经过很多环节才会到达开发这边,在项目启动初期, PM 需要了解这个项目。项目计划阶段项目经理与团队合作制定详细的项目计划。这包括制定工作分解结构...

2024-02-16 13:14:21 323

原创 ChatGPT 生成的新年朋友圈文案让我惊掉下巴

2024 年新年即将到来,携女友以撒狗粮。久逢知己千杯少、在家团聚亲情深,出门旅游好心情……拍了许多照片苦恼朋友圈文案不知道写啥。ChatGPT 担任你朋友圈文案大佬,让你各种文案风格自由切换,十八般武艺装逼满分。撒狗粮携女友撒狗粮那必须有对象相伴,再配合美食和美景。请忽略之前的对话,你是我的微信朋友圈文案助手,我需要你帮我写微信朋友圈文案,要求:<表达我快乐的心情> 图片匹配:&...

2024-02-06 10:50:07 381

原创 Team Leader 究竟要不要写代码?

在互联网行业,程序员常常面临一个重要的抉择:是继续深耕技术,成为一名架构师,还是转型为研发管理者?这个问题涉及到个人职业规划、兴趣爱好以及对未来的期许。今天,码哥跟你将探讨这个问题,并对程序员们提供一些建议,希望能帮助大家更好地理解自己的职业发展路径。不少人的认知里,现在 996 疯狂写代码,好像是为了日后可以不必再写代码。不管是架构师、资深专家,还是研发部门管理者,他们的工作目标主要依据是组内程...

2024-02-05 08:39:19 805

原创 字节二面:Spring Boot Redis 可重入分布式锁实现原理?

我是码哥,可以叫我靓仔。书接上回,码哥上一篇《纠正误区:这才是 SpringBoot Redis 分布式锁的正确实现方式》分享了分布式锁如何从错误到残缺,再到青铜版本的高性能 Redis 分布式锁代码实战,让你一飞冲天。这是我们最常用的分布式锁方案,今天码哥给你来一个进阶。Chaya:「码哥,上次的分布式锁版本虽然好,但是不支持可重入获取锁,还差一点点意思。」Chaya 别急,今日码哥给你带来一个...

2024-01-30 08:39:44 1218

原创 纠正误区:这才是 SpringBoot Redis 分布式锁的正确实现方式

我是码哥,可以叫我靓仔。在说分布式锁之前,我们先说下为什么需要分布式锁。在单机部署的时候,我们可以使用 Java 中提供的 JUC 锁机制避免多线程同时操作一个共享变量产生的安全问题。JUC 锁机制只能保证同一个 JVM 进程中的同一时刻只有一个线程操作共享资源。一个应用部署多个节点,多个进程如果要修改同一个共享资源,为了避免操作乱序导致的并发安全问题,这个时候就需要引入分布式锁,分布式锁就是用来...

2024-01-24 08:50:15 835

原创 写好一篇文章,有哪些好的工具和编排技巧?

我们关注一个公众号,必然是从中收获了一些对自己有价值的东西,而读者的关注和分享点赞又会提高曝光量鼓励作者继续高质量输出。所以,当大家看到一些优质的文章,随手点“在看”对作者而言就是最大的鼓励。直到现在,我的公众号已经输出了136 篇原创文章。如果大家顺着时间线去翻阅我的历史文章,也能体会到随着时间的推移,文章排版和配图越来越让人舒服,风格逐渐成型。语言幽默并用“脏脏的例子”来说明硬核技术知识点,力...

2024-01-21 11:52:55 848

原创 Tomcat 架构设计 25 年后依旧能打!我学到了什么?

点击上方蓝字关注我 你好,我是码哥,可以叫我靓仔。是一个拥抱硬核技术和对象,面向人民币编程的男人。友情提示:阅读本文前需要对 Tomcat 有一个全局架构认识,可先翻阅《Tomcat 架构深度解析》。Tomcat 是 Sun 公司在 1998 年开发的。当时开发 Tomcat 的目标是成为 Sun 公司的 Java Servlet 和 JSP 规范的参考实现。如今已经成为业务开发首选的 W...

2023-12-30 20:58:58 896 1

原创 学透 Redis HyperLogLog,看这篇就够了

我是码哥,拥抱硬核技术和对象,面向人民币编程。公众号设置「星标」,才能收到我的文章推送哦。在移动互联网的业务场景中,数据量很大,系统需要保存这样的信息:一个 key 关联了一个数据集合,同时对这个数据集合做统计做一个报表给运营人员看。比如。统计一个 APP 的日活、月活数。统计一个页面的每天被多少个不同账户访问量(Unique Visitor,UV)。统计用户每天搜索不同词条的个数。统计注册 IP...

2023-09-25 08:30:47 233

原创 Redis Stream 数据结构实现原理真的很强

你好,我是码哥,一个拥抱硬核技术和对象,面向人民币编程的男人,设置星标不迷路。我在【Redis 使用 List 实现消息队列的利与弊】说过使用 List 实现消息队列有很多局限性。没有 ACK 机制。没有类似 Kafka 的 ConsumerGroup 消费组概念。消息堆积。List 是线性结构,查询指定数据需要遍历整个列表。1. 是什么Stream 是 Redis 5.0 版本专门为消息队列设计...

2023-09-13 08:10:50 143

原创 七夕,我对你说的深情告白

程序猿不解风情?!你是否期待一份特别的爱情?!下文的“你”代指你心中的 ta,愿天下有情人终成眷属。亲爱的你,写下这封信,仿佛我们彼此相见,心与心交融。希望当你阅读这段文字时,就像我在你身边一样。在这个浪漫的七夕夜,我想借着星河的灯光,把心中最深情的告白送给你。难道感情需要华丽的辞藻来衬托吗?就算我词不达意,言不由衷,但这些拙劣的句子同样承载着我对你深切的情感。是否需要华丽的言辞来点缀?我支吾其词...

2023-08-22 08:30:34 101

原创 码哥字节 124 篇优秀文章精选

点击上方“码哥字节”,选择“设为星标” ,优质资源及时送达2019 年码哥字节公众号开始营业。四年多来,码哥分享了很多的技术干货内容,如 Kafka、MySQL、魔幻世界十二时辰、分布式数据库、架构设计和编程技巧、Redis、Java 并发编程、设计模式、数据结构与算法、JVM、面试系列等。四年多来,时不时赠送技术书籍给大家。四年多来,从 0 个粉丝关注直到现在的 X 万。至今为止我一共写了 12...

2023-07-20 09:00:17 86

原创 Redis Sorted Set 底层实现原理深度解读与排行榜实战

我是码哥,可以叫我靓仔。今天给大家简单聊聊 Redis Sorted Set 数据类型底层的实现原理和游戏排行榜实战。特别简单,一点也不深入,也就 7 张图,粉丝可放心食用,哈哈哈哈哈~~~~。1. 是什么Sorted Sets 与 Sets 类似,是一种集合类型,集合中不会出现重复的数据(member)。区别在于 Sorted Sets 元素由两部分组成,分别是 member 和 score。m...

2023-07-17 08:30:36 512

原创 深度图解 Redis Hash(散列表)实现原理

1. 是什么Redis Hash(散列表)是一种 field-value pairs(键值对)集合类型,类似于 Python 中的字典、Java 中的 HashMap。一个 field 对应一个 value,你可以通过 field 在 O(1) 时间复杂度查 field 找关联的 field,也可以通过 field 来更新或者删除这个键值对。Redis 的散列表 dict 由数组 + 链表构成,数...

2023-05-29 08:30:23 763

原创 Redis Set 用了 2 种数据结构来存储,到现在才知道

Sets 无序集合,他的功能就好像你熟悉的 Java 中的 HashSet 一样。集合是通过散列表实现的,所以添加、删除、查找元素的时间复杂度是 O(1)。1. 是什么Sets 是 String 类型的无序集合,集合中的元素是唯一的,集合中不会出现重复的数据。Java 的 HashSet 底层是用 HashMap 实现,Sets 的底层数据结构也是用 Hashtable(散列表)实现,散列表的 k...

2023-04-27 08:39:17 729

原创 Redis List 底层三种数据结构原理剖析

1. Redis List 是什么作为 Java 开发者的你,看到这个词并不陌生。在 Java 开发中几乎每天都会使用这个数据结构。Redis 的 List 与 Java 中的 LinkedList 类似,是一种线性的有序结构,可以按照元素被推入列表中的顺序来存储元素,能满足先进先出的需求,这些元素既可以是文字数据,又可以是二进制数据。你可以把他当做队列、栈来使用。2. 修炼心法我叫 Redis,...

2023-03-06 08:39:52 398

原创 码哥字节 124 篇优秀文章精选大集结

点击上方“码哥字节”,选择“设为星标” ,优质资源及时送达2019 年码哥字节公众号开始营业。四年多来,码哥分享了很多的技术干货内容,如 Kafka、MySQL、魔幻世界十二时辰、分布式数据库、架构设计和编程技巧、Redis、Java 并发编程、设计模式、数据结构与算法、JVM、面试系列等。四年多来,时不时赠送技术书籍给大家。四年多来,从 0 个粉丝关注直到现在的 X 万。至今为止我一共写了 12...

2023-02-23 08:40:23 180

原创 图解 Redis String 底层数据结构 SDS 与计数器实战

我是 Redis,给开发者提供了 String(字符串)、Hashes(散列表)、Lists(列表)、Sets(无序集合)、Sorted Sets(可根据范围查询的排序集合)、Bitmap(位图)、HyperLogLog、Geospatial (地理空间)和 Stream(流)等数据类型。接下来我要重点介绍的是,String 数据类型的使用技巧和使用场景,以及String 数据类型底层数据结构原理...

2023-01-09 08:40:37 218

原创 搞定 Redis 数据存储原理,别只会 set、get 了

在上一篇通过源码编译构建出可调式环境之后,想必你想更深入了解我的整体架构。当你熟悉我的整体架构和每个模块,遇到问题才能直击本源,直捣黄龙,一笑破苍穹。我的核心模块如图 1-10。图1-10图 1-10Client 客户端,官方提供了 C 语言开发的客户端,可以发送命令,性能分析和测试等。网络层事件驱动模型,基于 I/O 多路复用,封装了一个短小精悍的高性能 ae 库,全称是 a simple ev...

2022-12-22 08:50:41 133

原创 Redis 7.0 源码调试环境搭建与源码导读技巧

天下武功,无坚不摧,唯快不破!我的名字叫 Redis,全称是 Remote Dictionary Server。有人说,组 CP,除了要了解她外,还要给机会让她了解你。那么,作为开发工程师的你,是否愿意认真阅读此心法抓住机会来了解我,运用到你的系统中提升性能。我遵守 BSD 协议,由意大利人 Salvatore Sanfilippo 使用 C 语言编写的一个基于内存实现的键值型非关系(NoSQL)...

2022-12-05 08:39:42 807

原创 redis.conf 7.0 配置和原理全解,生产王者必备

我是 Redis, 当程序员用指令 ./redis-server /path/to/redis.conf 把我启动的时候,第一个参数必须是redis.conf 文件的路径。这个文件很重要,就好像是你们的 DNA,它能控制我的运行情况,不同的配置会有不同的特性和人生,它掌握我的人生命运,控制着我如何完成高可用、高性能。合理的配置能让我更快、更省内存,并发挥我最大的优势让我更安全运行。以下这些配置大家...

2022-11-07 08:40:23 2281

原创 Redis Cluster 原理说的头头是道,这些配置不懂就是纸上谈兵

Redis Cluster 集群相关配置,使用集群方式的你必须重视和知晓。别嘴上原理说的头头是道,而集群有哪些配置?如何配置让集群快到飞起,实现真正的高可用却一头雾水,通过下面这些配置详解也让你对集群原理更加深刻,告别技术悬浮。关于 Redis Cluster原理请点击《Redis 高可用篇:Cluster 集群能支撑的数据有多大?》cluster-enabled普通的 Redis 实例是不能成...

2022-10-24 08:40:31 633

原创 硬核 | Redis Pub/Sub 发布订阅与宅男有什么关系?

“65 哥,如果你交了个漂亮小姐姐做女朋友,你会通过什么方式将这个消息广而告之给你的微信好友?““那不得拍点女朋友的美照 + 亲密照弄一个九宫格图文消息在朋友圈发布大肆宣传,暴击单身狗。”像这种 65 哥通过朋友圈发布消息,关注 65 哥的好友能收到通知的场景叫做「发布/订阅机制」。今天不聊小姐姐,深入了解下 「Redis 发布/订阅机制」的原理与实战运用。Redis 通过 SUBSCRIBE,U...

2022-08-15 09:06:13 620

freemaker中文帮助文档

中文freemaker帮助文档,规范值得学习

2015-07-17

空空如也

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

TA关注的人

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