扩展阅读 【.NET Core框架】配置(Configuration)
扩展阅读 【.NET Core框架】配置(Configuration)
Thread 类 ThreadPool 类 Task 类 Parallel 类 Parallel.ForEach()用于数据并行性 Parallel.Invoke()用于任务并行性 async/await 异步操作 Concurrent 类:并发集合 线程安全(多线程并发同步) 使用lock关键字使并发线程同步 使用Interlocked类使并发线程同步 使用Mutex类使并发线程同步 并发...
为什么会有粘包问题? 粘包问题发生在 TCP/IP 协议中,因为 TCP 是面向连接的传输协议,它是以“流”的形式传输数据的,而“流”数据是没有明确的开始和结尾边界的,所以就会出现粘包问题。 粘包问题是指当发送两条消息时,比如发送了 ABC 和 DEF,但另一端接收到的却是 ABCD和EF,像这种一次性读取了两条数据的情况就叫做粘包(正常情况应该是一条一条读取的)。 半包问题是指,当发送的消...
CentOS6 安装docker 注意: docker官方已经找不到centos6版本的安装方式了, 官网上推荐是centos7及其以上版本的安装 只能通过rpm包安装 rpm包安装 # 查看服务器内核版本 [root@xxxxx ~]# uname -r 2.6.32-754.35.1.el6.x86_64 # rpm包安装 # 所有版本rpm包:https://cbs.centos.o...
对GC工作模式的分类 为了满足不同的内存使用要求,GC 有一些选项来配置其运行方式。有两种主要模式:工作站模式(旨在最小化延迟)和服务器模式(旨在最大应用程序吞吐量)。GC 还支持两种“子模式”之一——并发或非并发 工作站模式 服务器模式 并发垃圾回收(.NET Framework 4以上被后台垃圾回收代替) 非并发垃圾回收(.NET Framework 4以上被后台垃圾回收代替) 后台垃...
对象池介绍 池化并不是什么新鲜的技术,它更像一种软件设计模式,主要功能是缓存一组已经初始化的对象,以供随时可以使用。对象池大多数场景下都是缓存着创建成本过高或者需要重复创建使用的对象,从池子中取对象的时间是可以预测的,但是新建一个对象的时间是不确定的。 当需要一个新对象时,就向池中借出一个,然后对象池标记当前对象正在使用,使用完毕后归还到对象池,以便再次借出。 常见的使用对象池化场景: 对...
什么是"函数式编程"? 函数式编程是一种风格范式,没有一个标准的教条式定义。函数式编程是一种编程范式,它将电脑运算视为函数运算,并且避免使用程序状态以及易变对象。其中,λ演算是该语言最重要的基础。而且λ演算的函数可以接受函数作为输入的参数和输出的返回值。 函数式编程只是一系列想法,而不是一套严苛的规定。 函数式编程具有什么样的特点? 函数是"第一等公民" 函数为第一公民是函数式编程的基础 如...
形象的理解什么是委托 顾名思义,委托,把事情托付给他人或机构(办理)。诸如:“当事人委托律师出庭辩护”,“我能委托你办一件事吗”。总的来说就是委托方将具体的事情交给被委托方来做, 委托方不关心具体过程,只关心开始和结果。被委托方执行具体内容即可。 委托的使用会经历如下的过程 委托的声明: 定义委托内容中需要什么,达到什么样的效果。定义出庭辩护 编写委托方法: 按照定义的标准, 详细制定委托...
/bin/sh^M: bad interpreter:解决办法 xcode编译时有时候遇到/bin/sh^M: bad interpreter:没有那个文件或目录这样的错误 可以用以下方式解决 先在控制台cd到报错的目录 vim xxx.sh # xxx.sh报错的那个文件 :set ff # 如果出现fileforma=dos那么就基本可以确定是这个问题了。 :set ff=unix # ...
由于目标程序依赖java7,但是java7版本官方未维护了,且大多数源中都不提供7版本的了 众所周知,java7安装需要非常多的依赖,ubuntu22.04安装非常麻烦,搞了半天最终还是放弃了。 然而,目标程序只有openfire-3.10.3-1.i386.rpm集成了java7可以直接使用,但是ubuntu中无法安装32位的rpm程序。 错误:the package cannot be ...
.NET CLI命令 本地和全局管理工具 诊断工具 代码分析工具 实战演练 其他工具 核心转储(core dump)是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件(进程内存的快照)。这种信息往往用于调试(事后调试)。 扩展阅读 官方文档: .NET CLI 概述 官方文档: 如何管理 .NET 工具 官方文档: .NET Cor...
概述 Socket实现异步TCP服务器 Socket实现同步TCP服务器 TcpListener实现异步TCP服务器 TcpListener实现同步TCP服务器 Socket实现异步UDP服务器 Socket实现同步UDP服务器 UdpClient实现异步UDP服务器 UdpClient实现同步UDP服务器 C#高性能TCP服务的多种实现方式 其他常用库:DotNetty C#网络编程系列文...
typeof判断变量类型 用以判断基本变量类型, 对于复杂数据类型基本都返回object console.log(typeof "hello"); // string console.log(typeof 123); // number console.log(typeof true); // boolean console.log(typeof {}); // object con...
python中形参和实参的特殊字符有哪些? 参考官方文档: https://hlog.cc/docs/python/tutorial/controlflow.html#positional-or-keyword-arguments 位置参数/关键字参数 位置参数, 同其他编程语言一致, 位置参数形参的顺序很重要 关键字参数, 以kwarg=value形式定义的参数 关键字参数使用注意...
PropertyInfo、FieldInfo和MemberInfo的区别 在C#反射机制中,PropertyInfo、FieldInfo和MemberInfo的区别 我们做如下实验 public class ttt { public int test = 6; private int privateTest = 5; public string pubStr = "c...
近日,有网友在乌云上发布了一则Discuz论坛附件下载权限绕过漏洞,能够任意下载带有权限的附件并且无需扣除自身积分。目前Discuz正在处理中,但暂未放出漏洞补丁,有需要的朋友不妨趁漏洞修补之前到各论坛大肆搜刮一番。 漏洞重现步骤: 找到任一带有权限附件,右键点击选择复制链接地址 得到类似下列网址,将aid=其后部分复制 http://***/forum.php?mod=attachme...
话说, 在并发编程中通常使用的两种方案是: 共享数据 与 消息传递. 使用共享数据方式的并发编程面临的最大的一个问题就是数据条件竞争,处理各种锁的问题是让人十分头痛的一件事。 基于消息传递的并发模型有CSP模型(golang)和Actor模型, 这两种模型很像, 本文只讨论Actor模型. Actor简介 Actor模型是一个通用的并发编程模型,而非某个语言或框架所有,几乎可以用在任何一门编...
实现一个MMO游戏框架需要考虑的问题 游戏服务器与web服务器的不同之处 游戏服务器说到底,最重要的几点就是保持状态、低延迟、交互。这几点就让游戏服务器和普通的服务器(比如电商后端)区分开来了 游戏服务器特有的 保持连接:游戏一般来说需要保持一个客户端到服务端的连接,可以对客户端的玩家的行为(移动,攻击,操作,互动,聊天)进行及时的反馈以及主动推送给相关的玩家。所以游戏更多的使用TCP来保持...
数据编码之间的转化 设计到的格式 十六进制字符串 "9A 00 1B CB 34 00 C7 00 00 30 10 00" 十进制字符串 "154 0 27 203 52 0" 大端模式 十六进制转字符串 转化方法 # 十进制(数字) -> 十六进制(字符串) hex(128) == '0x80' # True hex(128) == '80' # False hex(1...