
深耕计算机基础
文章平均质量分 83
深耕计算机基础
闫同学鸭
让旷野天空放一片晴
展开
-
原来go build命令有这么多学问
go build 是 Go 语言中一个非常强大且灵活的命令,它使得从源代码到可执行文件的转换变得简单而直接。通过利用它的各种选项和跨平台编译功能,你可以轻松地编译和分发你的 Go 程序。无论是在开发过程中还是在准备部署时,go build 都是 Go 程序员工具箱中不可或缺的一部分。与此同时,编译原理确实是一门非常值得深入学习的课程,它不仅在理论层面上构筑了计算机科学的重要基石,更在实践应用中展现了其无可替代的价值。原创 2024-10-05 11:01:52 · 2624 阅读 · 0 评论 -
抛开事实不谈,URL和URI是不是一个东西?
从范围来讲,URI是一个更广泛的概念,它可以唯一标识任何类型的资源,而URL则特指那些可以通过网络协议(如HTTP)定位的资源。虽然URI和URL在组成上有很多相似之处(如都包含方案、路径等),但URL更侧重于资源的定位,因此通常包含主机名和可能的端口号。在用途方面,URI用于唯一标识资源,而URL则用于定位并访问这些资源。因此,当你看到“URI”时,它可能指的是任何类型的资源标识符,而当你看到“URL”时,你通常可以认为它是一个具体的、可访问的网络资源地址。原创 2024-08-25 21:03:16 · 1073 阅读 · 0 评论 -
一文搞懂常见的网络I/O模型
对于网络I/O模型的学习,在操作系统中是非常重要的一环,因为I/O也同样是我们系统设计中至关重要的一个方面和要考虑的因素,因此想利用一篇文章来解析一下原创 2022-07-06 14:41:56 · 426 阅读 · 10 评论 -
玩转gRPC—深入概念与原理
本篇文章属于一篇知识的捡漏和复盘类的文章,主要目的就是为了复盘一下gRPC的相关概念,并剖析其原理。原创 2022-07-04 20:22:30 · 1340 阅读 · 10 评论 -
详解线程同步和线程互斥,Java如何实现线程同步和互斥
最开始我们的操作系统的作业的调度单位是进程,但是由于每个进程都单独占据一个资源,而且进程的形态转换非常的耗费系统资源。为了系统的调度更加轻量级,能够更好的支持并发,因此引入了线程这个概念。...原创 2022-06-09 21:04:03 · 1234 阅读 · 0 评论 -
玩转子网划分和超网汇聚
1 概述1.1 子网划分当我们对一个网络进行子网划分时,基本上就是将它分成小的网络。比如,当一组IP地址指定给一个公司时,公司可能将该网络“分割成”小的网络,每个部门一个。这样,技术部门和管理部门都可以有属于它们的小网络。通过划分子网,我们可以按照我们的需要将网络分割成小网络。这样也有助于降低流量和隐藏网络的复杂性子网划分优点:1.减少网络流量 2.提高网络性能 3.简化管理 4.易于扩大地理范围1.2 为什么要划分子网节约IP地址,避免浪费。限定广播的传播。保证网络的安全。原创 2021-10-22 13:24:03 · 1176 阅读 · 2 评论 -
深入线程池原理
1 翻一翻ThreadPoolExecutor1.1 类关系图1.2 成员变量—线程池状态(生命周期)private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0));private static final int COUNT_BITS = Integer.SIZE - 3;private static final int CAPACITY = (1 << COUNT_BITS) - 1;// ru原创 2021-10-26 19:52:39 · 238 阅读 · 0 评论 -
Shell脚本语言基础
Shell脚本语言基础1 基本介绍Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。2 Hello World2.1 文件命名和头部标识、执行方式文件命名:一般以xx.sh为shell脚本文件的名称头部标识:一般在文件内容的第一行加入#!/bin/bash执行方式:一般使用命令./xx.sh执行shell脚本文件2.2 编写HelloWorldymx@ymx-PC:~/Desktop/files/shellTes原创 2021-09-24 15:51:35 · 536 阅读 · 0 评论 -
翻译翻译,什么是CAP
翻译翻译,什么是CAP1 CAP定理CAP,是一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)三个英文单字首字母的缩写,是分布式系统设计中应用最为广泛的技术理论之一,代表着分布式系统设计中三个最重要的实现瓶颈,而且CAP三者中只能选择其中两种进行实现,这两种一般是CP和AP,具体细节,请看下文分解:2 翻译翻译什么是一致性、可用性、分区容错性2.1 一致性(Consistency)概念:指分布式系统的各个子节点的数据在同一时原创 2021-10-04 07:55:36 · 1317 阅读 · 0 评论 -
Linux目录常用操作
1 概念目录就是部分文件和目录的集合,在Linux中可以理解为树结构中的节点绝对路径和相对路径:绝对路径:可以理解为,相对于任何位置的路径写法:一定是由根目录“/”写起,例如:“/usr/local”相对路径:相对于当前目录的路径写法:不是由“/"写起,例如:“/usr/local/java”在“/usr/local”中就可以写成“java”或“/java”(当java是文件时可写成“./java”,“.”代表当前目录)举例:问题:文件File02的绝对路径和在Dir02以原创 2021-08-23 09:37:20 · 406 阅读 · 0 评论 -
趣谈Linux用户管理
说到Linux的用户系统,不得不让人联想到:没错就是他,Linux中最厉害的用户,没有之一,维护世界和平,维护系统治安可以对全部用户、全部目录、全部文件等等为所欲为的超级用户,英文名称root。1 Linux用户层级以及组的关系超级管理员:用户名root,对Linux系统具有最高级别权限,可以对系统的任何文件和目录进行操作。用户组:具有唯一GID的多个用户的集合。一般用户:Linux的一般使用用户,具有唯一的UID。2 GID和UIDGroup Id,即组ID,用来标识用户组的唯一标原创 2021-08-24 09:34:14 · 382 阅读 · 4 评论 -
计算机网络知识和TCPIP常见问题
计算机网络知识和TCP/IP常见面试题一、首先谈一谈计算机网络模型1.1 OSI七层模型 七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。 它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。 下面这张如可以解释每一层及作用:1.2 TCP/IP四层模型原创 2021-06-27 11:02:58 · 395 阅读 · 2 评论 -
《计算机操作系统》重点知识笔记整理(二)
第五章 虚拟存储器1 特征和局部性原理(P164)(1)特征:一次性、驻留性(2)局部性原理: 原理概述: 程序在执行时将呈现出局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分,相应的,它所访问的存储空间也局限于某个区域。 论点:程序执行时,除了少部分的转移过程调用指令之外,在大多数情况下是顺序执行的。过程调用将会使程序的执行轨迹由一部分区域转至另一部分区域。但经研究看出,过程调用的深度在大多数情况下都不超过5。程序中存原创 2021-06-17 13:15:33 · 1412 阅读 · 5 评论 -
Java实现银行家算法
关于银行家算法,是操作系统进程分配中很重要的一个算法,理论解释请看这篇文章https://blog.youkuaiyun.com/Mr_YanMingXin/article/details/117912913在这里用Java做一下简单代码的实现:/** * Java实现银行家算法 * * @author 17122 */public class Test01 { /** * 数据结构 */ public int[][] allocation; public原创 2021-06-17 16:34:35 · 270 阅读 · 0 评论 -
Java实现信号量机制(生产者消费者问题)的三种方式
一、什么是信号量机制 信号量(Semaphore),是在程序在多线程环境下使用的一种措施或方案,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量semaphore,然后将等待操作以及释放操作分别放置在每个关键代码段的首末端。确认这原创 2021-06-22 14:12:30 · 2279 阅读 · 4 评论 -
《计算机操作系统》重点知识笔记整理(一)
《计算机操作系统》重点知识总结1(1-4章)????注意: 这篇总结文档参考的配套书籍为《计算机操作系统》(第四版) 相关知识点关联的页码可能只与本书配套。????说明: 由于时间关系,该总结的部分知识点可能有所疏落或存在错误,请认真研读不要盲目学习,读者如有补充或问题更正请联系作者[1712229564@qq.com],作者将会表示感谢! 最后,希望尊重作者劳动成果,请大家转载时注明出处,Thanks!????第一章 操作系统引论1 操作系统的定义原创 2021-06-14 21:27:26 · 7914 阅读 · 3 评论 -
一文搞懂从浏览器输入一个URL到页面出现都经历了哪些过程
1 过程一览DNS解析(如果IP直接访问则此过程省略)客户端与服务端进行TCP三次握手连接客户端发送HTTP请求服务器处理请求并返回HTTP报文浏览器解析渲染页面连接结束2 细节剖析2.1 DNS解析域名系统(英文全称:Domain Name System,简称DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。域名系统是In原创 2022-04-10 07:20:36 · 4673 阅读 · 0 评论 -
浅谈Docker底层原理
1 Docker和虚拟机异同如下图,来自Docker官网,左边为Docker,右边为虚拟机,VM虚拟机是在宿主机器操作系统的基础上创建操作系统。Docker是在宿主机器的操作系统上创建Docker引擎,直接调用硬件资源。但是Docker和虚拟机都有的相同点,那就是隔离性,Docker最大优势就是相对于虚拟机更加的轻量级。因此,我们可以总结出:Docker和虚拟机相同点:隔离性资源可分配Docker和虚拟机不同点:虚拟机是硬件层抽象,虚拟硬件和操作系统,而Docker是应用层抽象,只虚拟原创 2022-02-19 12:26:08 · 3498 阅读 · 2 评论