计算机
文章平均质量分 92
程序员cxuan
个人微信号【lx252279279】 一起学习,交流。
展开
-
我的网站上线了!
最近有段时间没有写原创文章了,恰好这两天正在翻阅历史文章的时候,发现文章中的图片竟然裂了?顿时冒了一身冷汗,因为每逢遇到这种情况,动辄需要花费一周的时间迁移图片。。。。。。原创 2023-02-06 08:44:02 · 6514 阅读 · 2 评论 -
认真聊聊 TCP 和 UDP 的区别
写了这么多篇关于 TCP 和 UDP 的文章,还没有好好聊过这两个协议的区别,这篇文章我们就来开诚布公的谈一谈。关于 TCP 和 UDP ,想必大家都看过一张这样的图。有一个小姑娘在对着瓶口慢慢的喝水,下面写着可靠的传输,少女的衣服没有被水浸湿,这张图被称为 TCP。然后又有一个小姑娘在举着水瓶以很快的速度向下倒水,少女的头发凌乱,脸色泛红,衣服也被水浸湿,这张图被称为 UDP。...原创 2022-08-28 15:17:56 · 1828 阅读 · 0 评论 -
通俗易懂的讲讲路由协议
想必我们大家都鼓捣过路由器,路由器可以说是我们日常生活中必不可少的一个装备了,就算你不是程序员,想必你隔壁的七大姑八大姨估计也让你配置过路由器。但是大家有没有想过一个问题,这个路由器是干啥用的?你可能知道这是为终端设备提供 WI-FI 连接上网的一种设备,当我们终端设备连接 WI-FI 后,就可以通过路由器把数据从我的设备传到我想要的地方(其他终端设备),然后实现我想要的东西和内容。这个回答整体上是能说通的,但是这里我就要问你一个问题了。路由器是如何把数据发送给其他路由器的呢?这个问题要回答上来,原创 2022-05-30 08:43:01 · 9412 阅读 · 2 评论 -
写一篇通俗易懂的 DNS
试想一个问题,我们人类可以有多少种识别自己的方式?可以通过身份证来识别,可以通过社保卡号来识别,也可以通过驾驶证来识别,尽管有多种识别方式,但在特定的环境下,某种识别方法会比其他方法更为适合。因特网上的主机和人类一样,可以使用多种方式进行标识。互联网上主机的一种标识方法是使用它的主机名,比如 www.baidu.com、www.google.com 等。这是我们人类习惯的记忆方式,因特网中的主机却不会这么记忆,它们喜欢定长的、有层次结构的 IP 地址。那么路由器如何把 IP 地址解析为我们熟悉的网址呢?这原创 2022-05-27 10:26:51 · 1470 阅读 · 0 评论 -
我爱上了这个网站
上次我们说到银河系狂奔号坠落在一个陌生的星球上,由于飞船撞上山腰,导致船体受损,船员们经过努力后发现他们的飞船无法继续使用,他们渐渐失去了回家的希望,于是不得不在这个陌生的星球先安家。偶然的机会,飞机导航员艾莉发现了星球上存在着很多野生机器人,他们能够帮助清理岩石,继而把飞机救出来,不过他们太原始了,无法直接操作,他们必须编写一些程序指令来操作他们,于是他们打算培养一个最有前途的叫阿米戈的机器人,通过编写 Java 程序来帮助船员们回家。这个阿米戈就是屏幕中的你,所以靠你来救他们了,朋友!刚开始第一章是原创 2022-05-25 11:08:19 · 9887 阅读 · 8 评论 -
一款 API 测试神器,非常强
做开发已经四年有余了,之前在接口测试的时候最开始用的自己写的测试类进行测试,后来接触到了 postman 和 swagger ,虽然用起来比自己写的强太多了,但是总觉得差点事儿。一方面是 postman 需要花钱才能有一些高阶功能,另一方面 postman 毕竟还是老外的,很多英文单词以及英文上的习惯,还是不太符合咱们国内的情况。所以一直没有找到一款真正好用的接口测试工具,所以一直希望能有一款国产化的接口测试工具。而且基本上国内的大部分项目都是增删改查,我相信大部分阅读本文的你,以及正在写本文的我,都每原创 2022-05-17 08:42:51 · 1388 阅读 · 0 评论 -
做点实事吧。
裁员、经济下行、互联网寒冬充斥着 2022 年,让每个人心中蒙上一层阴影,每个人都很难。不过,今天我想要鼓励一下你,疫情总会过去,寒冬也总会过去,现在我们应该做的就是,积蓄能量,厚积薄发。最近这几年程序员是最热门的行业,没有之一,太多的程序员涌入这个行业,看似繁花盛开,实则落叶渐凋零,因为但凡遇到一些复杂的问题,却一个人都不能打,我们都在向"钱"看,聊跳槽,谈 Base,玩内卷,却不曾有许多程序员思考如何把自己的项目做好,如何捍卫自己的心血,面对自己辛苦写完的代码,我们却连一个 @Author 都不愿意写原创 2022-05-16 11:12:03 · 1073 阅读 · 0 评论 -
原来汇编中的循环是这么玩儿的
汇编系列其实也在一直更新,只不过更新的频率会挺慢的。。。由于白天一直忙于工作,空闲时间还要看书、学习各种技术栈,早上也要抽时间早期健身,晚上回家还要陪家人 + 学习,时间安排的满满当当,所以我就慢慢写,各位读者也别太着急,我其实真想再分一个自己出来。之前的文章中介绍过 [0] 表示的是内存单元,它一般存储在 ds 寄存器中,偏移地址为 0 。比如下面的指令mov ax,[0]就是将一个内存单元的内容送入 ax,这个内存单元的长度为 2 个字节,正好存放一个字型数据,偏移地址为 0 ,段地址在 ds原创 2022-04-25 11:16:57 · 1487 阅读 · 3 评论 -
计算机网络基础知识总结,就这一篇了
如果说计算机把我们从工业时代带到了信息时代,那么计算机网络就可以说把我们带到了网络时代。随着使用计算机人数的不断增加,计算机也经历了一系列的快速发展,从大型通用计算机 -> 超级计算机 -> 小型机 -> 个人电脑 -> 工作站 -> 便携式电脑 -> 智能手机终端等都是这一过程的产物。计算机网络也逐渐从独立模式演变为了网络互联模式。独立模式:计算机在联网前都可以认为是独立模式,俗称单机模式,此时的计算机不会与其他计算机通信。图 1-1如图 1-1 可以看到,原创 2022-04-18 19:41:31 · 16253 阅读 · 3 评论 -
给大家送 10 本书,人人都有机会。
我今天收到了一个快递。。。。。。打开一看,惊喜满满。。。。。。出版社又给我送好东西了!!!为了照顾不同年龄段和不同读者的喜好,此篇文章对这些书的描述分为两个版本,我管他起名:骚话版和正经话版。首先是骚话版:xdm,先不用急着羡慕我,因为你也有机会,谁说的?我说的!@#¥%……&*()我们先来分析一下这几本书都是干啥的好吧(怎么着也得照顾一下没看过的同学不是)首先位于图片左下角,那个画着个杯子的两本书是 《Java核心技术卷一》和《Java核心技术卷二》。xdm,你懂这个图片的意思了转载 2022-04-09 13:13:34 · 1322 阅读 · 4 评论 -
10 分钟讲完 QUIC 协议
建议阅读本文需要搭配作者 HTTP 相关文章食用。历史 HTTP 系列文章:看完这篇HTTP,跟面试官扯皮就没问题了HTTP 2.0 ,有点炸 !这里先来回顾一下 HTTP 的发展过程。首先,我们想要一种能够在网络上获取文档内容的协议,通过一种叫做 GET 请求的方式进行获取,后来这种 GET 请求被写入了官方文档,HTTP/1.0 应运而生。HTTP/1.0 的出现可以说是颠覆性的,它里面涵盖的一些标准我们目前还仍在使用,例如 HTTP header,协议号的概念,不过,这个版本的 HTTP 还有原创 2022-03-21 14:43:29 · 6144 阅读 · 1 评论 -
计算机网络的 166 个核心概念
上回我整理了一下计算机网络中所有的关键概念,很多小伙伴觉得很有帮助,但是有一个需要优化的点就是这些概念不知道出自哪里,所以理解起来像是在云里穿梭,一会儿在聊应用层的概念,一会儿又跑到网络层协议了。针对这种情况,我重新根据不同的章节来进行整理和汇总,这篇文章理解起来,应该会舒服很多了。计算机网络基础概念主机:计算机网络上任何一种能够连接网络的设备都被称为主机或者说是端系统,比如手机、平板电脑、电视、游戏机、汽车等,随着 5G 的到来,将会有越来越多的终端设备接入网络。通信链路:通信链路是由物理链原创 2022-03-17 10:03:56 · 26125 阅读 · 12 评论 -
图文并茂详解 NAT 协议
什么是 NAT 协议我们的计算机要想访问互联网上的信息,就需要一个地址,而且这个地址是大家(其他主机)所认可的,是公共的,这个地址也叫做公有 IP 地址。与之相对的,除了公有 IP 地址外,还有私有 IP 地址,私有 IP 地址就是我们在私有网络中使用的地址,比如局域网或者公司内部的网络。不知道你没有观察过自己家路由器所分配的 IP 地址,当你登上路由器的网关 192.168.1.1 时,在分配的网络下面一般会看到一些 IP 地址,都是 192.168.1.x ,这种地址就是私有 IP 地址。所以现原创 2022-02-23 09:13:12 · 3986 阅读 · 1 评论 -
看完这篇 Linux 权限后,通透了
我们在使用 Linux 的过程中,或多或少都会遇到一些关于使用者和群组的问题,比如最常见的你想要在某个路径下执行某个指令,会经常出现这个错误提示 。permission denied反正我大概率见到这个错误都是在使用 FTP 传输文件的时候,等了半天传输百分比还是零,我说网络这么慢么?怎么都不传输呢?其实我不知道,这是由于权限问题所致。我一般的修复方式是直接赋予 777 权限,或者直接使用 su 管理员登录。。。。。。大家可能不太知道我说的是什么,也有一些大佬可能觉得我这种方式太 low 了,不管原创 2021-12-30 21:22:17 · 8245 阅读 · 4 评论 -
手撕汇编。。。
汇编系列文章已经更新了三篇,每一篇都是笔者用心总结,希望对你有帮助手把手教你汇编 Debug爱了爱了,这篇寄存器讲的有点意思之前的文章我们主要聊了一些基本的汇编指令,并且通过一个名为 Debug 的调试软件,让我们看到了内存中是如何存储指令和数据的,在学习了这些之后,我们就可以了解汇编程序了。程序的执行过程首先通过一个示意图给大家介绍一下程序的执行过程,我们以 C 语言一个简单的 hello.c 程序为例。这就是一个完整的 hello world 程序执行过程,会涉及几个核心组件:预处理器、编原创 2021-12-09 13:10:44 · 7849 阅读 · 4 评论 -
手把手教你汇编 Debug
关于汇编的第一篇文章:爱了爱了,这篇寄存器讲的有点意思Hello大家好,我是程序员cxuan!我们上篇文章了解了一下基本的寄存器,这篇文章我们来进行实际操作一下。原文链接:手把手教你汇编 Debug我们以后将会用到很多 Debug 命令,这里我们先来熟悉一下它们。Debug 是什么Debug 是 Windows / Dos 操作系统提供的一种功能。使用 Debug 能让我们方便查看 CPU 各种寄存器的值、内存情况,方便我们调试指令、跟踪程序的运行过程。接下来我们会用到很多 debug 命令,原创 2021-11-22 10:51:18 · 8566 阅读 · 8 评论 -
C 语言基础,来喽
大家好,我是程序员cxuan!今天给大家一起学习C 语言基础!前言C 语言是一门抽象的、面向过程的语言,C 语言广泛应用于底层开发,C 语言在计算机体系中占据着不可替代的作用,可以说 C 语言是编程的基础,也就是说,不管你学习任何语言,都应该把 C 语言放在首先要学的位置上。下面这张图更好的说明 C 语言的重要性可以看到,C 语言是一种底层语言,是一种系统层级的语言,操作系统就是使用 C 语言来编写的,比如 Windows、Linux、UNIX 。如果说其他语言是光鲜亮丽的外表,那么 C 语言就是灵原创 2021-11-12 12:08:23 · 3195 阅读 · 1 评论 -
沪漂程序媛妹子的一天...
Hey guys,这里是程序员cxuan,欢迎您收看我最新一期的文章。今天给大家带来的是上海女程序媛的一天。原文链接:沪漂程序媛妹子的一天…搬砖⽇记基于客套是中国⼈的交流⽅式,所以,我也先寒暄⼀下:很幸运能被 cxuan 博主邀请来写⼀个程序媛猿的搬砖⽇记。作为⼀枚缺乏浪漫细胞但富有吃货属性的⼯科⼥,我的⽇记,那肯定离不开吃,即使是时间划分,那也得按⼀⽇三餐来(其实是四餐,但是也不知道是身体细胞⽼龄化了还是咋的,以前狂吃不⻓到现在 喝⽔都胖,头⼤~,也不知道评论区能不能给我推荐推荐减肥⽅法。)早饭原创 2021-11-05 10:11:25 · 2472 阅读 · 3 评论 -
程序员避坑指南36条
????????原文链接:几句话,送给程序员如果代码没有经过测试,那么它就不起作用。源代码是你的朋友,确保你会使用它。虽然你编写了一些代码,但并不代表你拥有这些代码,如果团队的成员不得不修改你的代码,请不要生气。不要重复造轮子,现有的轮子或者代码库能够提供帮助,多去搜索。如果你有一些 idea,但是你没有实现过,并不意味着这些 idea 是废话。源代码只是向编译器提示你要做什么,但编译器不一定会这样做(编译器优化)。积极进行代码审查,不要带着自负的情绪进行代码审查。原创 2021-11-03 10:58:49 · 1365 阅读 · 0 评论 -
宏聊了聊宏内核和微内核,并吹了一波 Linux
宏聊了聊宏内核和微内核,并吹了一波 Linux????????点我哟,阅读体验更好!内核是操作系统非常重要的组成部分,同时也是操作系统的核心。内核管理着系统资源,内核向上连接着应用程序,向下连接着硬件,它是应用程序和硬件的桥梁。内核可以进一步的划分,分为宏内核和微内核。宏内核和微内核最大的区别就是,宏内核的用户服务和内核服务都保存在相同的地址空间中,它们都由内核进行统一管理,而微内核的用户服务和内核服务会保存在不同的地址空间中,下图可以很好的解释这一点。其实这里的宏内核翻译过来有点牵强,其实应该原创 2021-11-02 10:27:45 · 1244 阅读 · 0 评论 -
《深入理解计算机系统》到底怎样学?
原文链接 :被 CSAPP 虐了最近两个周末去图书馆刷 CSAPP 完全停不下来啊,这种看不懂却还是强忍着痛苦硬逼着自己去看的感觉,真让我着迷。这本书从真正意义上让我体会到了什么叫做看书五分钟,休息俩小时。不过大家可千万别学我,我相信在坐的各位绝对比我牛批,为什么?因为后面我给你推荐了一款神器,那么首先我们先来介绍一下这本书。这本书总共分成十二个章节,我给你绘制了一个思维导图,比较简单明了。第一章是提纲挈领性质的一章,从一个 hello world 程序来引出 C、引出 UNIX、Linux原创 2021-10-27 09:46:27 · 7714 阅读 · 9 评论 -
图解 HTTP 连接管理
熟悉我的小伙伴都知道,我之前肝了本《HTTP 核心总结》的 PDF,这本 PDF 是取自我 HTTP 系列文章的汇总,然而我写的 HTTP 相关内容都是一年前了,我回头看了一下这本 PDF,虽然内容不少,但是很多内容缺少系统性,看起来不爽,这个有悖于我的初心,所以我打算重新搞一搞 HTTP 协议,HTTP 协议对我们程序员来说太重要了,不管你使用的是哪个语言,HTTP 都是你需要知道的重点。这不是一篇简单介绍 HTTP 基本概念的文章,如果你对 HTTP 基本概念不是很熟悉,推荐你去读 cxuan 写的关原创 2021-08-04 09:57:09 · 2284 阅读 · 3 评论 -
我是如何进入腾讯的?
菜鸡历险记从二月底开始投简历,到四月拿到offer,我的春招结束了!选择直接工作,而不是想大多数人一样选择读研,真的是一个很艰难的决定,参加校招所经历的迷茫担忧焦虑也不亚于参加一场研究生招生考试。大学伊始,几乎和大多数人一样,我也想当一名好学生,像助班一样闪耀,拿到高绩点,参加各路竞赛,获取保研资格,把简历塞的满满当当,懵懂的认知甚至让我在当时一度陷入唯绩点论的思维,专心埋头苦干。非常遗憾的是,在大一要结束的那一段时间里,低到让人抬不起头来的gpa才让我意识到并逐渐接受,自己也许真的不擅长考试(原创 2021-07-22 09:49:51 · 1955 阅读 · 6 评论 -
JSR - 133 都解决了哪些问题?
Hey guys ,我是 cxuan,欢迎你阅读我最新一期的技术文章。这一篇文章我要和你聊一聊 Java 并发中关于内存模型的那些事情,我会通过向你问问题的形式来展开,如果你有思路,可以先不要看我的答案,看看你的回答和我的答案是不是有出入,如果你有任何疑问,欢迎在这篇文章下方留言,下面开始我们的正文!究竟什么是内存模型?在多处理系统中,每个 CPU 通常都包含一层或者多层内存缓存,这样设计的原因是为了加快数据访问速度(因为数据会更靠近处理器) 并且能够减少共享内存总线上的流量(因为可以满足许多内存操作)原创 2021-07-13 09:42:52 · 1249 阅读 · 1 评论 -
外包也开始卷起来了???
Hey guys ,这里是 cxuan ,前段时间有位小伙伴跟我分享了他面试外包的经历,外包也开始卷起来了!!最开始是打算面试外包公司刷经验,等经验差不多了,再去甲方尝试,可惜不太顺利。一、迈思(面试了30分钟)自我介绍左连接(a 表左连接 b 表,a 表全部数据出来,b 表没有的数据为空)a 表左连接 b 表,b 表左连接 c 表,c 表左连接 a 表,这样的数据是什么数据(博主当时有点懵,回答全连接,全部数据会出来。。。)sql:一个班的学生有两个字段,一个字段叫分数,另外一原创 2021-07-09 09:40:04 · 2596 阅读 · 10 评论 -
聊一聊我在 B 站自学 Java 的经历吧
Hey guys ,这里是 cxuan,欢迎你收看我最新一期的文章。这是一篇鸽了很久的文章。。。。。。事情还要从上回说起。。。。。。我爱 B 站!这篇文章我汇总了 B 站上计算机基础(操作系统、计算机网络、数据结构和算法、汇编等)学习视频,受到了很多小伙伴的认可和追更。甚至 CSDN 还有在催我更新的读者朋友所以这篇文章,不能再拖了,更新起来!!!Java 基础Java 基础 :尚硅谷宋红康 https://www.bilibili.com/video/BV1Qb411g7cz?from原创 2021-07-07 09:44:36 · 40182 阅读 · 197 评论 -
MQTT 协议是个啥?这篇文章告诉你!
文章首发于我的公众号「程序员cxuan」,欢迎大家关注呀~说到做到!之前有位读者给我留言说想要了解一下什么是 MQTT 协议,顺便还把我夸了一把,有点不好意思啦。那么读者的要求必须要满足啊,所以现在 @一下这位小姐姐,来听课啦!什么是 MQTT 协议MQTT 协议的全称是 Message Queuing Telemetry Transport,翻译为消息队列传输探测,它是 ISO 标准下的一种基于发布 - 订阅模式的消息协议,它是基于 TCP/IP 协议簇的,它是为了改善网络设备硬件的性能和网络原创 2021-06-22 10:40:56 · 3006 阅读 · 1 评论 -
24 张图总结 TCP 基础知识,看完我飘了。
TCP 是一种面向连接的单播协议,在 TCP 中,并不存在多播、广播的这种行为,因为 TCP 报文段中能明确发送方和接受方的 IP 地址。在发送数据前,相互通信的双方(即发送方和接受方)需要建立一条连接,在发送数据后,通信双方需要断开连接,这就是 TCP 连接的建立和终止。TCP 连接的建立和终止如果你看过我之前写的关于网络层的一篇文章,你应该知道 TCP 的基本元素有四个:即发送方的 IP 地址、发送方的端口号、接收方的 IP 地址、接收方的端口号。而每一方的 IP + 端口号都可以看作是一个套接.原创 2021-06-21 10:56:41 · 7984 阅读 · 11 评论 -
35 张图带你 MySQL 调优
这是 MySQL 基础系列的第四篇文章,之前的三篇文章见如下链接138 张图带你 MySQL 入门47 张图带你 MySQL 进阶!!!炸裂!MySQL 82 张图带你飞一般传统互联网公司很少接触到 SQL 优化问题,其原因是数据量小,大部分厂商的数据库性能能够满足日常的业务需求,所以不需要进行 SQL 优化,但是随着应用程序的不断变大,数据量的激增,数据库自身的性能跟不上了,此时就需要从 SQL 自身角度来进行优化,这也是我们这篇文章所讨论的。SQL 优化步骤当面对一个需要优化的 SQL 时,原创 2021-06-15 09:22:08 · 2406 阅读 · 0 评论 -
IE 凉了?怎么可能!
原文:IE 凉了?怎么可能!我今天偶然间在朋友圈看到非常有意思的一张截图。这则充满戏谑的问答讨论的是时下非常火的 “IE 凉了” 这个话题。作为陪伴我们这么多年的 IE ,为什么突然间就凉了呢?事情还要从那时说起。为了对抗当时的浏览器王者 - 网景浏览器,1995 年,微软发布了 Internet Explorer 1.0 ,此时的 IE 非常简陋,但是它能做一件在当时非常核心的事情 - 上网。但是此时的 IE 还远远落后于当时的网景浏览器,后来随着 IE 2.0、3.0 的出现也没有改变这原创 2021-06-15 09:16:32 · 2561 阅读 · 7 评论 -
深入理解 synchronized 关键字
前言synchronized 这个关键字的重要性不言而喻,几乎可以说是并发、多线程必须会问到的关键字了。synchronized 会涉及到锁、升级降级操作、锁的撤销、对象头等。所以理解 synchronized 非常重要,本篇文章就带你从 synchronized 的基本用法、再到 synchronized 的深入理解,对象头等,为你揭开 synchronized 的面纱。浅析 synchronizedsynchronized 是 Java 并发模块非常重要的关键字,它是 Java 内建的一种同步机制原创 2021-06-02 09:19:16 · 2616 阅读 · 16 评论 -
计算机组成原理之总线设计
文章来源 cxuan 的自己公众号:计算机组成原理之总线设计公众号很多硬核文章,跪求大家关注~~~下面开始正题。我们知道,计算机是由五大部件组成的:运算器、存储器、控制器、输入设备和输出设备,这个概念比较抽象,简单一点来说就是 CPU 包含运算器和控制器,存储器也就指的是内存,而输入输出设备分别指的是键盘和显示器。计算机这几个部件之间是需要共同协作完成信息处理的,那么,这几大部件之间如何进行通信呢?靠的是系统总线,这也是我们这篇文章讨论的重点。认识总线总线是将两个计算机或者多个功能单元连接在一起并原创 2021-05-26 11:08:11 · 4619 阅读 · 20 评论 -
TCP 中的两个细节点
TCP 超时和重传没有永远不出错误的通信,这句话表明着不管外部条件多么完备,永远都会有出错的可能。所以,在 TCP 的正常通信过程中,也会出现错误,这种错误可能是由于数据包丢失引起的,也可能是由于数据包重复引起的,甚至可能是由于数据包失序 引起的。TCP 的通信过程中,会由 TCP 的接收端返回一系列的确认信息来判断是否出现错误,一旦出现丢包等情况,TCP 就会启动重传操作,重传尚未确认的数据。TCP 的重传有两种方式,一种是基于时间,一种是基于确认信息,一般通过确认信息要比通过时间更加高效。所以原创 2021-05-25 10:39:58 · 2628 阅读 · 10 评论 -
万字长文详细搞懂 volatile 关键字
volatile 这个关键字大家都不陌生,这个关键字一般通常用于并发编程中,是 Java 虚拟机提供的轻量化同步机制,你可能知道 volatile 是干啥的,但是你未必能够清晰明了的知道 volatile 的实现机制,以及 volatile 解决了什么问题,这篇文章我就来带大家解析一波。volatile 能够保证共享变量之间的 可见性,共享变量是存在堆区的,而堆区又与内存模型有关,所以我们要聊 volatile ,就需要首先了解一下 Java 内存模型。Java 中的内存模型是 JVM 提供的,而 JVM原创 2021-05-19 09:22:09 · 4826 阅读 · 22 评论 -
牛逼!Java 从入门到精通,超全汇总版
文章目录Java 基础Head First JavaJava 核心技术卷一Java 编程思想设计模式Head First 设计模式图解设计模式设计模式重学 Java 设计模式Java 进阶Java 并发编程实战Java 并发编程艺术Java 并发编程之美图解Java多线程设计模式JVM深入理解 Java 虚拟机Java 虚拟机规范HotSpot 实战自己动手写 Java 虚拟机MySQLMySQL 基础教程SQL 基础教程深入浅出 MySQLMySQL 必知必会SQL 必知必会高性能 MySQLMySQL原创 2021-05-06 19:55:06 · 76175 阅读 · 135 评论 -
还不懂三次握手四次挥手?看这一篇绝对包你会!
TCP 是一种面向连接的单播协议,在 TCP 中,并不存在多播、广播的这种行为,因为 TCP 报文段中能明确发送方和接受方的 IP 地址。在发送数据前,相互通信的双方(即发送方和接受方)需要建立一条连接,在发送数据后,通信双方需要断开连接,这就是 TCP 连接的建立和终止。TCP 连接的建立和终止如果你看过我之前写的关于网络层的一篇文章,你应该知道 TCP 的基本元素有四个:即发送方的 IP 地址、发送方的端口号、接收方的 IP 地址、接收方的端口号。而每一方的 IP + 端口号都可以看作是一个套接字原创 2021-04-26 09:50:07 · 2458 阅读 · 7 评论 -
这可能是关于 TCP 和 UDP 最好的一篇文章!!
文章目录前言运输层概述TCP 和 UDP 前置知识套接字套接字类型套接字处理过程聊聊 IP端口号确定端口号多路复用和多路分解无连接的多路复用和多路分解面向连接的多路复用与多路分解UDPUDP 特点UDP 报文结构TCPTCP 报文段结构序号、确认号实现传输可靠性累积确认传输控制利用窗口控制提高速度窗口控制和重发流量控制连接管理三次握手建立连接四次挥手什么是 TIME-WAIT说好的 RST 呢SYN 洪泛攻击拥塞控制TCP 拥塞控制慢启动拥塞避免快速恢复后记前言欢迎阅读「程序员cxuan」 的文章,从今原创 2021-04-26 09:45:00 · 4897 阅读 · 23 评论 -
还不懂 TCP/IP 是啥?看这一篇就够了!!!
文章目录TCP/IP 的历史背景TCP/IP 标准TCP/IP 协议簇通信链路层物理层数据链路层网络层传输层应用层数据包的发送历程数据包结构数据包发送历程我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer已提交此篇文章要说我们接触计算机网络最多的协议,那势必离不开 TCP/IP 协议了,TCP/IP 协议同时也是互联网中最为著名的协议,下面我们就来一起聊一下 TCP/IP 协议。TCP/IP 的历史原创 2021-04-21 12:02:56 · 4949 阅读 · 11 评论 -
TCP ,你丫的终于来了!!!
TCP 是一种面向连接的单播协议,在 TCP 中,并不存在多播、广播的这种行为,因为 TCP 报文段中能明确发送方和接受方的 IP 地址。在发送数据前,相互通信的双方(即发送方和接受方)需要建立一条连接,在发送数据后,通信双方需要断开连接,这就是 TCP 连接的建立和终止。TCP 连接的建立和终止如果你看过我之前写的关于网络层的一篇文章,你应该知道 TCP 的基本元素有四个:即发送方的 IP 地址、发送方的端口号、接收方的 IP 地址、接收方的端口号。而每一方的 IP + 端口号都可以看作是一个套接字原创 2021-04-20 10:00:32 · 4208 阅读 · 12 评论 -
Semaphore 用法和原理剖析!
这是并发线程工具类的第二篇文章,在第一篇中,我们分析过 CountDownLatch 的相关内容,你可以参考一文搞懂 CountDownLatch 用法和源码!那么本篇文章我们继续来和你聊聊并发工具类的第二篇文章 — Semaphore 。认识 SemaphoreSemaphore 是什么Semaphore 一般译作 信号量,它也是一种线程同步工具,主要用于多个线程对共享资源进行并行操作的一种工具类。它代表了一种许可的概念,是否允许多线程对同一资源进行操作的许可,使用 Semaphore 可以控制原创 2021-04-16 11:10:22 · 2257 阅读 · 4 评论