计算机基础
文章平均质量分 89
汇总计算机基础相关知识点,包括计算机组成、处理器、内存、IO控制、操作系统、网络
Minor王智
好好学习,天天向上!
展开
-
Docker常用命令
现在主流的公司并没有采用这种DockerCompose编排技术,而是使用K8s去做,但是DockerCompose也是提供了一个通过一个编排文件,在文件里面编写编排Docker容器的docker命令,然后就会自动的启动协调各个容器的启动功能。Docker容器相当于一个轻量级的操作系统,容器之间是资源隔离的,但是都可以同时运行在同一个宿主机上。最后,通过dockerbuild-t应用程序名来构建Docker镜像,然后通过dockerrun镜像名就可以启动容器并启动了我们的应用程序。...原创 2022-07-21 22:01:52 · 381 阅读 · 0 评论 -
Netty基础组件和常见面试问题(粘包、半包)
对于Selector的#select()进行周期性的计数,当发生依稀空转就进行一次计数,如果在某一个周期内连续法身了n次空转,说明就发生了epoll的空转问题。当Channel被创建时,它将会被自动地分配一个新的ChannelPipelint,每一个Channel都有自己专属的ChannelPipeline,这个关联关系是永久的。半包的发生情况就是一个完整语义的数据包被分成了多次的数据包接收,就存在半包的问题,如果不做控制,服务端并不知道接收到的数据包是一个不完整的。......原创 2022-07-18 20:27:57 · 749 阅读 · 0 评论 -
Linux对网络通信的实现原理(select、poll、epoll)
当被监控的文件描述符上有可读写事件发生时,epoll_wait()会通知应用程序去读写,如果这次读写没有处理完数据,那么下次调用epoll_wait()是,OS还会继续通知应用程序继续读写,如果你一直不处理完数据,OS会一直通知你。select的优点是跨平台支持,缺点是单个进程的文件描述符是有OS控制的,Linux最大是1024个,但是可以修改。Linux的5种IO模型阻塞IO、非阻塞IO、IO多路复用、信号驱动IO、异步IO,前面四种都是同步的模式,只有最后一种是异步的。...原创 2022-07-18 20:24:41 · 840 阅读 · 0 评论 -
IO多路复用和Reactor模型
虽然这种模式下引入了线程池,效率得到了一定的提升,但是毕竟是采用单Reactor架构,所有的事件都是交给单个Reactor负责,在面对瞬间的高并发连接场景,单Reactor多线程模型仍然性能不佳。Reactor模型是对事件处理流程的一种模式抽象,是对IO多路复用模式的一种封装,Reactor又叫反应器,在这里特指的是对各种事件的反应处理。为了优化单Reactor模型的性能瓶颈,将原来单独的Reactor的功能进行分解为连接处理器和通信处理器,由多个不同的Reactor共同完成网络通信任务。...原创 2022-07-18 20:22:44 · 1593 阅读 · 0 评论 -
Java集合容器相关面试题整理HashMap、ConcurrentHashMap
Java的集合框架是一个容器体系,它是Java数据结构的多种实现。Iterator接口定义了遍历集合的一种方式,它提供了:1.2 ListIterator接口List集合的专属迭代器,继承自Iterator接口。他的特点是可以向前和向后两个方向遍历集合,遍历的同时可以修改集合。Collection和Map一起组成了Java集合框架的两个根接口,定义了集合框架通用的一些方法和规则。Collection定义了单元素的集合定义,Map则是对键值对的抽象。Collections是集合框架提供的工具类,内部提供了原创 2022-07-04 21:54:59 · 557 阅读 · 0 评论 -
Java线程池基本原理
Executors类似于Collections作用域集合领域一样,它是线程池的工具类,可以通过静态方法构造出不同特性的线程池让我们快速使用。常见的Executors创建线程池有几种:1.2 ExecutorService接口ExecutorService接口继承自Executor接口,Executor接口至定义了一个execute(Runnable r)抽象方法,ExecutorService是对Executor的补充,它定义了线程池的一系列同样方法:1.3 自定义线程池ThreadPoolExecu原创 2022-07-04 15:52:05 · 123 阅读 · 0 评论 -
聊聊BlockingQueue阻塞队列
阻塞式队列顾名思义在队列FIFO的结构模式下增加了阻塞的功能,也就是说给队列添加元素和弹出元素的操作会有阻塞的行为。Queue接口继承自Collection,属于Java集合的一员。它提供了一系列的对队列这种FIFO结构的抽象方法。...原创 2022-07-02 17:13:03 · 1074 阅读 · 0 评论 -
面试必问synchronized内存语义和锁升级锁优化、偏向锁、轻量级锁、重量级锁
一段程序代码内如果存在对共享资源的多线程访问,称这段代码块为,共享资源为。多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了竞态条件。解决竞态条件的发生,可以有多挣手段可以解决:1.3 公平/非公平锁线程是否根据抢锁顺序执行这并不是公平、非公平的判断依据。公平锁和非公平锁的区别在于在。只要入队以后,就不存在公不公平的问题了。内置锁和AQS都是这个意思,只不过内置锁和AQS对抢锁顺序的策略有所不同罢了。synchronized又称,底层是基于Monitor监视器机制实现,其内存原创 2022-07-02 17:03:40 · 909 阅读 · 0 评论 -
深入理解CAS和常用原子类
针对一个变量,首先对变量进行修改,然后比较它的内存值和期望值进行比较,如果相同则将修改后的新值覆盖内存,否则什么都不处理。CAS的比较和交换两个步骤通过CPU的一个汇编指令执行,具有原子性,通常CAS可以看做是一种乐观锁的机制。Java的CAS机制是通过unsafe类来进行API调用完成,例如对int变量的CAS操作,可...原创 2022-07-02 16:59:22 · 1010 阅读 · 0 评论 -
深入理解Java线程
:操作系统分配资源的最小单元,是一个程序在操作系统的一个实例抽象。:是CPU调度执行最小单元,一个进程可包含多个线程,是一个指令序列。:程序运行在用户空间,也只能访问到用户空间的数据。:程序运行在内核空间,拥有所有资源的访问权限。进程(线程)的上下文切换只能发生在内核模式下。上下文切换主要有三个步骤:...原创 2022-07-02 16:56:37 · 403 阅读 · 0 评论 -
Java内存模型JMM和并发三大特性(volatile、MESI、总线风暴、内存屏障)
现代计算机模型中,CPU的最小调度单元就是线程,在OS中,县城管就是进程中的一条执行流程,同一个进程中多个线程可以共享代码片段、数据段、打开的文件等,但是每个线程都有专属自己的寄存器、栈结构。:在同一时刻,有多条指令在多个CPU核心上同时执行。:在同一时刻,同一个CPU核心上只能执行一条指令,多个线程被快速的调度切换来占用CPU核心的计算资源,在微观尺度上并不是同时执行,但在人类感触宏观表现是同时执行。并发的概念可以在单核架构存在,多核和多CPU同样也存在线程并发的概念。......原创 2022-07-02 16:53:34 · 1310 阅读 · 1 评论 -
计算机网络(TCP协议)
被称为面向连接的传输层控制协议,这是因为在一个应用程序给另一个应用程序发送数据之前这两个进程需要相互先"握手"。,如果一台主机上的进程A与另一台主机上的进程B存在一条TCP连接,那么应用层数据可以从A->B,也可以C->A,并且这可以是同时发生的;,在一个TCP连接中是点对点的通信,所谓的"多播"模式,TCP是不支持的。客户端首先要发送一个特殊的TCP报文段,服务器用另一个特殊的TCP报文段来响应,最后客户在用第三个特殊TCP报文段最为应答,前两个报文段不承载真实数据或叫,第三个报文段可以承载数据,这几原创 2022-06-27 23:12:46 · 637 阅读 · 0 评论 -
计算机网络(HTTPS)
HTTP本身不具备加密的功能,所以无法做到对通信整体数据的加密处理。TCP/IP协议簇的工作机制在所有连通链路上都有可能遭到窃听。HTTP协议实现本身非常简单,无论是谁发送过来的请求都会响应,因此不确认通信双方的身份就有隐患。HTTPS = HTTP+加密+认证+完整性保护。HTTPS并不是应用层一种全新的协议,只是HTTP通信接口部分SSL和TLS协议替代而已。SSL是独立于HTTP协议的,其它应用层协议如SMTP、Telnet也可结合SSL使用,SSL已经成为目前网络应用最为广泛的安全技术之一。如果加原创 2022-06-27 23:10:08 · 136 阅读 · 0 评论 -
计算机网络(HTTP上)
HTTP协议和TCP/IP协议簇内的其它众多协议类似,用于客户端和服务端的数据通信,在一条通信线路上必定有一端是客户端,另一端是服务端。HTTP的全名叫,它定义了Web客户端向服务端请求Web的标准方式,同时它也是一个无状态的协议。HTTP不保存状态,也就是说每当有新的请求发送时,就会有对应的新响应产生,协议本身不会保留之前的请求响应结果。这是为了快速的处理大量事务,确保协议的可伸缩性,特意如此设计。:统一资源标志符,HTTP协议使用URI进行互联网资源的定位,在客户端请求资源时,URI需要将作为请求报文原创 2022-06-27 23:08:59 · 220 阅读 · 0 评论 -
操作系统零拷贝技术、PageCache
在早期计算机中,系统的I/O流程如下:由于整个数据的传输过程都需要CPU亲自参与,如果数据量很大的时候,显然这种模式会消耗 大量CPU时间,于是直接内存访问DMA技术就诞生了。DMA是一种特殊的芯片,它可以控制设备控制器和内存数据交互,无需CPU干预控制和拷贝过程。技术并不是一次拷贝也没有,而是减少文件的拷贝次数。:内存文件映射,操作系统可以通过mmap()函数将磁盘上的文件映射到内存的一块区域,进程可以像读写内存一样来读写该文件。在传统的read()函数中,read函数会将内核缓冲区数据原创 2022-06-27 23:07:02 · 337 阅读 · 0 评论 -
计算机网络(分层和协议)
计算机间通过网络通信时事先要达成的一种约定和数据传递规则,这种约定由不同的厂商、不同的操作系统之间,只要遵循相同的规则就能够事先信息互换、通信。反之,计算机之间无法解析对方的数据。互联网中常见的协议有IP、TCP、UDP、HTTP、SMTP、FTP等,局域网LAN中常见的协议有IPX/SPX等。分组交换是指将大数据翻个成一个个叫做package的较小的单位进行传输的方法。一个较大的数据被分为多个分组时,为了标明是原始数据的哪一部分,就有必要将分组的序号写入包中,接收到包后,解析包结构得到序号再根据序号...原创 2022-06-26 22:56:42 · 194 阅读 · 0 评论 -
操作系统(设备管理和IO控制)
块设备将数据保存在固定大小的硬件单元中,每个单元有自己的地址,例如硬盘。原创 2022-06-26 22:53:37 · 686 阅读 · 0 评论 -
操作系统(文件系统和虚拟文件系统)
是进程创建的信息逻辑单元,一个磁盘上含有成千上万个文件,每个文件是独立于其它文件的,文件是持久化在硬盘之上,每一个文件对应了磁盘上唯一的地址空间。文件是受到操作系统管理的,有关文件的构造、命名、访问、使用、保护都是通过操作系统管理,其中管理文件的部分称之为。是一种抽象机制,它提供了一种在磁盘上保存信息并且方便后续读取的方式,文件的具体命名规则不同的操作系统规则不尽相同,有些文件系统区分字母大小写,也有不同的位数限制。...原创 2022-06-26 22:50:16 · 993 阅读 · 0 评论 -
进程间通信的方式
进程通常需要与其它进程进行协作完成工作任务,他们之间需要通信已到达信息交互的需求,进程的用户空间都是私有的,而内核空间是共享的,所以进程间通信是基于内核的通信技术进行数据传递。...原创 2022-06-26 22:11:58 · 453 阅读 · 0 评论 -
操作系统(进程调度、线程)相关知识点
现代计算机模型中CPU执行任务调度的最小单元;在操作系统中,线程是进程当中的⼀条执⾏流程。同⼀个进程内多个线程之间可以共享代码段、数据段、打开的⽂件等资源,但每个线程各⾃都有⼀套独⽴的寄存器和栈,这样可以确保线程的控制流是相对独⽴的。...原创 2022-06-26 22:07:12 · 233 阅读 · 0 评论 -
操作系统(进程)相关概念
是操作系统对一个运行程序的逻辑抽象,也是操作系统分配系统资源的最小逻辑单元。所谓是指CPU由一个进程快速切换至另一个进程,使得每个进程各运行几十或几百毫秒,在某一个时刻CPU只能运行某一个进程,在1秒内操作系统可能运行着多个程序,这样就产生了一个错觉,认为操作系统是同时运行多个程序,所谓的就是这个情形。:多核心处理,多任务在同一时刻由多个CPU核心处理,执行的任务达到并行的效果。:在单处理器领域,同一个时刻只有1个任务执行,由CPU调度策略控制,任务交替执行。在UNIX系统中,可以通过函数创建新的进程,这原创 2022-06-26 22:03:47 · 206 阅读 · 0 评论 -
操作系统(内存分页和Linux)
大部分虚拟内存使用一种称之为的技术,虚拟地址空间按照一定大小被分成若干个页或称之为页面。原创 2022-06-26 21:31:32 · 265 阅读 · 0 评论 -
操作系统(概述、内存管理)
现代的操作系统是指,运行在计算机硬件基础之上的软件,该软件提供了用户和硬件控制的桥梁,统一管理硬件的各种资源分配调度问题,响应用户程序的指令请求并提供服务,简称为操作系统。...原创 2022-06-26 21:27:23 · 409 阅读 · 0 评论 -
计算机组成原理(存储、总线、链接)
计算机的信息终将需要存储设备进行时空区域内进行存储,根据不用的应用场景有大小之分、快慢之分。不同的存储技术组成了计算机的存储器层次模型,每个层次都有各自的职责和必要。原创 2022-06-26 19:01:31 · 1264 阅读 · 0 评论 -
计算机组成原理(发展、组成、CPU)
计算机的发展史和基本组成和工作原理原创 2022-06-26 18:42:31 · 354 阅读 · 0 评论