计算机网络重点知识整理
计算机网络概述
计算机网络的概念
定义
一些互连的、独立自治的计算机集合。最重要的功能是连通性和资源共享
分类
从网络的作用范围进行分类 广域网 WAN (Wide Area Network) 局域网 LAN (Local Area Network) 城域网 MAN (Metropolitan Area Network) 个人区域网 PAN (Personal Area Network) 从网络的使用者进行分类 公用网 (public network) 专用网 (private network) 接入网 AN (Access Network)
计算机网络的性能指标
基础前置知识
比特(bit)意思是一个二进制数字(0或1)。 B为字节(Byte),b为比特(bit),一字节为8比特,即1B = 8b。 网络技术中的数率指的是数据的传送速率,当数据率较高时,常常在bit/s前面加上字母,比如k = 10310^3103,M = 10610^6106,G = 10910^9109,T = 101210^{12}1012等。 注意区分网络传输和文件系统中的数据后缀字母。比如一个 ...
计算机操作系统复习纲要
操作系统引论
操作系统基础知识
定义:操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
设计目标:在计算机系统上配置操作系统,,其主要目标是方便性,有效性,可扩充性和开放性。
作用:可以从用户,资源管理以及资源抽象等多个不同角度来分析讨论。
OS作为用户与计算机硬件系统之间的接口
OS作为计算机系统资源的管理者
OS实现了对计算机资源的抽象
操作系统的发展过程
未配置操作系统的计算机系统——单道批处理系统——多道批处理系统——分时系统——实时系统——微机操作系统的发展
单道批处理和多道批处理系统的原理,优缺点
单道批处理系统
原理
计算机系统自动的一个作业紧接一个作业地进行处理,直至磁带上所有作业全部完成。虽然系统对作业的处理是成批的,但在内存中始终只保持一道作业。
优缺点
主要缺点是系统中的资源得不到充分利用。优点是一定程度上提高了系统资源利用率。
多道批处理系统
原理
用户所提交的作业先存放在外存上,并排成一个队列,然后作业调度程序按照一定的算法,从队列选择若干个作业调入内存,使他们共享CPU和系统 ...
数据结构篇:校园最短路径导航
地图数据的配置以及图的建立[toc]
首先去找一张学校的地图,并且自己配置好数据和路线** 在代码里面写好数据
123456 //地点信息char _mapName[32][50] = {"行政楼","实验楼D", "教学楼A", "篮球场", "足球场", "A4", "实验楼C", "教学楼B", "A2", "A6", "计算机系", "苏果超市", "果曼优品", "实验楼A", "教学楼C", "图书馆", "一食堂", "D2", "D8", "C4", "中国联通" ...
数据结构篇:二叉树
二叉树的创建,递归遍历及其他基础知识
二叉树的相关概念
结点的度。结点所拥有的子树的个数称为该结点的度。例如右图B结点度数为2
叶结点。度为0的结点称为叶结点,或者称为终端结点。例如右图的F,D,C结点
分枝结点。度不为0的结点称为分支结点,或者称为非终端结点。一棵树的结点除叶结点外,其余的都是分支结点。例如右图的A,B,E,左图的A,B
结点的层数。规定树的根结点的层数为1,其余结点的层数等于它的双亲结点的层数加1。例如右图的F结点层数为4
树的深度(高度)。树中所有结点的最大层数称为树的深度。例如右图深度为4
树的度。树中各结点度的最大值称为该树的度。一般情况下,二叉树的度都为2
先给出结构
12345 struct BiTree { char data; BiTree *lchild,*rchild;};
二叉树的创建
只能用先序法创建,单独的中序或后序都无法进行创建,原因和解决办法我会在以后博客进行完成
12345678910111213141516171819202122232425 BiTree * Tree :: PreC ...
C#篇:剖析c#中的异步方法
本文翻译自
https://blogs.msdn.microsoft.com/seteplia/2017/11/30/dissecting-the-async-methods-in-c/
前言
c#语言对于开发人员的工作效率非常好,我很高兴最近的努力使它更适合于高性能应用程序。 下面是一个例子:C#5引入了“async”方法。从用户的角度来看,该特性非常有用,因为它有助于将几个基于任务的操作组合成一个操作。但是这种抽象是有代价的。任务是引用类型,在创建它们的任何地方都会导致堆分配,即使在“async”方法同步完成的情况下也是如此。使用C#7,异步方法可以返回类似于任务的类型,比如ValueTask,以减少堆分配的数量,或者在某些场景中完全避免它们。 为了理解所有这些是如何实现的,我们需要深入了解异步方法是如何实现的。
历史回顾
但首先,让我们回顾一下历史。 类Task和Task<T>是在.Net 4.0中引入的,在我看来,在.Net中的异步和并行编程领域发生了巨大的思想转变。与以前的异步模式(如.Net 1.0中的BeginXXX/EndXXX模式,也称为“异步编程 ...
关于ISharedComponent的一切
前言
ECS中的ISharedComponent是一个非常重要的概念,但是理解起来却不是这么容易,前阵子找到一篇讲ISharedComponent的文章,感觉例子举的很好,讲的也很透彻,故翻译出来分享给大家。
本文翻译自:https://gametorrahod.com/everything-about-isharedcomponentdata/
正文
这是ECS最容易被误解的功能之一。当您不知道它是如何设计的时候,通常会出现诸如“如何在工作中获取SCD数据?我不能?那有什么卵用!”这样的问题。因此,让我们开始了解它是如何工作的。
数据共享并不那么ECS
众所周知,ECS会紧密排布entity数据成为chunk。同样,高性能C#(HPC#)的限制是得确保您没有通往外界的任何“门户”。static无法使用。禁用别名。分析器无法通过公有字段引入job的引用类型。它也不会让您将指针潜入IComponentData其中。另外,存储器必须是线性的。
“共享”的概念听起来根本不像ECS。在ECS中,可以从chunk中获取任何用来工作的数据。您不会在任何地方跳转,这就是“默认情况下的性能”的 ...
ET篇:master消息机制介绍
终于到了核心部分之一了——消息机制
一般消息的流转
既然讲到消息,我们要到消息的源头——客户端
来到Unity.Hotfix的Init文件,并定位到这一句
1Game.EventSystem.Run(EventIdType.InitSceneStart);
他会执行这里的Run代码(不知道为何的去复习ETBook的EventSystem哦)
进入UILoginFactory,他是登录UI的工厂类,在这个工厂将完成一系列的操作
123456789101112 //获取资源组件,用以加载资源ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent<ResourcesComponent>();//加载UI的AB包resourcesComponent.LoadBundle(UIType.UILogin.StringToAB());//获取到登录UIGameObject bundleGameObject = (GameObject)resourcesComponent.GetAsset(UIT ...
2019年度总结
提前总结
梦想,依旧是那个梦想,以前觉得梦想很远,现在努力了那么久,感觉还是很远,哈哈,不然怎么叫梦想呢。
回想
我的2019年感觉过的很快,仿佛昨天才是去年的寒假。但是我书桌上那些新增的书籍和新增的几百把LOL比赛记录告诉我确确实实又老了一岁。
去年的寒假我经常在寒冷的夜里写代码,看框架。为什么要说是寒冷的夜里呢,因为开了空调我还是膝盖以下冰凉,别问,问就是撸多了肾虚。
其实2019的很多事情都已经想不起来了,但是一定是不重要的事情,重要的东西我肯定不会忘。
能回想起的最早的源头就是我这个网站备案号批下来开始。。。
二月
然后2月份回到学校继续帮别人做游戏。这件事的完整经过详情可以去我的大学历程(未完待续)查看。
对了,二月份回到学校后我还把玩了两年的台式电脑给卖了。(专门又重新下载的二手平台才找到的这张图)
然后买了一个二手笔记本,因为我深刻体会到了假期在家玩不了游戏(划掉,是不能顺畅的学习)的痛苦。
三月,四月
一直做到3,4月份左右,我感觉有点不对劲了,因为在开发的过程中我感觉到自己还有很多东西不会,还有更多东西需要学,而大学时光恰恰就是学习的最好时光,所以我和合作 ...
Box2D篇:碰撞关系可视化编辑器
前言
我们在游戏中难免会有碰撞检测然后进行处理这一需求,那么,错综复杂的碰撞关系无疑就成了一大设计难点,规模和数量少点还好说,直接写在代码即可,规模一大,就需要借助excel的帮助下,但是也免不了使用true/false作为标识,在修改,拓展的时候麻烦,在读取数据的时候会造成不必要的空间浪费。(我明明没可能和这个东西碰撞,为什么还要单独给他一个bool字段呢?)。所以我就想着,能不能做个东西,稍微缓解一下这个问题,于是就有了今天这篇文章。
相关知识点
Node_Editor_Framework,开源地址:https://github.com/Seneral/Node_Editor_Framework
Odin相关特性
Bson序列化反序列化数据
正文
先放一张编辑器图片
这就是使用了Node_Editor_Framework的编辑器,我们可以看到,在里面对不同的碰撞体进行了分组(分类)操作,然后根据需求进行连线即可。 至于数据的处理,我提供了很多一键傻瓜式按钮,只需要点一下就行。
创建数据
首先是Create Group,此操作将会创建一个Group,所有在此Grou ...
C#篇:对字典引用内容的探究
前言
我现在在做的项目有这样一个需求,从二进制文件反序列化出一个类(HeroDataRes),这个类里包含一个英雄的所有基本信息,然后服务端缓存这个类,等到玩家第一次请求的时候就新建一个运行时HeroDataRT类,并将数据传输过去,由于项目采用的状态同步策略,所以服务端需要持有每个玩家操控的英雄基本信息。基本关系就是这样 那么现在就要面临一个问题,HeroDataRT是从HeroDataRes取得的数据,而HeroDataRes里面难免会有class,我们都知道,字典本身是引用类型的,那么修改HeroDataRT类中的数据会不会对HeroDataRes里面的数据产生影响呢?
例子
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950using System;using System.Collections.Generic;namespace ConsoleApp1{ class Program { st ...