自定义博客皮肤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架构师,《java高并发三部曲》《Netty、Zookeeper、Redis高并发实战》《SpringCloud Cloud、Nginx高并发核心编程》作者,精于SpringCloud Cloud、Nginx、Netty、JVM、

  • 博客(449)
  • 资源 (4)
  • 收藏
  • 关注

原创 红黑树( 图解 + 秒懂 + 史上最全)

文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 经典图书:《Java高并发核心编程(卷1)》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领 免费赠送 经典图书:《Java高并发核心编程(卷2)》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领 免费赠送 经典图书:《Nett

2022-05-28 13:31:12 10241 11

原创 分布式事务 (秒懂)

疯狂创客圈 经典图书 : 《Netty Zookeeper Redis 高并发实战》 面试必备 + 面试必备 + 面试必备 【博客园总入口 】疯狂创客圈 经典图书 : 《SpringCloud、Nginx高并发核心编程》 大厂必备 + 大厂必备 + 大厂必备 【博客园总入口 】入大厂+涨工资必备: 高并发【 亿级流量IM实战】 实战系列 【 SpringCloud Nginx秒杀】 实战系列 【博客园总入口 】1 分布式事务(史上最全解读)1.1 ..

2020-11-02 23:05:33 45067 24

原创 Zookeeper 分布式锁 - 图解 - 秒懂

疯狂创客圈 Java 分布式聊天室【 亿级流量】实战系列之 -26【 博客园 总入口 】文章目录写在前面1.1. 分布式锁 简介1.1.1. 图解:公平锁和可重入锁 模型1.1.2. 图解: zookeeper分布式锁的原理1.1.3. 分布式锁的基本流程1.1.4. 加锁的实现1.1.5. 释放锁的实现1.1.1. 分布式锁的应用场景写在最后疯狂创客圈 亿级流量 高并发IM 实战 系...

2019-01-06 22:49:33 69357 34

原创 JAVA死磕系列 疯狂创客圈

无编程不创客,无案例不学习。疯狂创客圈,一大波高手正在交流、学习中!疯狂创客圈 Java 死磕系列: 【博客园 总入口】 QQ群:104131248【Netty 集群 分布式实战 】 实战从0开始,实战 亿万级 流量的 Netty 集群 IM后台 链接:实战Netty集群 社群开源 亿万级实验实战项目 crazyim Netty 原理死磕 系列...

2018-05-05 19:30:02 6359 1

原创 MVCC学习圣经:一文穿透MySQL MVCC,吊打面试官

MVCC机制的全称为,即多版本并发控制。MVCC主要是为了提升数据库并发性能而设计的,其中采用更好的方式处理了读-写并发冲突,做到即使有读写冲突时,可以实现并发执行,从而提升并发能力,确保了任何时刻的读操作都是非阻塞的。在众多的MySQL开源存储引擎中,几乎只有InnoDB实现了MVCC机制,其他的存储引擎如:MyISAM、memory等存储引擎中并未实现MVCC。

2024-04-20 14:15:46 942

原创 字节面试:ThreadLocal内存泄漏,怎么破?什么是 ITL、TTL、FTL?

在Java的多线程并发执行过程中,为保证多个线程对变量的安全访问,可以将变量放到ThreadLocal类型的对象中,使变量在每个线程中都有独立值,不会出现一个线程读取变量时而被另一个线程修改的现象。ThreadLocal类通常被翻译为“线程本地变量” ,或者“线程局部变量ThreadLocal的英文字面翻译为“线程本地”,实质上ThreadLocal代表的是线程本地变量,可能将其命名为会更加容易让人理解。以下来至官网的解释简单翻译如下:此类提供线程局部变量。

2024-04-12 17:09:38 678

原创 得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?

SpringBoot 会根据类路径中的 jar包、类,为 jar 包里的类进行自动配置,这样就可以大大的减少配置的数量。简单点说,就是 SpringBoot 会根据定义在 classpath 下的类,自动给你生成一些 Bean,并且加载到 Spring 的 Context 中。那么,它的原理是什么呢?哪些 Bean 可以自动装配到容器里面呢?其实在 SpringBoot 内部,会读取 classpath 下文件中的所配置的类的全类名。

2024-04-11 11:14:20 1148

原创 得物面试:10wqps高并发,如何防止重复下单?

现在问题来了, 什么是重复下单?用户在下单页面进行下单时,由于用户点击下单按钮 多次 、或者 重试策略 导致在订单服务中接收到了 两次同样 的下单请求。所谓幂等性,就是一次操作和多次操作同一个资源,所产生的影响均与一次操作的影响相同。"幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。

2024-04-03 12:37:02 1382

原创 炸裂:MySQL死锁是什么,如何解决?

死锁是指两个或多个事务在执行过程中,因争夺锁资源而造成的相互等待的现象,若无外力干涉它们都将无法继续执行。通俗来说,就是两个或多个事务在等待对方释放锁,从而造成僵持不下,使得整个系统陷入停滞状态。什么是死锁DeadLock?是指两个或两个以上的进程在执行过程中, 因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。假设有两个事务 A 和 B,它们同时试图获取对方持有的资源,但又都在等待对方释放资源。

2024-03-31 23:28:22 1176 1

原创 手写一个跳表,跪了。。。

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis使用跳跃表作为有序集合键的底层实现之一,如果一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员(member)是比较长的字符串时,Redis就会使用跳跃表来作为有序集合键的底层实现。

2024-03-21 22:40:56 1274

原创 字节面试: Mysql为什么用B+树,不用跳表?

MySQL中的B+Tree 原理B+Tree一般由多个页、多层级组成,在MySQL中每个页 16 KB。主键索引的 B+ 树的叶子结点才是数据,非叶子结点(内节点)存放的是索引信息。上下层的页通过单指针相连。同一层级的相邻的数据页通过双指针相邻。B+Tree的结构B+Tree一个节点是一个page,是一种多叉树结构,每个结点都是一个16k的数据页,能存放较多索引信息。一次IO一个page,大大节省了磁盘IO的操作。B+Tree一个page 能存放较多索引信息 ,所以树的层数比较低,三层。

2024-03-16 12:53:17 1215

原创 滴滴面试:Rocketmq消息0丢失,如何实现?

Broker端的配置,若想很严格的保证Broker存储消息阶段消息不丢失,则需要如下配置# master 节点配置# slave 节点配置上面这个配置含义是:Producer发消息到Broker后,Broker的Master节点先持久化到磁盘中,然后同步数据给Slave节点,Slave节点同步完且落盘完成后才会返回给Producer说消息ok了。严格的消息刷盘机制 + 严格的消息同步机制,能够确保 Broker端保证消息不丢失。

2024-03-14 21:45:43 1333

原创 史上最全:prometheus+alertmanager 实现监控预警

Prometheus中的告警规则允许你基于PromQL表达式定义告警触发条件,Prometheus后端对这些触发规则进行周期性计算,当满足触发条件后则会触发告警通知。默认情况下,用户可以通过Prometheus的Web界面查看这些告警规则以及告警的触发状态。当Promthues与Alertmanager关联之后,可以将告警发送到外部服务如Alertmanager中并通过Alertmanager可以对这些告警进行进一步的处理。回顾一下,时间相关参数参数名称说明默认值参数所属指标数据采集间隔。

2024-03-12 01:12:33 1809

原创 滴滴一面:Keepalived+Nginx高可用,如何实现IP跳跃?(1)

高可用相关的面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典》V175,在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。

2024-03-09 21:32:08 1490

原创 网易面试:JDK1.8将HashMap 头插法 改 尾插法,为何?

HashMap是Java中的一种基于哈希表实现的,它允许我们使用键值对的形式来存储和获取数据。从根本上来说,一个哈希表包含一个数组,但是元素访问不是通过 index 编号的形式(比如 array[i]的形式),而是通过特殊的关键码(也就是key)来访问数组中的元素。存放Value的时候,通过一个哈希函数,通过 **关键码(key)**进行哈希运算得到哈希值,然后得到映射到(map到)的位置, 去存放值 ,读取Value的时候,也是通过同一个哈希函数。

2024-03-08 01:34:38 1360

原创 600万订单每秒Disruptor +SpringBoot,如何解决消息不丢失?

Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍Disruptor。2011年,Disruptor还获得了Oracle官方的Duke大奖。

2024-03-01 21:16:30 1315

原创 阿里面试:最佳线程数,如何确定?

线程相关的面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典》V174,在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。另外,如果没有面试机会,可以找尼恩来帮扶、领路。尼恩已经指导了大量的就业困难的小伙伴上岸,前段时间,帮助一个40岁+就业困难小伙伴拿到了一个年薪100W。

2024-02-26 22:50:31 1620

原创 绝命一问:秒杀Redis分段锁,如何设计?

比如说在一个分布式系统中,存在客户端多个用户,同时通过多个业务微服务,发起一个数据修改。如果没有分布式锁机制保证,在那多台机器上的多个服务可能进行并发修改操作,导致数据修改的不一致,出现脏读脏写,这就会造成问题。而分布式锁机制就是为了解决类似这类问题,保证多个服务之间互斥的访问共享资源,如果一个服务抢占了分布式锁,其他服务没获取到锁,就不进行后续操作。上图中,客户端1的服务抢占了分布式锁,可以去扣减库存。其他服务没获取到分布式锁,就不进行后续操作。

2024-02-26 08:57:30 1766

原创 美团面试:说说Java OOM的三大场景和解决方案?

OOM 全称 “Out Of Memory”,表示内存耗尽。官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector.当 JVM 因为没有足够的内存来为对象分配空间,并且垃圾回收器也已经没有空间可供回收时,就会抛出这个错误。

2024-02-23 22:01:53 1549

原创 得物面试:Kafka消息0丢失,如何实现?

Consumer 程序有个“位移”(/位点)的概念,表示的是这个 Consumer 当前消费到的 Topic Partion分区的位置。下面这张图来自于官网,它清晰地展示了 Consumer 端的位移数据。enable.auto.commit=false 关闭自动提交位移,消息处理完成之后再提交offsetconsumer端需要为每个它要读取的分区保存消费进度,即分区中当前消费消息的位置,该位置称为位移(offset)。

2024-02-22 21:05:11 1701

原创 得物面试:Redis用哈希槽,而不是一致性哈希,为什么?

既然一致性hash那么完美,两大优点:1.既很少的数据迁移,2.又很少数据倾斜。Redis为什么使用哈希槽而不用一致性哈希呢?这个和redis 集群的架构特点有关系, redis 集群的架构特点,主要有两点:1.去中心化,2.方便伸缩 (自动伸缩、手动伸缩都可以)

2024-02-17 23:00:05 2539

原创 亿级推送,得物是怎么架构的?

得物推送监控上线后,带来的收益还是比较可观的,展望未来,后续可以从以下点丰富现有监控。后续将针对各个链路单元的推送异常、漏斗转化率、服务性能等做监控,进一步丰富消息平台的监控体系。后续将对推送的转化率问题进行监控后续将对卸载、屏蔽等指标也是我们需要监控的点,总之,通过对业务指标进行扩展,及时感知推送的效果,做到精细化的管控。推送系统,是一个很黄金的系统。如果写入简历,并且面试的时候能对答如流,如数家珍, 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。

2024-02-15 11:42:51 1721

原创 抛弃Spring Cloud Gateway,得物 使用Netty架构100Wqps网关

API 网关是一种服务器,作为应用程序编程接口 (API) 的入口点,它接收来自外部应用程序的请求,进行处理,并给出恰当的回应。你可以将它看作一个中间件,管理API的访问,并在请求与回应之间进行转换、路由、安全检查等操作。API网关的自研并非一蹴而就,而是经历了多次业务迭代循序渐进的过程;从早期的泛化路由引发的安全问题处理,到后面的大量路由注册,带来的匹配性能下降 ,以及最终压垮老网关最后一根稻草的内存泄漏问题;

2024-02-11 16:27:14 2047

原创 网易面试:请设计一个高可用性的软件架构,说明设计思路

高可用,英文单词High Availability,缩写HA,它是分布式系统架构设计中一个重要的度量。业界通常用多个9来衡量系统的可用性,在尼恩的 经典文章中, 一张图总结架构设计的40个黄金法则 ,给大家介绍了架构的本质:

2024-02-06 08:30:13 1508

原创 阿里面试:Seata如何实现RC?保证事务的隔离性?

以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。很多小伙伴刷完后, 吊打面试官, 大厂横着走。在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。另外,如果没有面试机会,可以找尼恩来改简历、做帮扶。遇到职业难题,找老架构取经, 可以省去太多的折腾,省去太多的弯路。

2024-02-05 09:33:14 950 1

原创 阿里面试:设计一个大并发、大数据的系统架构,说说设计思路

以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。很多小伙伴刷完后, 吊打面试官, 大厂横着走。在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。另外,如果没有面试机会,可以找尼恩来改简历、做帮扶。遇到职业难题,找老架构取经, 可以省去太多的折腾,省去太多的弯路。

2024-02-04 08:53:01 1319

原创 美团面试:Sentinel底层滑动时间窗限流算法怎么实现的?

Java Agent、Instrumentation、arthas 相关的面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。很多小伙伴刷完后, 吊打面试官, 大厂横着走。在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。

2024-02-01 09:16:23 1153

原创 字节面试:微服务一定要DDD,为什么?TDD和DDD有何关系?

DDD 就是这种不可多得的微服务设计和拆分的理论和方法指导。宏观层面: 指导了微服务外部的建模,包括系统和系统之间, 微服务和微服务之间依赖关系的建模。微观层面:指导微服务内部的建模,包括 领域对象建模, 微服服务落地的各层关系的建模。正因为如此,DDD现在非常火爆,有其巨大生产价值、经济价值的, 绝不仅仅是一套概念那么简单。新项目都尽可能结合DDD进行设计建模、工程落地老项目也在使用DDD进行从点到面的改造,以榨取软件的最佳性能。

2024-01-28 20:49:07 838

原创 阿里面试:Sentinel熔断降级,是如何实现的?

Java Agent、Instrumentation、arthas 相关的面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。很多小伙伴刷完后, 吊打面试官, 大厂横着走。在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。

2024-01-25 07:57:13 1020

原创 面试官:什么是泛型擦除、泛型上界、泛型下界、PECS原则?

泛型的本质是 类型参数化,解决类型爆炸的问题。所谓泛型是指将类型参数化,以达到代码复用提高软件开发工作效率的一种数据类型。比如: 如果我们的代码中存在很多的 食物类型, 继承关系如下然后我们要定义一个盘子 plate,注意这个盘子除了 装入食物food之外,还可以装其他的比如 小玩具。(1) 装水果的盘子 FruitPlate(2) 装肉的盘子 MeatPlate(3) 装苹果的盘子 ApplePlate(4) 装香蕉的盘子 BananaPlate.....

2024-01-20 21:25:46 900

原创 最系统的幂等性方案:一锁二判三更新

所谓幂等性,就是一次操作和多次操作同一个资源,所产生的影响均与一次操作的影响相同。"幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。

2024-01-17 21:08:30 1066

原创 一张图总结架构设计的40个黄金法则

“一个优秀的大型互联网系统架构,不是设计出来的,而是不断演进而来的” ,架构的演进,其本质在于技术是服务于业务需求。业务需求是不断变化发展的,而这,天生就注定了技术架构的不断演变,是一种必然的选择。一般来说, 演进的路线是: 单体架构-> 集群架构-> 大型中台化架构

2024-01-14 10:13:30 1558

原创 阿里面试:Arthas原理和使用,大概说说吧?

Arthas 是 Alibaba 开源的 Java 诊断工具,深受开发者喜爱。通常,本地开发环境无法访问生产环境。如果在生产环境中遇到问题,则无法使用 IDE 远程调试。更糟糕的是,在生产环境中调试是不可接受的,因为它会暂停所有线程,导致服务暂停。

2024-01-12 09:23:45 1072

原创 阿里面试:说说Rocketmq推模式、拉模式?

Rocketmq相关的面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页《尼恩Java面试宝典PDF》,里边有大量的大厂真题、面试难题、架构难题。很多小伙伴刷完后, 吊打面试官, 大厂横着走。在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。另外,如果没有面试机会,可以找尼恩来改简历、做帮扶。

2024-01-09 21:27:57 1164

原创 阿里2面:万亿级消息,如何做存储设计?

Discord 的消息存储演进给我们提供了真实案例参考。Discord是一种广受欢迎的聊天和语音通信软件,主要用于游戏社区的交流。Discord 提供了一系列功能,使用户能够创建服务器、加入频道、发送消息、进行语音通话以及分享多媒体内容。本文将详细介绍Discord的功能和编程相关的应用。Discord的核心概念:Discord的核心概念包括服务器、频道、消息和用户。服务器(Server):服务器是Discord的顶层组织单位,类似于一个虚拟社区或组织。用户可以创建自己的服务器,并邀请其他人加入。

2024-01-07 14:48:22 1027

原创 惊呆:RocketMQ顺序消息,是“4把锁”实现的(顺序消费)

一条订单产生的三条消息:订单创建、订单付款、订单完成。上面三消息是有序的,消费时要按照这个顺序依次消费才有意义,但是不同的订单之间这些消息是可以并行消费的。什么是顺序消息?顺序消息是指对于一个指定的 Topic ,消息严格按照先进先出(FIFO)的原则进行消息发布和消费,即先发布的消息先消费,后发布的消息后消费。分区有序消息全局有序消息我们做一个关于顺序消费的总结:通过4把锁的机制,消息队列 messageQueue 的数据都会被消费者实例单线程的执行消费;

2024-01-05 20:52:55 1061

原创 字节面试:DDD架构,如何落地?

为每个子领域定义限界上下文(bounded context),限界上下文是一个清晰定义了领域模型的边界的范围。在限界上下文内,领域模型的概念是一致的,但不同限界上下文之间可以有不同的模型和语言。界限上下文,基本可以对应到 落地层面的 微服务。这就是 DDD 建模和 微服务架构, 能够成为孪生兄弟、 天然统一的原因。具体的方法论和落地实操,请参考 《第34章视频 DDD学习圣经》DDD 战略设计的第一步就是统一语言,也叫通用语言(UBIQUITOUS LANGUAGE),用于定义上下文。

2024-01-02 19:47:30 1238

原创 美团面试:索引的设计规范,你知道哪些?

索引是帮助MySQL高效获取数据的数据结构,注意,是帮助高性能的获取数据。索引好比是一本书的目录,可以直接根据页码找到对应的内容,目的就是为了加快数据库的查询速度。- 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。- 索引是一种能帮助mysql提高了查询效率的数据结构:索引数据结构。

2024-01-01 14:00:55 968

原创 全栈架构:从0开始,Vue的搭建与开发

Vue.js是一套构建用户界面的 “渐进式框架”。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。如果你之前已经习惯了用jQuery操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,你无需手动操作DOM。它通过一些特殊的HTML语法,将DOM和数据绑定起来。一旦你创建了绑定,DOM将和数据保持同步,每当变更了数据,DOM也会相应地更新。

2023-12-31 18:06:19 1095

原创 极兔面试:一台服务器,支持的TCP连接数最大是多少?

TCP相关的面试题,是非常常见的面试题。以上的内容,如果大家能对答如流,如数家珍,基本上 面试官会被你 震惊到、吸引到。最终,让面试官爱到 “不能自已、口水直流”。offer, 也就来了。在面试之前,建议大家系统化的刷一波 5000页 《尼恩Java面试宝典PDF》,并且在刷题过程中,如果有啥问题,大家可以来 找 40岁老架构师尼恩交流。另外,如果没有面试机会,可以找尼恩来帮扶、领路。尼恩指导了大量的就业困难的小伙伴上岸,前段时间帮助一个40岁+就业困难小伙伴,拿到了一个年薪100W的offer。

2023-12-28 17:26:12 1569

Netty 粘包/半包原理与拆包实战 【源代码 新】

- 本实例是《Netty 粘包/半包原理与拆包实战》 一文的源代码工程。 大家好,我是作者尼恩。 在前面的文章中,完成了一个高性能的 Java 聊天程序,尼恩已经再一次的进行了通讯协议的选择。放弃了大家非常熟悉的json 格式,选择了性能更佳的 Protobuf协议。 本实例,解决粘包和半包问题

2018-11-11

Netty 粘包/半包原理与拆包实战 源码

本实例是《Netty 粘包/半包原理与拆包实战》 一文的源代码工程。 大家好,我是作者尼恩。 在前面的文章中,完成了一个高性能的 Java 聊天程序,尼恩已经再一次的进行了通讯协议的选择。放弃了大家非常熟悉的json 格式,选择了性能更佳的 Protobuf协议。 在上一篇文章中,并且完成了Netty 和 Protobuf协议整合实战。具体的文章为: Netty+Protobuf 整合一:实战案例,带源码 并且,专门开出一篇文章,介绍了通讯消息数据包的几条设计准则。具体的文章为: Netty +Protobuf 整合二:protobuf 消息通讯协议设计的几个准则 在开始聊天器实战开发之前,还有一个非常基础的问题,需要解决:这就是通讯的粘包和半包问题。

2018-11-11

netty+protobuf (整合源代码)

来自于疯狂创客圈 《netty+protobuf 整合实战》的源代码,付上了 protobuf 的 protoc 工具, protoc-2.6.1-win32.zip

2018-11-09

spring netty 整合 源代码

疯狂创客圈原创案例: spring netty 整合 源代码 ,一个完整的maven 工程,可以开箱就跑

2018-11-08

空空如也

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

TA关注的人

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