摘要:
装箱和拆箱几乎是所有面试题中必考之一,看上去简单,就往往容易被忽视。其实它一点都不简单的,一个简单的问题也可以从多个层次来解读。 常见面试题目: 1.什么是拆箱和装箱? 2.什么是箱子? 3.箱子放在哪里? 4.装箱和拆箱有什么性能影响? 5.如何避免隐身装箱? 6.箱子的基本结构? 7.装箱的过程 阅读全文
摘要:
常见面试题目: 1. 值类型和引用类型的区别? 2. 结构和类的区别? 3. delegate是引用类型还是值类型?enum、int[]和string呢? 4. 堆和栈的区别? 5. 什么情况下会在堆(栈)上分配数据?它们有性能上的区别吗? 6.“结构”对象可能分配在堆上吗?什么情况下会发生,有什么 阅读全文
摘要:
大家都会关注“在浏览器输入一个地址,然后回车,会发生什么”这样一个问题,但是有没有想过这样一个问题:主播开始直播,用户打开客户端观看,这个过程发生了什么? 随着技术的发展,直播技术对人们生活的渗透日益加深。从最开始的游戏直播,到前几天爆出来的教育直播,甚至现在都有直播招聘。 而我们喜欢的这些直播,他 阅读全文
摘要:
之前说了 HTTP 协议的各种问题,但是它还是陪伴着互联网、陪伴着我们走过了将近二十年的风风雨雨。现在有很多新的协议尝试去取代它,来解决性能、效率等问题,但它还还能靠着“多年的情分”活的滋润。然而,近些年,因为致命的安全问题,它不得不升级成 HTTPS 了。 就拿我们叫外卖来说,我们点外卖的数据包被 阅读全文
摘要:
日常开发中,我们经常会碰到查询网络是否畅通以及域名对应 IP 地址等小需求,这时候用的最多的应该就是 ping 命令了。 那你知道 ping 命令是怎么工作的吗?今天,我们就来一起认识下 ping 命令及其对应的 ICMP 协议。 ICMP 协议 ICMP 全称 Internet Control M 阅读全文
摘要:
之前我们基本了解了网络通信里的大部分协议,一直都是在“听”的过程。很多人都会觉得,好像看懂了,但关了页面回忆起来,好像又什么都没懂。这次咱们就“真枪实弹”的码起来,再用一个“神器”-网络分析系统详细跟踪下数据包的生命历程,让我们的理论真实的呈现出来,对网络通信感兴趣的博友,还可以自己拿着系统分析一遍 阅读全文
摘要:
前面一直在说各种协议,偏理论方面的知识,这次咱们就来认识下基于 TCP 和 UDP 协议这些理论知识的 Socket 编程。 说 TCP 和 UDP 的时候,我们是分成客户端和服务端来认识的,那在写 Socket 的时候,我们也这样分。 Socket 这个名字很有意思,可以作插口或者插槽讲。我们写程 阅读全文
摘要:
上次了解了 TCP 建立连接与断开连接的过程,我们发现,TCP 会通过各种“套路”来保证传输数据的安全。除此之外,我们还大概了解了 TCP 包头格式所对应解决的五个问题:顺序问题、丢包问题、连接维护、流量控制、拥塞控制。今天,我们就来看下 TCP 又是用怎样的套路去解决这五个问题的。 在解决问题之前 阅读全文
摘要:
上次说了“性本善”的 UDP 协议,这哥们秉承“网之初,性本善,不丢包,不乱序”的原则,徜徉在网络世界中。 与之相对应的,TCP 就像是老大哥一样,了解了社会的残酷,变得复杂而成熟,秉承“性恶论”。它认为网络环境是恶劣的,丢包、乱序、重传、拥塞都是常有的事儿,一言不合可能就会丢包,送达不了,所以从算 阅读全文
摘要:
网络协议五步登天路,我们一路迈过了物理层、链路层,今天终于到了传输层。从这一层开始,很多知识应该都是服务端开发必备的知识了,今天我们就一起来梳理下。 其实,讲到 UDP,就少不了 TCP。这俩货简直就是个“连体兄弟”,只要出现一个,另一个肯定就在不远处等着你。 博主相信,绝大多数的服务端开发都碰到过 阅读全文
摘要:
前面例子中,我们都是在一个局域网内折腾。今天就让我们扩大范围,在多个局域网甚至到广阔的互联网世界中遨游,看看这中间会发生什么。 这个过程中,跨网关访问是我们要了解的第一个内容。 跨网关访问 当我们要了解跨网关访问时,就牵扯到 MAC 地址和 IP 地址的变化,因此,我们先来看下 MAC 头和 IP 阅读全文
摘要:
日常开发中,我们经常会碰到查询网络是否畅通以及域名对应 IP 地址等小需求,这时候用的最多的应该就是 ping 命令了。 那你知道 ping 命令是怎么工作的吗?今天,我们就来一起认识下 ping 命令及其对应的 ICMP 协议。 ICMP 协议 ICMP 全称 Internet Control M 阅读全文
摘要:
上一次,我们通过宿舍联网打魔兽的需求,认识了如何通过物理层和链路层组建一个宿舍局域网。今天,让我们切换到稍微复杂点的场景,办公室。 在这个场景里,就不像在宿舍那样,搞几根网线,拉一拉,扯一扯就可以了。一个办公室少到数十人,大至上百人,每个人都有一个网口,如果再算上整个楼层楼层、甚至整栋楼,这个网口就 阅读全文
摘要:
在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了。 今天,我们来认识下 物理层 和 MAC 层。 日常生活中,身为 90 后的我们,如果不是通信相关专业出身的,应该从来没有接触过物理层和 MAC 层的设备。我们接触最多的,可能就是路由器了。 阅读全文
摘要:
了解完网络协议,我们会发现,网络通信的五层模型里,有两个很重要的概念:IP 地址和 MAC 地址。 那么 IP 地址是怎么来的,又是怎么没的?MAC 地址与 IP 地址又有什么区别? 这回答上面问题前,先热下身,大家知道如何查看本机的 IP 吗?这个问题,即便是没有专业学过计算机的人,只要折腾过电脑 阅读全文