自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

c旋儿的博客

岁月,你别催,该来的我不推;岁月,你别催,走远的仍要追

  • 博客(160)
  • 收藏
  • 关注

原创 我画了 40 张图就是为了让你搞懂计算机网络层

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer前面我们学习了运输层如何为客户端和服务器输送数据的,提供进程端到端的通信。那么下面我们将学习网络层实际上是怎样实现主机到主机的通信服务的。几乎每个端系统都有网络层这一部分。所以,网络层必然是很复杂的。下面我将花费大量篇幅来介绍一下计算机网络层的知识。网络层概述网络层是 OSI 参考模型的第三层,它位于传输层和链路层之间,网络层的主要目的是实现两个端系统.

2021-01-04 10:04:30 289

原创 动态代理竟然如此简单!

这篇文章我们来聊一下 Java 中的动态代理。我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer动态代理在 Java 中有着广泛的应用,比如 AOP 的实现原理、RPC远程调用、Java 注解对象获取、日志框架、全局性异常处理、事务处理等。在了解动态代理前,我们需要先了解一下什么是代理模式。代理模式代理模式(Proxy Pattern)是 23 种设计模式的一种,属于结构型模式。他指的是一个对象本身

2020-12-29 13:53:50 71

原创 坚持并活下去!cxuan 在 CSDN 的 2020 年终总结。

前段时间被 why 神开车带飞的时候,我才想起来,一年前的我和他有一段对话没想到今年,却开启了 爆肝模式。写了 100 + 篇文章在公众号的历程中,我喜欢使用大图 + 公众号原创篇数来记录一下自己究竟写了多少篇原创文章。详情可以翻阅一下这篇文章cxuan 都能写 100 篇文章,你还有啥不能的从刚开始写文章的磕磕绊绊,到现在能完整的撸出来一篇万字长文,也算是有了十足的进步。现在回过头来看一下当年的文章,有点想把他们都删了的冲动 …这就是文章刚开始的样子了,是的你没看错,我一篇文章到现在已经有

2020-12-22 15:34:12 106

原创 Java 核心技术总结出 PDF 版本了!!!

之前小伙伴们一直私信我说希望我能出一篇 Java 基础总结,一直看网上的总结不是那么细致,而且涵盖的地方不是很全,所以索性我自己写了一篇 Java核心技术总结,现在分享给你。支持书签,思维导图也非常清晰。文章的思维导图如下一共是 75 页,这 75 页可是我呕心沥血的大作啊!!! 我女友和我说她老板买一份这种 PDF 的版权要几万块。现在 cxuan 免费分享出来,链接如下链接: https://pan.baidu.com/s/1xXlSMYTT9W7mexr_KHU-rA 密码: 7

2020-12-16 22:19:04 130

原创 路由器你竟然是这样的...

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer前面我们学习了运输层如何为客户端和服务器输送数据的,提供进程端到端的通信。那么下面我们将学习网络层实际上是怎样实现主机到主机的通信服务的。几乎每个端系统都有网络层这一部分。所以,网络层必然是很复杂的。下面我将花费大量篇幅来介绍一下计算机网络层的知识。网络层概述网络层是 OSI 参考模型的第三层,它位于传输层和链路层之间,网络层的主要目的是实现两个端系统之.

2020-12-15 08:37:38 7154 5

原创 我用 10 张脑图,征服了一系列大厂面试官。

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer已提交此篇文章秋招也快接近尾声了,我在秋招的结尾意外地收获了网易互娱的 Offer,秋招就此结束,写下这篇文章是为了帮助更多师弟师妹们,希望能帮助到你们。我并不是什么很厉害的大神,我也不渴望成为别人眼中的大神,我只是踏实地一步一个脚印走,把每一样事情都尽量地完成好,我更多的是希望和大家一起进步。我的秋招目前收获了几家公司的 Offer:网易互娱、融 36

2020-11-17 08:59:00 437

原创 对不起,学会这些 Linux 知识后,我有点飘

Linux 简介UNIX 是一个交互式系统,用于同时处理多进程和多用户同时在线。为什么要说 UNIX,那是因为 Linux 是由 UNIX 发展而来的,UNIX 是由程序员设计,它的主要服务对象也是程序员。Linux 继承了 UNIX 的设计目标。从智能手机到汽车,超级计算机和家用电器,从家用台式机到企业服务器,Linux 操作系统无处不在。大多数程序员都喜欢让系统尽量简单,优雅并具有一致性。举个例子,从最底层的角度来讲,一个文件应该只是一个字节集合。为了实现顺序存取、随机存取、按键存取、远程存取只能是

2020-10-10 07:18:49 14551 16

原创 5万字、97 张图总结操作系统核心知识点
原力计划

文末领取大图。这不是一篇教你如何创建一个操作系统的文章,相反,这是一篇指导性文章,教你从几个方面来理解操作系统。首先你需要知道你为什么要看这篇文章以及为什么要学习操作系统。搞清楚几个问题首先你要搞明白你学习操作系统的目的是什么?操作系统的重要性如何?学习操作系统会给我带来什么?下面我会从这几个方面为你回答下。操作系统也是一种软件,但是操作系统是一种非常复杂的软件。操作系统提供了几种抽象模型文件:对 I/O 设备的抽象虚拟内存:对程序存储器的抽象进程:对一个正在运行程序的抽象虚拟机:对整个.

2020-07-14 09:19:25 10170 8

原创 看完这篇 HTTPS,和面试官扯皮就没问题了
原力计划

下面我们来一起学习一下 HTTPS ,首先问你一个问题,为什么有了 HTTP 之后,还需要有 HTTPS ?我突然有个想法,为什么我们面试的时候需要回答标准答案呢?为什么我们不说出我们自己的想法和见解,却要记住一些所谓的标准回答呢?技术还有正确与否吗?HTTPS 为什么会出现一个新技术的出现必定是为了解决某种问题的,那么 HTTPS 解决了 HTTP 的什么问题呢?HTTPS 解决了什么问题...

2020-03-14 10:37:10 29999 66

原创 写给大忙人看的进程和线程
原力计划

我们平常说的进程和线程更多的是基于编程语言的角度来说的,那么你真的了解什么是线程和进程吗?那么我们就从操作系统的角度来了解一下什么是进程和线程。进程操作系统中最核心的概念就是 进程,进程是对正在运行中的程序的一个抽象。操作系统的其他所有内容都是围绕着进程展开的。进程是操作系统提供的最古老也是最重要的概念之一。即使可以使用的 CPU 只有一个,它们也支持(伪)并发操作。它们会将一个单独的 CPU...

2020-03-03 15:44:21 13282 67

原创 写给大忙人看的操作系统
原力计划

文章主要结构图如下操作系统现代计算机系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口以及各种输入/输出设备构成。然而,程序员不会直接和这些硬件打交道,而且每位程序员不可能会掌握所有计算机系统的细节,这样我们就不用再编写代码了,所以在硬件的基础之上,计算机安装了一层软件,这层软件能够通过响应用户输入的指令达到控制硬件的效果,从而满足用户需求,这种软件称之为 操作系统,它的...

2020-02-28 12:34:12 42969 112

原创 程序员不得不了解的硬核知识大全

我们每个程序员或许都有一个梦,那就是成为大牛,我们或许都沉浸在各种框架中,以为框架就是一切,以为应用层才是最重要的,你错了。在当今计算机行业中,会应用是基本素质,如果你懂其原理才能让你在行业中走的更远,而计算机基础知识又是重中之重。下面,跟随我的脚步,为你介绍一下计算机底层知识。CPU还不了解 CPU 吗?现在就带你了解一下 CPU 是什么CPU 的全称是 Central Processin...

2020-01-15 11:51:39 16183 14

原创 程序员必知的基础知识 PDF

第一本是程序员必知的硬核基础知识,这是一本非常入门的经典 PDF,看完能让你对计算机有一个基础的了解和入门,是培养你 内核 的基础,我们看下目录大纲基本上涵盖了计算机所有基础知识,从 CPU 到内存、讲解什么是二进制、磁盘、压缩算法、操作系统、汇编等知识。我们来看下内容是怎样的这个图画的很漂亮啊,看起来就是作者在用心画的,而且排版非常精美。看起来一点不枯燥现在这本 PDF 免费分享给你,你可以回复 cxuan 来领取这本 PDF。...

2021-01-23 14:16:46 30

原创 为什么会有 AtomicReference ?

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer我们之前了解过了 AtomicInteger、AtomicLong、AtomicBoolean 等原子性工具类,下面我们继续了解一下位于 java.util.concurrent.atomic 包下的工具类。关于 AtomicInteger、AtomicLong、AtomicBoolean 相关的内容请查阅一场 Atomic XXX 的魔幻之旅关于 .

2021-01-20 14:56:46 30

原创 万字长文爆肝 DNS 协议!

试想一个问题,我们人类可以有多少种识别自己的方式?可以通过身份证来识别,可以通过社保卡号来识别,也可以通过驾驶证来识别,尽管我们有多种识别方式,但在特定的环境下,某种识别方法可能比另一种方法更为适合。因特网上的主机和人类一样,可以使用多种识别方式进行标识。互联网上主机的一种标识方法是使用它的 主机名(hostname) ,如 www.facebook.com、 www.google.com 等。但是这是我们人类的记忆方式,路由器不会这么理解,路由器喜欢定长的、有层次结构的 IP地址。如果你还不理解 IP.

2021-01-18 08:58:47 2353 5

原创 大厂面试真题:Spring中Bean的生命周期

前言​ 这其实是一道面试题,是我在面试百度的时候被问到的,当时没有答出来(因为自己真的很菜),后来在网上寻找答案,看到也是一头雾水,直到看到了《Spring in action》这本书,书上有对Bean声明周期的大致解释,但是没有代码分析,所以就自己上网寻找资料,一定要把这个Bean生命周期弄明白!​ 网上大部分都是验证的Bean 在面试问的生命周期,其实查阅JDK还有一个完整的Bean生命周期,这同时也验证了书是具有片面性的,最fresh 的资料还是查阅原始JDK!!!一、Bean 的完整生命周

2021-01-14 08:04:45 100

原创 一文给你讲透 ARP 协议原理!

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer公众号连载计算机网络文章如下ARP,这个隐匿在计网背后的男人我画了 40 张图就是为了让你搞懂计算机网络层40 张图带你搞懂 TCP 和 UDP拿下计网协议后,我就是公园里最靓的仔TCP/IP 基础知识总结计算机网络基础知识总结那么开始我们本篇文章只要确定了 IP 地址后,就能够向这个 IP 地址所在的主机发送数据报,这是我们所熟知的事情。但.

2021-01-13 14:44:46 79

原创 图解 IP 基础知识!

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaerIP 协议路由器对分组进行转发后,就会把数据包传到网络上,数据包最终是要传递到客户端或者服务器上的,那么数据包怎么知道要发往哪里呢?起到关键作用的就是 IP 协议。IP 主要分为三个部分,分别是 IP 寻址、路由和分包组包。下面我们主要围绕这三点进行阐述。IP 地址既然一个数据包要在网络上传输,那么肯定需要知道这个数据包到底发往哪里,也就是说需要一个.

2020-12-22 14:05:06 205

原创 CountDownLatch 用法和源码解析

CountDownLatch 是多线程控制的一种工具,它被称为 门阀、 计数器或者 闭锁。这个工具经常用来用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。下面我们就来一起认识一下 CountDownLatch我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer认识 CountDownLatchCountDownLatch 能够使一个线程在等待另外一些线程完成各自工作之后,再继

2020-12-21 09:13:43 72

原创 阅站无数的过我只推荐下面这些网站

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer程序员的工作和日常生活非常的枯燥,这里给大家推荐一些程序员经常使用的网站,也是我经常上的一些网站,我将会从多个角度、多个层面为你整理归纳这些网站和论坛项目类项目是一个面试官非常看重的点,也是拓展视野、挖掘轮子一个的地方,下面就为你推荐几个程序员都应该 mark 的项目类网站。Github 代码托管 https://github.com作为开源.

2020-12-18 08:47:55 239

原创 Java 中的语法糖,真甜。

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer我们在日常开发中经常会使用到诸如泛型、自动拆箱和装箱、内部类、增强 for 循环、try-with-resources 语法、lambda 表达式等,我们只觉得用的很爽,因为这些特性能够帮助我们减轻开发工作量;但我们未曾认真研究过这些特性的本质是什么,那么这篇文章,cxuan 就来为你揭开这些特性背后的真相。语法糖在聊之前我们需要先了解一下 语法糖 的概.

2020-12-08 08:44:42 3834 13

原创 40 张图带你搞懂 TCP 和 UDP

前言欢迎阅读「程序员cxuan」 的文章,从今往后,你就是我的读者了。我的 github bestJavaer 已经收录此文章希望你可以给我一个 star 哦!这一篇文章是计算机网络连载文章的第四篇,历史文章请阅读一不小心画了 24 张图剖析计网应用层协议!TCP/IP 基础知识计算机网络基础知识总结下面开始本篇文章。运输层位于应用层和网络层之间,是 OSI 分层体系中的第四层,同时也是网络体系结构的重要部分。运输层主要负责网络上的端到端通信。运输层为运行在不同主机上的应用程序之间的通

2020-11-30 09:03:38 261 1

原创 肝了一周的 UDP 基础知识终于出来了。

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer已提交此篇文章运输层位于应用层和网络层之间,是 OSI 分层体系中的第四层,同时也是网络体系结构的重要部分。运输层主要负责网络上的端到端通信。运输层为运行在不同主机上的应用程序之间的通信起着至关重要的作用。下面我们就来一起探讨一下关于运输层的协议部分运输层概述计算机网络的运输层非常类似于高速公路,高速公路负责把人或者物品从一端运送到另一端,而计算机.

2020-11-26 09:42:11 222 1

原创 一不小心画了 24 张图剖析计网应用层协议!

文章的整体脉络如下在有了之前两篇文章的介绍后,相信读者对计算机网络有了初步的认识,那么下面我们就要对不同的协议层进行分类介绍了,我们还是采用自上而下的方式来介绍,这种介绍对读者来说更容易接纳,吸收程度更好(说白了就是更容易给我的文章点赞,逃)。一般情况下,用户不太在意网络应用程序实际上是按照怎样的机制运行的,但我们是程序员吖,就套用朱伟的一句话说:你觉得计算机网络程序员不了解,你指着互联网用户去了解吗?有内个味儿没?应用层指的是 OSI 标准模型的第 5、6、7层,也就是会话层、表现层、应用层。

2020-11-10 10:09:59 378 1

原创 程序员的十年之痒

缘起一路回忆过来,发现我应该不能算是个正经程序员,这后来的一切都源于十年前的一个传单。那时候在读高中二年级,那个中午刚走到学校大门外,阳光正好通过那个传单刺到了我的眼睛,传单的内容很长,是一个技术学院为了招生写的关于黑客的描述,大概意思是那是热爱自由、平等、开源,躲在黑暗角落的怪人。我接下这个传单后就一发不可收拾了,过了几天就做了一个决定,决定不上高三了,直接去那个学院报名,奈不过家里的逼迫,最终还是坚持读完了高三,但是在读高三的这一年里现在想来真是想穿越过去扇自己两巴掌。我用非常工整的字体把传单抄

2020-11-09 08:27:52 13481 39

原创 TCP/IP 基础知识总结

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer已提交此篇文章要说我们接触计算机网络最多的协议,那势必离不开 TCP/IP 协议了,TCP/IP 协议同时也是互联网中最为著名的协议,下面我们就来一起聊一下 TCP/IP 协议。TCP/IP 的历史背景最初还没有 TCP/IP 协议的时候,也就是在 20 世纪 60 年代,许多国家和地区认识到通信技术的重要性。美国国防部希望能够研究一种即使通信线路被.

2020-11-03 09:54:03 299

原创 看完这篇 final、finally 和 finalize 和面试官扯皮就没问题了

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer已提交此篇文章final 是 Java 中的关键字,它也是 Java 中很重要的一个关键字,final 修饰的类、方法、变量有不同的含义;finally 也是一个关键字,不过我们可以使用 finally 和其他关键字结合做一些组合操作; finalize 是一个不让人待见的方法,它是对象祖宗 Object 中的一个方法,finalize 机制现在已经不推.

2020-11-02 09:22:15 321 1

原创 30 岁的码农人生 ——人生至暗时,你依然能窥见光明

笔者:佚名文中的老刘、小蔡、高经理、鹏哥、周哥、小凯、小王、强哥、夏总均是虚构名称。景原市、湖平市、新阳市、高顺市乃是虚构地名。看到这个题目,大概你会认为这篇无聊的文字是在聊程序员 30+ 之后人生的感悟吧,名校学历,大厂背景,带过百余人团队,实现了人生价值和财务自由后的侃侃而谈?但我想对你说不是的,因为我与大家不同,在大家 20岁左右毕业之后转战大厂,意气风发的时候,我还在为前途而迷茫;在大家 30 岁走向职场中层的时候,我才刚入码农的行。这就是我,一名 30 岁才开始学习开发的程序员,一个在职业生

2020-10-27 12:34:21 12695 24

原创 这可能是学习代理最好的一篇文章

说在前面:今天我们来聊一聊 Java 中的代理,先来聊聊故事背景:小明想购买法国某个牌子的香水送给女朋友,但是在国内没有货源售卖,亲自去法国又大费周章了,而小红现在正在法国玩耍,她和小明是好朋友,可以帮小明买到这个牌子的香水,于是小明就找到小红,答应给她多加 5% 的辛苦费,小红答应了,小明成功在中国买到了法国的香水。之后小红开启了疯狂的代购模式,赚到了很多手续费。在故事中,小明是一个客户,它让小红帮忙购买香水,小红就成了一个代理对象,而香水提供商是一个真实的对象,可以售卖香水,小明通过代理商小红,

2020-10-24 10:24:17 367

原创 学习操作系统,都有哪些硬核网站?

一般很少有人推荐操作系统的网站吧。。。。。。这几个网站来源于我平常的学习总结,也有一些是来源于网上优秀的回答,希望这几个网站能够助力你对操作系统有更深的认识。studytonightstudytonight 简直太棒了!!! studytonight 会包括 operationg system,但是并不是说 studytonight 就是一个单纯的 OS 学习网站,它是一个基础教程网,它的首页是这样的,不仅限于 os ,还会包括 Java、C、CSS、OS、Computer network 等。这个

2020-10-24 10:16:21 322

原创 计算机网络基础知识总结

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer如果说计算机把我们从工业时代带到了信息时代,那么计算机网络就可以说把我们带到了网络时代。随着使用计算机人数的不断增加,计算机也经历了一系列的发展,从大型通用计算机 -> 超级计算机 -> 小型机 -> 个人电脑 -> 工作站 -> 便携式电脑 -> 智能手机终端等都是这一过程的产物。计算机网络也逐渐从独立模式演变为了 网.

2020-10-20 07:40:54 12349 17

原创 通俗易懂和你聊聊寄存器那些事(精美图文)

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer下面我们就来介绍一下关于寄存器的相关内容。我们知道,寄存器是 CPU 内部的构造,它主要用于信息的存储。除此之外,CPU 内部还有运算器,负责处理数据;控制器控制其他组件;外部总线连接 CPU 和各种部件,进行数据传输;内部总线负责 CPU 内部各种组件的数据处理。那么对于我们所了解的汇编语言来说,我们的主要关注点就是 寄存器。为什么会出现寄存器?因为我.

2020-10-15 06:53:38 3549

原创 汇编入门第一篇,小白也能看懂

cxuan自己的 Github 非常硬核,求各位大佬 star: https://github.com/crisxuan/bestJavaer汇编代码是计算机的一种低级表示,它是一种低级语言,可以从字面角度去理解它,包括处理数据、管理内存、读写存储设备上的数据,以及利用网络通信等。编译器生成机器码经过了一系列的转换,这些转换遵循编程语言、目标机器的指令集 和操作系统。指令集指令集就是指挥计算机工作的指令,因为程序就是按照一定执行顺序排列的指令。因为计算机的执行控制权由 CPU 操作,所以指令集就是.

2020-10-13 08:29:05 492

原创 我告诉你一个 AtomicInteger 的惊天大秘密

i++ 不是线程安全的操作,因为它不是一个原子性操作。那么,如果我想要达到类似 i++ 的这种效果,我应该使用哪些集合或者说工具类呢?在 JDK1.5 之前,为了确保在多线程下对某基本数据类型或者引用数据类型运算的原子性,必须依赖于外部关键字 synchronized,但是这种情况在 JDK1.5 之后发生了改观,当然你依然可以使用 synchronized 来保证原子性,我们这里所说的一种线程安全的方式是原子性的工具类,比如 AtomicInteger、AtomicBoolean 等。这些原子类都是线

2020-09-21 07:13:24 2012 2

原创 哦!这该死的 C 语言

前言C 语言是一门抽象的、面向过程的语言,C 语言广泛应用于底层开发,C 语言在计算机体系中占据着不可替代的作用,可以说 C 语言是编程的基础,也就是说,不管你学习任何语言,都应该把 C 语言放在首先要学的位置上。下面这张图更好的说明 C 语言的重要性可以看到,C 语言是一种底层语言,是一种系统层级的语言,操作系统就是使用 C 语言来编写的,比如 Windows、Linux、UNIX 。如果说其他语言是光鲜亮丽的外表,那么 C 语言就是灵魂,永远那么朴实无华。C 语言特性那么,既然 C 语言这么重

2020-09-14 07:13:12 7939 6

原创 我工作三年了,该懂并发了!

本文的组织形式如下,主要会介绍到同步容器类,操作系统的并发工具,Java 开发工具包(只是简单介绍一下,后面会有源码分析)。同步工具类有哪些。下面我们就来介绍一下 Java 并发中都涉及哪些模块,这些并发模块都是 Java 并发类库所提供的。同步容器类同步容器主要包括两类,一种是本来就是线程安全实现的容器,这类容器有 Vector、Hashtable、Stack,这类容器的方法上都加了 synchronized 锁,是线程安全的实现。Vector、Hashtable、Stack 这些容器我们现在

2020-08-31 07:23:18 1441 2

原创 2w字 + 40张图带你参透并发编程!

并发历史在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行。任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就会存在 浪费资源 的情况。这里说的浪费资源指的是资源空闲,没有充分使用的情况。操作系统的出现为我们的程序带来了 并发性,操作系统使我们的程序能够同时运行多个程序,一个程序就是一个进程,也就相当于同时运行多个进程。操作系统是一个并发系统,并发性是操作系统非常重要的特征,操作系统具有同时处理和调度多个程序的能力,比如多个 I/O 设备同时

2020-08-19 07:28:16 1403 3

原创 一网打尽 Java 并发模型

本篇文章我们来探讨一下并发设计模型。可以使用不同的并发模型来实现并发系统,并发模型说的是系统中的线程如何协作完成并发任务。不同的并发模型以不同的方式拆分任务,线程可以以不同的方式进行通信和协作。并发模型和分布式系统很相似并发模型其实和分布式系统模型非常相似,在并发模型中是线程彼此进行通信,而在分布式系统模型中是 进程 彼此进行通信。然而本质上,进程和线程也非常相似。这也就是为什么并发模型和分布式模型非常相似的原因。分布式系统通常要比并发系统面临更多的挑战和问题比如进程通信、网络可能出现异常,或者远程

2020-08-13 08:30:55 667 2

原创 操作系统和并发的爱恨纠葛

我一直没有急于写并发的原因是我参不透操作系统,如今,我已经把操作系统刷了一遍,这次试着写一些并发,看看能不能写清楚,卑微小编在线求鼓励… 我打算采取操作系统和并发同时结合讲起来的方式。并发历史在计算机最早期的时候,没有操作系统,执行程序只需要一个过程,那就是从头到尾依次执行。任何资源都会为这个程序服务,这必然就会存在 浪费资源 的情况。这里说的浪费资源指的是资源空闲,没有充分使用的情况。操作系统为我们的程序带来了 并发性,操作系统使我们的程序同时运行多个程序,一个程序就是一个进程,也就相当于同时

2020-08-07 09:45:07 4526 3

原创 计算机发展极简入门

计算机自从 20 世纪 40 年代诞生以来,一直以史无前例的进步向前发展,如果说农业革命是第一次革命、工业革命是第二次革命的话,那么第三次革命就是 信息革命。计算机技术的进步几乎影响着社会的方方面面,硬件的进步使得程序员可以编写出各种各样优秀的应用软件。也许不久的将来虚拟现实、无人驾驶、无现金支付就会成为现实。计算应用分类计算机从用途上来讲主要分为三种:个人计算机(Personal Computer),也称为 PC,这是人们最熟知的一种计算机,个人计算机强调用户体验,价格低廉,性价比高,个人计算机

2020-07-30 11:09:07 1589

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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