软件与程序设计
-
深入理解JVM字节码张亚 著这是一本揭示JVM字节码“黑科技”的著作,它从原理和应用两个维度深入剖析了JVM字节码。书中内容涉及JVM字节码的大部分应用场景,如Java性能优化、软件防护与破解、APM等,通过大量实战案例讲解了它在这些场景中的实操技巧。 本书共 12 章,从逻辑上分为两大部分。【第壹部分:原理篇(第1~8章)】第1章详细剖析了class文件的内部结构; 第2章介绍了字节码的概念以及Java虚拟机栈和栈帧的相关内容; 第3章介绍了字节码的进阶知识,包括泛型擦除、synchronized关键字、反射的底层实现原理; 第4章介绍了javac编译器的原理,以及javac编译的七大阶段和各阶段的作用; 第5章从字节码的角度介绍Kotlin的常见语法糖、coroutine等原理; 第6章介绍了ASM和Javassist这两个字节码操作工具; 第7章介绍了Java Instrumentation的原理; 第8章介绍了JSR 269插件化注解处理原理。 【第二部分:应用篇(第9~12章)】第9章介绍了字节码在cglib、Fastjson等框架上的应用; 第10章介绍了反编译、破解、防破解和逆向工程的相关内容; 第11章介绍了APM的概况、分布式跟踪的基本原理等; 第12章详细介绍了Android dex文件的组成结构,以及Android字节码指令与Java字节码指令的区别。 -
Java经典入门指南[加] 布迪·克尼亚万(Budi Kurniawan) 著,沈泽刚 译本书基于新版的Java 11编写,全面系统地介绍Java程序员必须掌握的核心基础知识,这些内容融合在三大主题中——Java语言基础、面向对象编程以及Java核心类。其中,Java语言基础包括数据类型和运算符、控制结构、数组、类和对象、异常处理、枚举和注解等;面向对象包括封装性、继承性、多态性、接口与抽象类、泛型与集合、多线程与并发编程等;Java核心类包括日期时间API、输入/输出、JavaFX图形界面、Lambda表达式和Stream的使用、数据库和网络编程。本书还介绍了安全性和Java Web编程基础的相关知识。本书是为专业级Java程序员打造的理想教程,也可作为高等院校计算机相关专业“面向对象编程”和“Java语言程序设计”等课程的教学用书。 -
Java多线程与大数据处理实战李建平 著《Java多线程与大数据处理实战》对 Java 的多线程及主流大数据中间件对数据的处理进行了较为详细的讲解。本书主要讲了 Java 的线程创建方法和线程的生命周期,方便我们管理多线程的线程组和线程池,设置线程的优先级,设置守护线程,学习多线程的并发、同步和异步操作,了解 Java 的多线程并发处理工具(如信号量、多线程计数器)等内容。同时,本书还引入了 Spring Boot、Spring Batch、Quartz、Kafka 等大数据中间件。这为学习Java 多线程和大数据处理的读者提供了良好的参考。多线程和大数据的处理是许多开发岗位面试中容易被问到的知识点,一些一线开发的重要岗位面试会将多线程作为压轴问题或重要的考察点。所以,学好多线程的知识点,无论是对于日后的开发工作,还是正要前往一线开发岗位的面试准备,都是非常有用的。本书既适合高等院校的计算机类专业的学生学习,也适合从事软件开发相关行业的初级和中级开发人员。 -
数据可视化之道林斌 著本书针对数据分析和研究报告中的图表应用,结合大量经济、金融和商业真实实例,探讨数据可视化的基本原则、技巧及思路。 本书基于Excel软件,循序渐进地介绍专业图表制作的技术准备、图表元素的增强控制、不同类型数据的可视化方案,以及研究报告中常用的数据转换及分析技术。 本书旨在帮助拓展商业和金融数据的可视化表达思路和方法,提升报告品质,也适合即将从事数据分析相关工作的学生及对数据可视化感兴趣的读者阅读。 -
深度学习之模型设计言有三 著本书理论知识体系完备,由浅入深,系统性地介绍了深度学习模型的发展脉络,以及模型深度设计、模型宽度设计、模型通道维度设计、残差连接设计、分组卷积设计、多尺度与非正常卷积设计、多输入网络设计、时序神经网络设计、三维卷积网络设计、动态推理模型与注意力机制设计、生成对抗网络设计这10类主流的深度学习模型设计思想。同时,本书为各模型设计思想提供了大量的实例,供读者实战演练。 本书注重内容的完整性与实用性,既可以作为深度学习与计算机视觉初学者、相关专业的在校学生学习核心算法的书籍,也可以作为相关工程人员查阅相关技术的参考手册。 -
Web性能实战[美] 杰里米·瓦格纳(Jeremy Wagner) 著,张俊达 译在Web 变得越来越复杂的时代,解决Web 性能问题正当时。本书旨在帮助读者创建更加快速的网站,内容涵盖Web 性能的基础知识、性能评估工具、CSS 优化、图像优化、字体优化、JavaScript 相关的内容、Brotli 压缩算法、资源提示、配置缓存策略、HTTP/2,等等。 -
Scratch3.0少儿编程与算法一本通快学习教育 著本书将多种经典算法融入一个个设计精美的Scratch 案例当中,帮助孩子培养编程的核心能力, 为将来学习其他程序设计语言打好基础。 全书共11 章。第1 章讲解算法的基础知识,主要内容包括算法的概念、特征、描述方法、基本结构、质量评定等,并对常见的算法做了简单介绍。第2 ~ 11 章通过10 个案例来展现各种算法的具体应用, 带领孩子在实践中理解和领悟算法的原理,这10 个案例包括求累加和、判定质数、判断闰年和平年、求公约数、找出水仙花数、进制转换、信息加密、成绩排名、计算车费、绘制二叉树。 本书案例设计生动有趣,步骤讲解直观详尽,适合作为已经掌握Scratch 入门知识的中小学生深入学习编程或参加信息学竞赛的教程,也可作为少儿编程培训机构的教学用书或课程设计的参考资料。 -
Python忍者秘籍[美] 科迪·杰克逊(Cody Jackson) 著,李俊毅 译本书主要介绍Python的基础安装和进阶操作。全书共有9章,介绍了Python模块,解释器,装饰器,collections,生成器、协同程序和并行处理,math模块,PyPy,增强方案以及LyX的相关使用。本书包含大量的代码示例可供读者参考并实践。本书适合使用Python语言的算法工程师、后台工程师、测试工程师以及运维工程师阅读,也适合有一定编码基础的人员自学Python或了解进阶知识。 -
JavaScript语言精髓与编程实践周爱民 著JavaScript 是一门包含多种语言特性的混合范型语言,在面向对象和函数式语言特性方面表现尤为突出,且在 ES6 之后所添加的并行语言特性也极为出色。《JavaScript语言精髓与编程实践(第3版)》基于 ES6,并涵盖 ES2019 规范,全面讲述 JavaScript 在五个方面的语言特性,以及将这些特性融会如一的方法。本书不但完整解析了 JavaScript 语言,还逐一剖析了相关特性在多个开源项目中的编程实践与应用,是难得的语言学习参考书。 本书作者在前端开发领域经验丰富、深耕不辍,一书三版,历经十余年。书中对 JavaScript 语言的理解与展望,尤其适合期望精通这门语言的中高级程序员和语言实践者阅读。 -
Axure RP与APP原型设计完全学习教程李鹏宇,陈艳华 著本书共分为9章,其中第1章是Axure原型设计概述,第2章到第4章是Axure基本操作及使用技巧,第5章到第7章介绍Axure RP特有的元件库创建、团队协作及项目输出,第8章和第9章是网页及App的实操案例。 Chapter 01介绍了Axure RP的主要功能,以及如何安装和启动,并通过引入原型设计的重要性介绍不同原型设计关注的重点,并简要介绍了软件的学习路径;Chapter 02详细介绍了Axure RP的工作环境,主要包括页面管理、检视页面及概要面板的使用要素,元件的编辑与使用、页面编辑、钢笔工具的使用等内容;Chapter 03介绍了Axure RP的使用技巧,从被广泛认可的原型设计原则入手,讲述了如何使用流程图表、将Photoshop和Flash结合使用,以及元件的使用技巧;Chapter 04主要介绍了Axure RP中的交互事件、位置和动作,从触发事件,到用例编辑,以及一些常用的交互软件,结合案例完成交互设计,这是产品设计的重要一环;Chapter 05介绍了元件库、母版的使用及动态面板的创建。在Axure中,不仅可以使用默认的元件库,还可以自定义自己的元件库,学会母版和动态面板将大大减轻重复工作;Chapter 06介绍了Axure不同的项目输出方式和格式,主要包括HTML文件、 Word生成器、CSV报告以及打印生成器四种,经常使用的是在浏览器中进行项目预览;Chapter 07简要介绍了Axure Share操作平台以及如何利用Axure RP创建、获取、修改团队项目,实现团队协作、共同完成;Chapter 08案例实操—百度首页,利用Axure RP进行网页首页的制作,主要包括登录、注册,以及各种下拉菜单等;Chapter 09 案例实操—微信APP,利用Axure RP制作微信界面,实现微信小功能、对多种界面进行切换等。
