lambda表达式权威指南 《精通lambda表达式:Java多核编程》介绍Java SE 8中与lambda相关的特性是如何帮助Java迎接下一代并行硬件架构的挑战的。本书讲解了如何编写lambda、如何在流与集合处理中使用lambda,并且提供了完整的代码示例。你将学习如何通过lambda表达式充分利用当今多核硬件所带来的性能改进。 主要内容: ● 为何需要lambda,它将如何改变Java编程 ● lambda表达式语法 ● 流与管道的基本操作 ● 使用收集器与汇聚来终止管道 ● 创建流 ● 分割迭代器、fork/join框架与异常 ● 使用微基准测试检查流的性能 ● 使用默认方法演化API
2022-11-12 12:19:26 65.65MB lambda Java 多核编程
1
使用当今世界领先的开源跨平台开发环境Qt 4来一起掌握C++与设计模式! 本书是一本完整的教程和参考书,阅读本书并不要求您拥有C、C++、对象或模式的任何知识。在本书中您将逐步地学习每一个核心概念,通过均已在Qt 4.1下测试过的一组精选示例,您可以一步一步地跨入程序设计的高级殿堂。 完成本书的学习后,您将可以创建多线程GUI应用程序,这些应用程序可以访问数据库和操作XML文件,当然更具有吸引力的是它们可以运行在包括Windows、Linux、Unix和Mac OSX在内的多个平台之上!最令人高兴的是您已经可以编写高效、可复用的一流代码了。
2022-11-09 19:17:33 1.64MB C++ 设计模式 编程
1
云原生分布式存储基石 etcd深入解析-高清-完整目录-2019年1月
2022-10-27 22:50:14 105.49MB 云计算
1
《C#入门经典》系列是屡获殊荣的C#名著和超级畅销书。新版的 C#入门经典(第7版) C# 6.0 & Visual Studio2015 全面介绍使用C# 6和.NET Framework编写程序的基础知识,是编程新手的理想读物。这本分步讲解的实用教程从基本的面向对象编程讲起,浓墨重彩地描述初学者常用的工具,不要求读者具有任何编程经验。紧贴实用的示例使用Visual Studio 2015中的C#环境,涵盖微软为使C#更好兼容其他编程语言所做的新改进。本书呈现微软资深开发人员的专家级建议,将指导初学者立即上手编写Windows和Web应用程序。这是一本成就无数C#程序员的经典名著,厚而不“重”,可帮助您轻松掌握C#的各种编程知识,为您的职业生涯打下坚实的基础,《C#入门经典》自第1版出版以来,全球销量已经达数万册,在中国也有近8万册的销量,已经成为广大初级C#程序员首选的入门教程,也是目前国内市场上最畅销的C#专业店销书,曾两次被CSDN、《程序员》等机构和读者评选为“最受读者喜爱的十大技术开发类图书”!第4版面向C#2008和.NET 3.5 继续完善原有内容,同时全面介绍.NET的最新技术和特性。
2022-10-21 13:29:43 52.3MB C#入门经典
1
1.Introduction2.介绍i.架构,性能和游戏3.再探设计模式i.命令模式ii.享元模式iii.观察者模式iv.原型模式v.单例模式vi.状态模式4.序列模式i.双缓冲ii.游戏循环iii.更新方法5.行为模式i.字节码ii.子类沙盒iii.对象类型6.解耦模式i.组件ii.事件队列iii.服务定位器7.优化模式i.数据局部性ii.脏标记iii.对象池iv.空间划分TableofContentsGitbook地址你是否还在为代码整体规划而苦苦挣扎?是否发现随着代码库的增长却不容易做出些改动?是否感觉到你的游戏就是一个纷乱交杂的巨大的毛球?又或者不知如何将设计模式应用到游戏?听说过“缓存一致性”和“对象池”,但却不知道如何使用它们来提升你的游戏的性能?你们的救星来啦!我撰写了这本书来解答这些问题。这是我在游戏中所使用的模式总结,这些模式能让我们的代码更整洁,更清晰易懂,以及运行更快!当我开始编写游戏时,我希望我有一本这样的书。 --------------------Bob Nystrom
2022-10-18 23:34:27 38.89MB 游戏编程模式 游戏设计模式 设计模式
1
Learn how to implement design patterns in Java: each pattern in Java Design Patterns is a complete implementation and the output is generated using Eclipse, making the code accessible to all. The examples are chosen so you will be able to absorb the core concepts easily and quickly. This book presents the topic of design patterns in Java in such a way that anyone can grasp the idea. By giving easy to follow examples, you will understand the concepts with increasing depth. The examples presented are straightforward and the topic is presented in a concise manner. Key features of the book: Each of the 23 patterns is described with straightforward Java code. There is no need to know advanced concepts of Java to use this book. Each of the concepts is connected with a real world example and a computer world example. The book uses Eclipse IDE to generate the output because it is the most popular IDE in this field. This is a practitioner's book on design patterns in Java. Design patterns are a popular topic in software development. A design pattern is a common, well-described solution to a common software problem. There is a lot of written material available on design patterns, but scattered and not in one single reference source. Also, many of these examples are unnecessarily big and complex. Table of Contents Chapter 1: Introduction Chapter 2: Observer Patterns Chapter 3: Singleton Patterns Chapter 4: Proxy Patterns Chapter 5: Decorator Patterns Chapter 6: Template Method Patterns Chapter 7: Strategy Patterns (Or, Policy Patterns) Chapter 8: Adapter Patterns Chapter 9: Command Patterns Chapter 10: Iterator Patterns Chapter 11: Facade Patterns Chapter 12: Factory Method Patterns Chapter 13: Memento Patterns Chapter 14: State Patterns Chapter 15: Builder Patterns Chapter 16: Flyweight Patterns Chapter 17: Abstract Factory Patterns Chapter 18: Mediator Patterns Chapter 19: Prototype Patterns Chapter 20: Chain of Responsibility Patterns Chapter 21: Composite Patterns Chapter 22: Bridge Patterns (Or Handle/Body Patterns) Chapter 23: Visitor Patterns Chapter 24: Interpreter Patterns
2022-10-03 15:24:58 6.24MB Java Design Patterns
1
《编写高质量代码:改善java程序的151个建议》一共12章,第1~3章针对java语法本身提出了51条建议,例如覆写变长方法时应该注意哪些事项、final修饰的常量不要在运行期修改、匿名类的构造函数特殊在什么地方等;第4~9章重点针对jdk api的使用提出了80条建议,例如字符串的拼接方法该如何选择、枚举使用时有哪些注意事项、出现nullpointerexception该如何处理、泛型的多重界限该如何使用、多线程编程如何预防死锁,等等;第10~12章针对程序性能、开源的工具和框架、编码风格和编程思想等方面提出了20条建议。 《编写高质量代码:改善java程序的151个建议》针对每个问题所设计的应用场景都非常典型,给出的建议也都与实践紧密结合。书中的每一条建议都可能在你的下一行代码、下一个应用或下一个项目中崭露头角,建议你将此书搁置在手边,随时查阅,一定能使你的学习和开发工作事半功倍。 《编写高质量代码:改善java程序的151个建议》 前 言 第1章 java开发中通用的方法和准则/1 建议1: 不要在常量和变量中出现易混淆的字母/2 建议2: 莫让常量蜕变成变量/2 建议3: 三元操作符的类型务必一致/3 建议4: 避免带有变长参数的方法重载/4 建议5: 别让null值和空值威胁到变长方法/6 建议6: 覆写变长方法也循规蹈矩/7 建议7: 警惕自增的陷阱/8 建议8: 不要让旧语法困扰你/10 建议9: 少用静态导入/11 建议10: 不要在本类中覆盖静态导入的变量和方法/13 建议11: 养成良好习惯,显式声明uid/14 建议12: 避免用序列化类在构造函数中为不变量赋值/17 建议13: 避免为final变量复杂赋值/19 建议14: 使用序列化类的私有方法巧妙解决部分属性持久化问题/20 建议15: break万万不可忘/23 建议16: 易变业务使用脚本语言编写/25 建议17: 慎用动态编译/27 .建议18: 避免instanceof非预期结果/29 建议19: 断言绝对不是鸡肋/31 建议20: 不要只替换一个类/33 第2章 基本类型/35 建议21: 用偶判断,不用奇判断/36 建议22: 用整数类型处理货币/37 建议23: 不要让类型默默转换/38 建议24: 边界,边界,还是边界/39 建议25: 不要让四舍五入亏了一方/41 建议26: 提防包装类型的null值/43 建议27: 谨慎包装类型的大小比较/45 建议28: 优先使用整型池/46 建议29: 优先选择基本类型/48 建议30: 不要随便设置随机种子/49 第3章 类、对象及方法/52 建议31: 在接口中不要存在实现代码/53 建议32: 静态变量一定要先声明后赋值/54 建议33: 不要覆写静态方法/55 建议34: 构造函数尽量简化/57 建议35: 避免在构造函数中初始化其他类/58 建议36: 使用构造代码块精炼程序/60 建议37: 构造代码块会想你所想/61 建议38: 使用静态内部类提高封装性/63 建议39: 使用匿名类的构造函数/65 建议40: 匿名类的构造函数很特殊/66 建议41: 让多重继承成为现实/68 建议42: 让工具类不可实例化/70 建议43: 避免对象的浅拷贝/71 建议44: 推荐使用序列化实现对象的拷贝/73 建议45: 覆写equals方法时不要识别不出自己/74 建议46: equals应该考虑null值情景/76 建议47: 在equals中使用getclass进行类型判断/77 建议48: 覆写equals方法必须覆写hashcode方法/78 建议49: 推荐覆写tostring方法/80 建议50: 使用package-info类为包服务/81 建议51: 不要主动进行垃圾回收/82 第4章 字符串/83 建议52: 推荐使用string直接量赋值/84 建议53: 注意方法中传递的参数要求/85 建议54: 正确使用string、stringbuffer、stringbuilder/86 建议55: 注意字符串的位置/87 建议56: 自由选择字符串拼接方法/88 建议57: 推荐在复杂字符串操作中使用正则表达式/90 建议58: 强烈建议使用utf编码/92 建议59: 对字符串排序持一种宽容的心态/94 第5章 数组和集合/97 建议60: 性能考虑,数组是首选/98 建议61: 若有必要,使用变长数组/99 建议62: 警惕数组的浅拷贝/100 建议63: 在明确的场景下,为集合指定初始容量/101 建议64: 多种最值算法,适时选择/104 建议65: 避开基本类型数组转换列表陷阱/105 建议66: aslist方法产生的list对象不可更改/107 建议67: 不同的列表选择不同的遍历方法/108 建议68: 频繁插入和删除时使用linkedlist/112 建议69: 列表相等只需关心元素数据/115 建议70:子列表只是原列表的一个视图/117 建议71: 推荐使用sublist处理局部列表/119 建议72: 生成子列表后不要再操作原列表/120 建议73: 使用comparator进行排序/122 建议74: 不推荐使用binarysearch对列表进行检索/125 建议75: 集合中的元素必须做到compareto和equals同步/127 建议76: 集合运算时使用更优雅的方式/129 建议77: 使用shuffle打乱列表/131 建议78: 减少hashmap中元素的数量/132 建议79: 集合中的哈希码不要重复/135 建议80: 多线程使用vector或hashtable/139 建议81: 非稳定排序推荐使用list/141 建议82: 由点及面,一叶知秋—集合大家族/143 第6章 枚举和注解/145 建议83: 推荐使用枚举定义常量/146 建议84: 使用构造函数协助描述枚举项/149 建议85: 小心switch带来的空值异常/150 建议86: 在switch的default代码块中增加assertionerror错误/152 建议87: 使用valueof前必须进行校验/152 建议88: 用枚举实现工厂方法模式更简洁/155 建议89: 枚举项的数量限制在64个以内/157 建议90: 小心注解继承/160 建议91: 枚举和注解结合使用威力更大/162 建议92: 注意@override不同版本的区别/164 第7章 泛型和反射/166 建议93: java的泛型是类型擦除的/167 建议94: 不能初始化泛型参数和数组/169 建议95: 强制声明泛型的实际类型/170 建议96: 不同的场景使用不同的泛型通配符/172 建议97: 警惕泛型是不能协变和逆变的/174 建议98: 建议采用的顺序是list[t]、list[?]、list[object]/176 建议99: 严格限定泛型类型采用多重界限/177 建议100: 数组的真实类型必须是泛型类型的子类型/179 建议101: 注意class类的特殊性/181 建议102: 适时选择getdeclared×××和get×××/181 建议103: 反射访问属性或方法时将accessible设置为true /182 建议104: 使用forname动态加载类文件/184 建议105: 动态加载不适合数组/186 建议106: 动态代理可以使代理模式更加灵活/188 建议107: 使用反射增加装饰模式的普适性/190 建议108: 反射让模板方法模式更强大/192 建议109: 不需要太多关注反射效率/194 第8章 异常/197 建议110: 提倡异常封装/198 建议111: 采用异常链传递异常/200 建议112: 受检异常尽可能转化为非受检异常/202 建议113: 不要在finally块中处理返回值/204 建议114: 不要在构造函数中抛出异常/207 建议115: 使用throwable获得栈信息/210 建议116: 异常只为异常服务/212 建议117: 多使用异常,把性能问题放一边/213 第9章 多线程和并发/215 建议118: 不推荐覆写start方法/216 建议119: 启动线程前stop方法是不可靠的/218 建议120: 不使用stop方法停止线程/220 建议121: 线程优先级只使用三个等级/224 建议122: 使用线程异常处理器提升系统可靠性/226 建议123: volatile不能保证数据同步/228 建议124: 异步运算考虑使用callable接口/232 建议125: 优先选择线程池/233 建议126: 适时选择不同的线程池来实现/237 建议127: lock与synchronized是不一样的/240 建议128: 预防线程死锁/245 建议129: 适当设置阻塞队列长度/250 建议130: 使用countdownlatch协调子线程/252 建议131: cyclicbarrier让多线程齐步走/254 第10章 性能和效率/256 建议132: 提升java性能的基本方法/257 建议133: 若非必要,不要克隆对象/259 建议134: 推荐使用“望闻问切”的方式诊断性能/261 建议135: 必须定义性能衡量标准/263 建议136: 枪打出头鸟—解决首要系统性能问题/264 建议137: 调整jvm参数以提升性能/266 建议138: 性能是个大“咕咚”/268 第11章 开源世界/271 建议139: 大胆采用开源工具/272 建议140: 推荐使用guava扩展工具包/273 建议141: apache扩展包/276 建议142: 推荐使用joda日期时间扩展包/280 建议143: 可以选择多种collections扩展/282 第12章 思想为源/285 建议144: 提倡良好的代码风格/286 建议145: 不要完全依靠单元测试来发现问题/287 建议146: 让注释正确、清晰、简洁/290 建议147: 让接口的职责保持单一/294 建议148: 增强类的可替换性/295 建议149: 依赖抽象而不是实现/298 建议150: 抛弃7条不良的编码习惯/299 建议151: 以技术员自律而不是工人/301
2022-09-27 13:11:58 14.81MB java 代码 pdf
1
STM32F407中文手册 完全版 高清完整 最新
2022-09-05 11:18:18 12.33MB stm32 综合资源 arm 嵌入式硬件
1
anroid opengl es 开发必备教程,还是带书签的!
2022-08-30 16:42:05 57.42MB opengl es3.0 android opengl
1
unix必学基础 目 录 译者序 译者简介 前言 第1章 UNIX基础知识 1 1.1 引言 1 1.2 登录 1 1.2.1 登录名 1 1.2.2 shell 1 1.3 文件和目录 2 1.3.1 文件系统 2 1.3.2 文件名 2 1.3.3 路径名 2 1.3.4 工作目录 4 1.3.5 起始目录 4 1.4 输入和输出 5 1.4.1 文 件描述符 5 1.4.2 标准输入、标准输出和标准 出错 5 1.4.3 不用缓存的I/O 5 1.4.4 标准I/O 6 1.5 程序和进程 7 1.5.1 程序 7 1.5.2 进程和进程ID 7 1.5.3 进程控制 7 1.6 ANSI C 9 1.6.1 函数原型 9 1.6.2 类属指针 9 1.6.3 原始系统数据类型 10 1.7 出错处理 10 1.8 用户标识 11 1.8.1 用户ID 11 1.8.2 组ID 12 1.8.3 添加组ID 12 1.9 信号 12 1.10 UNIX时间值 14 1.11 系统调用和库函数 14 1.12 小结 16 习题 16 第2章 UNIX标准化及实现 17 2.1 引言 17 2.2 UNIX标准化 17 2.2.1 ANSI C 17 2.2.2 IEEE POSIX 18 2.2.3 X/Open XPG3 19 2.2.4 FIPS 19 2.3 UNIX实现 19 2.3.1 SVR4 20 2.3.2 4.3+BSD 20 2.4 标准和实现的关系 21 2.5 限制 21 2.5.1 ANSI C限制 22 2.5.2 POSIX限制 22 2.5.3 XPG3限制 24 2.5.4 sysconf、pathconf 和fpathconf 函数 24 2.5.5 FIPS 151-1要求 28 2.5.6 限制总结 28 2.5.7 未确定的运行时间限制 29 2.6 功能测试宏 32 2.7 基本系统数据类型 32 2.8 标准之间的冲突 33 2.9 小结 34 习题 34 第3章 文件I/O 35 3.1 引言 35 3.2 文件描述符 35 3.3 open函数 35 3.4 creat函数 37 3.5 close函数 37 3.6 lseek函数 38 3.7 read函数 40 3.8 write函数 41 3.9 I/O的效率 41 3.10 文件共享 42 3.11 原子操作 45 3.11.1 添加至一个文件 45 3.11.2 创建一个文件 45 3.12 dup和dup2函数 46 3.13 fcntl函数 47 3.14 ioctl函数 50 3.15 /dev/fd 51 3.16 小结 52 习题 52 第4章 文件和目录 54 4.1 引言 54 4.2 stat, fstat和lstat函数 54 4.3 文件类型 55 4.4 设置-用户-ID和设置-组-ID 57 4.5 文件存取许可权 58 4.6 新文件和目录的所有权 60 4.7 access函数 60 4.8 umask函数 62 4.9 chmod和fchmod函数 63 4.10 粘住位 65 4.11 chown, fchown和 lchown函数 66 4.12 文件长度 67 4.13 文件截短 68 4.14 文件系统 69 4.15 link, unlink, remove和rename 函数 71 4.16 符号连接 73 4.17 symlink 和readlink函数 76 4.18 文件的时间 76 4.19 utime函数 78 4.20 mkdir和rmdir函数 79 4.21 读目录 80 4.22 chdir, fchdir和getcwd函数 84 4.23 特殊设备文件 86 4.24 sync和fsync函数 87 4.25 文件存取许可权位小结 88 4.26 小结 89 习题 89 第5章 标准I/O库 91 5.1 引言 91 5.2 流和FILE对象 91 5.3 标准输入、标准输出和标准出错 91 5.4 缓存 91 5.5 打开流 94 5.6 读和写流 96 5.6.1 输入函数 96 5.6.2 输出函数 97 5.7 每次一行I/O 98 5.8 标准I/O的效率 99 5.9 二进制I/O 100 5.10 定位流 102 5.11 格式化I/O 103 5.11.1 格式化输出 103 5.11.2 格式化输入 103 5.12 实现细节 104 5.13 临时文件 105 5.14 标准I/O的替代软件 108 5.15 小结 108 习题 108 第6章 系统数据文件和信息 110 6.1 引言 110 6.2 口令文件 110 6.3 阴影口令 112 6.4 组文件 113 6.5 添加组ID 114 6.6 其他数据文件 115 6.7 登录会计 116 6.8 系统标识 116 6.9 时间和日期例程 117 6.10 小结 121 习题 121 第7章 UNIX进程的环境 122 7.1 引言 122 7.2 main 函数 122 7.3 进程终止 122 7.3.1 exit和_exit函数 122 7.3.2 atexit函数 124 7.4 命令行参数 125 7.5 环境表 126 7.6 C程序的存储空间布局 126 7.7 共享库 127 7.8 存储器分配 128 7.9 环境变量 130 7.10 setjmp 和longjmp函数 132 7.10.1 自动、寄存器和易失变量 134 7.10.2 自动变量的潜在问题 136 7.11 getrlimit 和setrlimit函数 136 7.12 小结 139 习题 140 第8章 进程控制 141 8.1 引言 141 8.2 进程标识 141 8.3 fork函数 142 8.4 vfork 函数 145 8.5 exit函数 147 8.6 wait和waitpid函数 148 8.7 wait3和wait4函数 152 8.8 竞态条件 153 8.9 exec函数 156 8.10 更改用户ID和组ID 160 8.10.1 setreuid 和setregid函数 162 8.10.2 seteuid和 setegid函数 163 8.10.3 组ID 163 8.11 解释器文件 164 8.12 system函数 167 8.13 进程会计 171 8.14 用户标识 175 8.15 进程时间 176 8.16 小结 178 习题 178 第9章 进程关系 180 9.1 引言 180 9.2 终端登录 180 9.2.1 4.3+BSD终端登录 180 9.2.2 SVR4终端登录 182 9.3 网络登录 182 9.3.1 4.3+BSD网络登录 182 9.3.2 SVR4网络登录 183 9.4 进程组 183 9.5 对话期 184 9.6 控制终端 185 9.7 tcgetpgrp 和tcsetpgrp函数 187 9.8 作业控制 187 9.9 shell执行程序 189 9.10 孤儿进程组 193 9.11 4.3+BSD实现 195 9.12 小结 197 习题 197 第10章 信号 198 10.1 引言 198 10.2 信号的概念 198 10.3 signal函数 203 10.3.1 程序起动 205 10.3.2 进程创建 206 10.4 不可靠的信号 206 10.5 中断的系统调用 207 10.6 可再入函数 209 10.7 SIGCLD语义 211 10.8 可靠信号术语和语义 213 10.9 kill和raise函数 213 10.10 alarm和pause函数 214 10.11 信号集 219 10.12 sigprocmask 函数 220 10.13 sigpending函数 222 10.14 sigaction函数 223 10.15 sigsetjmp 和siglongjmp函数 226 10.16 sigsuspend函数 229 10.17 abort函数 234 10.18 system函数 235 10.19 sleep函数 240 10.20 作业控制信号 241 10.21 其他特征 243 10.21.1 信号名字 243 10.21.2 SVR4信号处理程序的附 加参数 244 10.21.3 4.3+BSD信号处理程序的附 加参数 244 10.22 小结 244 习题 244 第11章 终端I/O 246 11.1 引言 246 11.2 综述 246 11.3 特殊输入字符 250 11.4 获得和设置终端属性 254 11.5 终端选择标志 254 11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272 习题 272 第12章 高级I/O 273 12.1 引言 273 12.2 非阻塞I/O 273 12.3 记录锁 275 12.3.1 历史 276 12.3.2 fcntl记录锁 276 12.3.3 锁的隐含继承和释放 280 12.3.4 4.3+BSD的实现 281 12.3.5 建议性锁和强制性锁 284 12.4 流 288 12.4.1 流消息 289 12.4.2 putmsg和putpmsg函数 290 12.4.3 流ioctl操作 291 12.4.4 write至流设备 294 12.4.5 写方式 294 12.4.6 getmsg和getpmsg函数 294 12.4.7 读方式 295 12.5 I/O多路转接 296 12.5.1 select函数 298 12.5.2 poll函数 301 12.6 异步I/O 303 12.6.1 SVR4 303 12.6.2 4.3+BSD 303 12.7 readv和writev函数 304 12.8 readn和writen函数 306 12.9 存储映射I/O 307 12.10 小结 311 习题 311 第13章 精灵进程 312 13.1 引言 312 13.2 精灵进程的特征 312 13.3 编程规则 313 13.4 出错记录 314 13.4.1 SVR4流log驱动程序 315 13.4.2 4.3+BSD syslog设施 316 13.5 客户机-服务器模型 319 13.6 小结 319 习题 319 第14章 进程间通信 320 14.1 引言 320 14.2 管道 320 14.3 popen和pclose函数 325 14.4 协同进程 330 14.5 FIFO 333 14.6 系统V IPC 335 14.6.1 标识符和关键字 336 14.6.2 许可权结构 337 14.6.3 结构限制 337 14.6.4 优点和缺点 337 14.7 消息队列 338 14.8 信号量 342 14.9 共享存储 346 14.10 客户机-服务器属性 351 14.11 小结 353 习题 353 第15章 高级进程间通信 355 15.1 引言 355 15.2 流管道 355 15.3 传送文件描述符 358 15.3.1 SVR4 360 15.3.2 4.3BSD 361 15.3.3 4.3+BSD 364 15.4 open服务器第1版 366 15.5 客户机-服务器连接函数 371 15.5.1 SVR4 372 15.5.2 4.3+BSD 375 15.6 open服务器第2版 378 15.7 小结 385 习题 385 第16章 数据库函数库 386 16.1 引言 386 16.2 历史 386 16.3 函数库 386 16.4 实现概述 388 16.5 集中式或非集中式 390 16.6 并发 391 16.6.1 粗锁 391 16.6.2 细锁 391 16.7 源码 392 16.8 性能 409 16.8.1 单进程的结果 410 16.8.2 多进程的结果 410 16.9 小结 412 习题 412 第17章 与PostScript打印机通信 413 17.1 引言 413 17.2 PostScript通信机制 413 17.3 假脱机打印 415 17.4 源码 417 17.5 小结 434 习题 434 第18章 调制解调器拨号器 435 18.1 引言 435 18.2 历史 435 18.3 程序设计 436 18.4 数据文件 437 18.5 服务器设计 439 18.6 服务器源码 439 18.7 客户机设计 463 18.7.1 终端行规程 463 18.7.2 一个进程还是两个进程 464 18.8 客户机源码 465 18.9 小结 474 习题 474 第19章 伪终端 476 19.1 引言 476 19.2 概述 476 19.2.1 网络登录服务器 477 19.2.2 script程序 478 19.2.3 expect程序 479 19.2.4 运行协同进程 479 19.2.5 观看长时间运行程序的输出 479 19.3 打开伪终端设备 480 19.3.1 SVR4 481 19.3.2 4.3+BSD 482 19.4 pty_fork函数 484 19.5 pty程序 486 19.6 使用pty程序 489 19.6.1 utmp文件 489 19.6.2 作业控制交互 489 19.6.3 检查长时间运行程序的输出 491 19.6.4 script程序 491 19.6.5 运行协同进程 492 19.6.6 用非交互模式驱动交互式 程序 492 19.7 其他特性 494 19.7.1 打包模式 494 19.7.2 远程模式 494 19.7.3 窗口大小变化 495 19.7.4 信号发生 495 19.8 小结 495 习题 495 附录A 函数原型 497 附录B 其他源代码 512 附录C 习题答案 518 参考书目 536
2022-08-25 16:03:13 13.54MB unix
1