软件工程
文章平均质量分 89
HilariousDog
email: fyli88@qq.com
记录所学,帮助成长。Good luck!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux网络编程2——reator事件处理模型及服务器百万并发的实现
在阻塞IO模式下,发送缓冲区爆满会导致send函数陷入阻塞,直接导致连接增长停止。在非阻塞IO模式下send函数会直接返回-1,这可能导致短时间内频繁系统调用上下文切换,从而导致cpu占用提升,连接增长变缓慢。例如当.bss段大于4GB时,采用相对引用的话,其与代码段的偏移可能超过32为地址所能表示的范围,因此需要改用更大的代码模型。由于客户端也需要为每一个连接在本地分配一个端口,如果用于测试的客户端针对同一个远程ip和端口建立的连接太多,会导致客户端端口不足。可以尝试扩大TCP缓冲区,在。原创 2024-10-22 17:07:29 · 483 阅读 · 0 评论 -
linux网络编程1——IO管理(select/poll/epoll)
以上讲的IO多路复用关注的都是IO事件的管理,epoll对于大量并发连接的场景性能很好,poll适用于IO连接很少的时候,select的可移植性强。IO事件管理任何网络应用程序都需要的,与业务层无关。原创 2024-10-22 17:06:05 · 1102 阅读 · 0 评论 -
linux链接、目标文件全解析
在编译时,编译器向汇编器输出每个全局符号,要么是强,要么是弱,汇编器会把强弱信息隐含在符号表中。所谓强符号,是指函数和已初始化的全局符号,而弱符号就是未初始化的全局变量。请牢记定义。规则1:不允许有多个同名的强符号。规则2:如果有一个强符号和多个弱符号同名,那么选择强符号。规则3:如果有多个弱符号同名,那么从这些弱符号中任意选择一个。// 强符号int y = 12;// 强符号int main()f();return 0;原创 2024-10-22 16:59:23 · 1367 阅读 · 0 评论 -
设计模式基础知识以及典型设计模式总结(上)
设计模式是指在软件开发中,经过验证的,用于解决在特定环境下重复出现的特定问题的解决方案。简单的说,设计模式是解决问题的固定套路。慎用设计模式。在父类中定义处理流程的框架,在子类中实现具体处理的模式。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特性。定义了对象间的一种一对多的依赖关系,当一个对象(subject)的状态发生变化时,所有依赖于他的对象(Observers)都得到通知,并自动更新。本质是“触发联动”。 **定义一系列算法,把他们一个个封装起来,并使其可相互替换。原创 2024-10-22 16:45:28 · 1110 阅读 · 0 评论
分享