软件与程序设计
-
毕昇编译器原理与实践华保健 高耀清《毕?N编译器原理与实践》详细讨论了毕?N编译器的设计原理与实现,深入介绍了现代编译器设计和实践。全书共 8 章,包括编译器概述,鲲鹏处理器,编译器前端的词法分析、语法分析和语义分析,编译器中端的中间表示、中间代码生成、中间代码优化、静态单赋值形式等,编译器后端的指令选择、指令调度、寄存器分配等内容。本书重点讨论了毕?N编译器中使用的先进编译优化技术,如循环优化、自动向量化、多级存储优化和反馈式优化等,并讨论了基于 AI 的编译器自动调优等内容。为方便读者学习和掌握相关内容,书中每章都给出了可以继续深入学习的文献,并给出了丰富的习题供读者练习。 通过阅读本书,读者可以深入理解编译器设计的基本原理和实践技术、鲲鹏指令集体系结构、毕?N编译器的优化技术等内容,从而为将来从事编译器理论深入研究和工程实践打下坚实的基础。 《毕?N编译器原理与实践》可作为高等院校、科研机构等相关单位从事编译原理教学和科研的教师或研究人员的参考书,也可作为高等院校信息与计算机科学、软件工程等相关专业的本科生、研究生学习编译原理的教材或参考书,还可供对编译原理和实践等领域感兴趣的工程技术人员参考使用。 -
Java高并发核心编程 卷2尼恩本书聚焦Java高并发编程基础知识,介绍Java多线程、线程池、内置锁、JMM、CAS、JUC、高并发设计模式等并发编程方面的核心原理和实战知识。本书共10章。第1、2章剖析多线程、线程池的核心原理和实战应用,揭秘线程安全问题和Java内置锁的核心原理。第3、4章讲解CAS原理与JUC原子类、JMM的核心原理,揭秘CAS操作的弊端和两类规避措施,以及Java内存可见性和volatile关键字的底层知识。第5章讲解JUC显式锁的原理和各种显式锁的使用。第6章阐述JUC高并发的基础设施——AQS抽象同步器的核心原理。第7章介绍JUC容器类。第8~10章介绍常见的Java高并发设计模式的原理和使用。本书既可以作为Java工程师、架构师的编程参考书,又可以作为参加互联网大厂面试、笔试的人员的学习参考书。 -
打开Go语言之门飞雪无情 著通过不断思考和整理,作者编写了这本更具系统性也更通俗易懂的Go语言入门和进阶书籍,以帮助学习者少走弯路,比其他人更快一步提升职业竞争力。本书共包含5个部分。第1部分:快速入门Go语言。作者挑选了变量、常量、基础数据类型、函数和方法、结构体和接口等知识点进行介绍。这部分内容相对简洁,但已经足够让你掌握Go的基本程序结构了。第2部分:Go语言的高效并发。这部分主要介绍goroutine、channel、同步原语等知识,让你对Go语言层面的并发支持有更深入的理解,并且可以编写自己的Go语言并发程序。这个部分*后一章专门介绍常用的并发模式,可以拿来即用,以更好地控制并发。第3部分:深入理解Go语言。这部分讲解Go 语言底层原理和高级功能,比如slice的底层是怎样的、为什么这么高效等。这部分内容也是作者特意设计的,跟着作者一起研究底层原理,可避免初学者不求甚解的通病。总之,只有理解了底层原理,你才能更灵活地编写程序并高效地应对问题。第4部分:Go语言工程管理。学习一门语言,不仅要掌握它本身的知识,还要掌握模块管理、性能优化等周边技能,因为这些技能可以帮助你更好地进行多人协作,提高开发效率,写出更高质量的代码。你可以在这部分学到如何测试Go语言代码以提高代码质量、如何做好性能优化、如何使用第三方库来提高自己项目的开发效率等。第5部分:Go语言泛型。这是Go语言在1.18版本中新增的特性,也是大家期待已久的特性。在这一部分作者会带你学习Go语言泛型的使用,以及如何使用泛型来提高效率和简化代码。 -
Web框架技术教程张志锋、马军霞、谷培培本书旨在培养学生的Java Web框架技术实践创新和工程能力,为广大读者提供一本Java Web框架知识综合学习和积累项目开发经验的书。 全书理论联系实际,引进以项目为驱动的教学模式,详细系统地讲解Struts2、Hibernate5和Spring5框架技术,将项目开发贯穿整个知识体系。全书共分11章,内容包括Struts2框架技术入门、Struts2核心组件详解、Struts2的高级组件、基于Struts2的个人信息管理系统项目实训、Hibernate5框架技术入门、Hibernate5核心组件详解、Hibernate5的高级组件、基于Struts2 Hibernate5的教务管理系统项目实训、Spring5框架技术入门、Spring5的AOP框架、基于Struts2 Hibernate5 Spring5的校园论坛BBS项目实训。通过30多个小项目和3个大项目的开发实践,使读者能够掌握基本理论知识,并锻炼读者的科学思维能力和综合应用能力。 本书可作为普通高等院校的Java Web框架技术教材,也可作为Java工程师培训教材或作为Java工程师的参考书。 -
Creo8.0机械设计教程李少坤、马丽、黄继刚、张玉林《Cero 8.0 机械设计教程》从初学者角度出发,通过大量的机械设计实例,详细介绍了 Creo Parametric 8.0 中文版软件的基本功能。全书共分为 9 章,分别介绍了 Creo Parametric 8.0 入门、二维草绘、基础实体特征、基准特征、工程特征、实体特征的编辑、修饰特征与扭曲特征、装配、工程图的绘制等知识。 -
Java高并发核心编程尼恩 、德鲁、李鹏举、尤里乌斯本书从动态代理模式、Reactor模式、三大限流策略等知识入手,深入浅出地剖析Spring Cloud Nginx系统架构的核心原理以及Web高并发开发技术。全书从基础设计模式和基础原理出发,理论与实战相结合,系统、详尽地介绍Spring Cloud Nginx高并发核心编程。本书共10章。前6章剖析Feign高并发RPC的底层原理,解析Hystrix高性能配置的核心选项,阐述Hystrix滑动窗口的核心原理;后4章介绍Nginx的核心原理及其配置,并结合秒杀场景实现Spring Cloud秒杀、Spring Cloud Nginx Lua秒杀,为广大Java开发者提供一个全面学习高并发开发的实战案例。这些知识会为广大Java工程师解决后台开发中遇到的高并发、高性能问题打下坚实的技术基础。 -
ROS 2机器人编程实战徐海望 高佳丽 著本书介绍了基于ROS 2编程所需的各方面知识,并通过结合基本概念、设计思想、工程实践、编程调试和应用技巧等多面一体进行阐述,使读者可以更加快速地掌握ROS 2机器人编程的核心思想。书中包含大量的代码和实战案例,同时还会讲述开源项目及其相关规范和注意事项,结合作者实际的工程经验、与时俱进的 ROS 2设计思想和源码案例,读者可以学习到不拘泥于软件版本与软件环境的编程知识。此外,本书的*后一章还给出了ROS 2在实际项目中落地的应用策略和实用建议。书中所有源码都已按照ROS 2的相关规范进行开源,并与读者共同维护。本书为读者提供了全部案例源代码下载和高清学习视频,读者可以直接扫描二维码观看。本书适合机械、自动化、机器人、计算机、自动驾驶和人工智能等行业的从业者、学生和研究人员,以及 DIY 爱好者和极客等阅读学习。 -
数据结构内尔·戴尔,奇普·威姆斯,蒂姆·理查兹 著,陈影,张淼,胡云朋 译此版本中,内尔·戴尔(Nell Dale)不再是《数据结构(C++ Plus 实现)(第 6 版)》的唯一作者。 本书加入了两位作者——奇普·威姆斯(Chip Weems)和蒂姆·理查兹(Tim Richards),并继续保持 以往版本的优良传统。在其他论著方面,奇普与内尔合著了三十多年,如 Java Plus Data Structures,为 本书及其早期版本奠定了基础,并对教学方法的改进作出了重大贡献。在 Programming and Problem Solving in C++ 的新版本中,蒂姆、奇普和内尔三人密切合作,共同致力于让世界各地的学生能够取 得成功,同时他们对教学的热爱也激励着学生们每天走进教室学习。 在过去的二十年里,传统的数据结构课程已经发展到更广泛的主题,包括抽象数据类型(Abstract Data Type,ADT)、软件工程和算法的基本分析。 数据结构(Data Structures)研究如何在组织关系中表示数据集合,以及如何编写相应操作的算法。 抽象数据类型是指一个定义属性的数据类型以及这个数据类型上的一组操作。计算机科学教育的重点 向更加抽象的方向转变。现在,在程序中除了研究如何表示对象之外,还研究数据对象类型的抽象属性。 Johannes J.Martin 说得非常简单:“从观点来看,数据对象是由数据类型(对于使用者)或数据结构(对 于实现者)来描述的。”a 抽象的设计和实现都与软件工程密切相关,软件工程旨在将工程方法应用于开发可靠、健壮和高 质量的软件。一个糟糕的抽象会导致一组烦琐的应用案例,迫使程序员要么编写不必要的复杂代码, 要么忽略重要的有效性检查。一个糟糕的实现可能导致效率低下或容易出错。 高效实现的一个方面是能够分析既定算法。因此,在本书中,我们将抽象和应用程序的实现分开 介绍,并分析所介绍的算法。 -
分布式高可用算法江峰 著本书从原理出发,系统性地介绍了分布式系统和算法,而非介绍如何使用某种分布式框架。本书首先介绍了分布式系统是如何被建模的,以及分布式算法是如何被描述的,然后从基础的链路抽象开始逐步增加复杂度,最终将复杂的共识抽象以简单的方式呈现在读者面前。通过阅读本书,读者不仅可以掌握常用的分布式算法,还可以学到分布式算法的证明方法及适用条件,为自行设计分布式系统和算法打下坚实的基础。 本书适合分布式领域的初学者及相关从业者阅读参考。 -
图解数据结构吴灿铭本书采用丰富的图例来阐述数据结构的基本概念,力求简洁明了地阐述复杂的算法理论,以Python作为描述语言解析算法的执行过程,以大量的范例程序来展示数据结构的使用及其相关算法的具体实现。 数据结构是计算机专业的核心课程之一,也是编程爱好者程序设计的重要基础。本书内容体现这门必修课的完整知识体系:数组、链表、堆栈、队列、树、图等数据结构,以及基于这些数据结构的各类算法等。为了教学的需要,每章都提供了丰富的课后习题及详细的参考答案。 本书图文并茂,文字简洁、清晰,范例丰富、可操作性强,并配有视频教学、PPT课件和范例程序源码,适合学习数据结构和算法的读者作为自学参考书,也适合作为高等院校计算机及信息相关专业的教材。
