含有"程序"标签的书籍

深入理解Java虚拟机(第3版)

内容介绍

这是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。

自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。

第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。

全书一共13章,分为五大部分:

第一部分(第1章)走近Java

系统介绍了Java的技术体系、发展历程、虚拟机家族,以及动手编译JDK,了解这部分内容能对学习JVM提供良好的指引。

第二部分(第2~5章)自动内存管理

详细讲解了Java的内存区域与内存溢出、垃圾收集器与内存分配策略、虚拟机性能监控与故障排除等与自动内存管理相关的内容,以及10余个经典的性能优化案例和优化方法;

第三部分(第6~9章)虚拟机执行子系统

深入分析了虚拟机执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎,以及多个类加载及其执行子系统的实战案例;

第四部分(第10~11章)程序编译与代码优化

详细讲解了程序的前、后端编译与优化,包括前端的易用性优化措施,如泛型、主动装箱拆箱、条件编译等的内容的深入分析;以及后端的性能优化措施,如虚拟机的热点探测方法、HotSpot 的即时编译器、提前编译器,以及各种常见的编译期优化技术;

第五部分(第12~13章)高效并发

主要讲解了Java实现高并发的原理,包括Java的内存模型、线程与协程,以及线程安全和锁优化。

全书以实战为导向,通过大量与实际生产环境相结合的案例分析和展示了解决各种Java技术难题的方案和技巧。

C语言非常道

C语言的图书多如牛毛,但绝大多数都很单纯,无外乎语法、技巧或者实例。C语言的教与学,远不止语法和示例这么简单。语言是应用的工具,只能深入到历史和实际应用的土壤里,从现实中寻找这门计算机语言的定位,学习它的语法,认识它所能解决的现实问题。所以,这本书面向C语言的初学者,结合*新的C语言标准9899:2011,不但介绍了和C语言本身有关的各个方面:词法元素、类型、声明、函数、表达式、语句、预处理、标准库,更是以此为主线,融汇了大量的现实和应用场景,从计算机原理、程序设计、编译原理、操作系统接口、数据结构,等等。为了帮助读者更好地理解C语言、操作系统接口以及用C语言解决实际问题这三者之间的关系,本书还特意提供了一个关系型数据库的实例和一个WEB服务器编程的实例。本书的目标:a.基础。本书面向初学者,介绍C语言的基础知识,但有深度和高度;b.全面。依据C语言的*新标准,尽量涵盖它的所有内容;c.标准化。摒弃某些传统的概念、术语和不正确、不精确的阐述;d.新颖。正本清源,采用与传统图书不同的形式来讲解。比如,先介绍#include <stdio.h>是什么东西,怎么来的,有什么用,而不是象别的书一样,一上来就使用,而且对它的功能语焉不详。不单单是讲述C的语法,更深入到与之相关的各个方面,比如操作系统环境、编译器、数据库和WEB应用,通过各种互相结合的场景,让读者真正认识这门语言,真正掌握这门语言,不致于学了之后还是感到茫然。e.通俗易懂。不是指语言上的通俗化和口语化,而是真正地按照认知的规律和过程,由浅入深,由表及里,不但知其然,还要知其所以然。

深入理解Java虚拟机(第2版)

《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》内容简介:第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据最新的JDK 1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的修正;等等。第2版不仅技术更新、内容更丰富,而且实战性更强。

《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。

第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解书中后面内容有重要帮助。

第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。

第三部分分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。

第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果;

第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。

Linux性能优化

在当前复杂的大规模系统场景下,好的应用程序性能比以往任何时候都更重要,但是获得这样的性能也更加困难。Linux由于其开源特性,已经具有一系列优化工具,只是这些工具散布在互联网上,工具的相关文档也很少,只有少数专家知道如何综合使用这些工具来解决实际问题。基于此,菲利普G.伊佐特著贺莲、龚奕利译的《Linux性能优化/Linux\Unix技术丛书》介绍了当前常用的Linux优化工具,展示了它们是如何行之有效地提升整体应用程序性能的。通过真实案例,向开发人员演示了怎样定位影响性能的源代码行,使系统管理人员和应用程序开发人员能够迅速深入系统瓶颈,实施解决方案。

通过阅读《Linux/Unix技术丛书:Linux性能优化》,你能够:

在不熟悉底层系统的情况下,快速识别系统瓶颈。

针对具体问题,找到并选择正确的性能工具。

深入理解系统性能及优化问题。

掌握优化系统CPU、用户CPU、内存、网络I/O和磁盘I/O的方法,并了解它们之间的关系。

掌握修复计算密集型(CPU-bound)、延迟敏感和I/O密集型(I/O—bound)的应用程序的方法,跟随案例轻松地配置自己的环境。

安装并使用Linux系统的高级全系统分析器——oprofile。

无论读者的技术背景如何,性能优化的新手都能通过学习《Linux/Unix技术丛书:Linux性能优化》,掌握一系列清晰实用的优化原则和策略,并获得丰富的Linux知识,解决Linux系统和应用程序的优化问题,增加商业价值并提高用户满意度。

面向对象的思考过程(原书第4版)

〔简介〕

本书是一部独具特色的面向对象技术著作。书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。本书共15章,在结构上可以分为两部分:第一部分包括第1~10章,探讨面向对象的基本概念,比如封装、多态、继承等;第二部分包括第11~15章,专注于将这些概念应用于一些通用的面向对象技术中,并结合了一些实用的应用程序。

本书内容精炼,示例简单明了,适合各层次面向对象开发人员阅读,也是高校相关专业面向对象课程的理想教学参考书。

〔译序〕

很多IT从业人员进入这个行业都是从学习一门编程语言开始的。对于编程,我们往往过于关注语言的语法细节,反而忽略了其背后的设计理念。面向对象的思考过程就是一个非常优秀的设计理念。它可以独立于语言存在。如果你熟练掌握了面向对象的思考过程,那么就可以轻松地在不同的面向对象的语言之间切换。

本书透彻地阐述了面向对象这一概念。作者Matt在书中反复强调学习面向对象的思考过程优于学习任何编程语言或工具。事实上,他也是这么做的。Matt阐述了面向对象的三要素:继承、封装、多态,并且自己加上了第四个要素:组合。关于组合,Matt不惜篇幅做了大量的讲解,并且列举了很多通俗易懂的例子,这也是本书的一大特色。

Matt也纠正了人们的一些普遍误解,比如面向对象的范式与面向过程的范式并不是完全对立的关系。而且在应用面向对象的设计和开发时,Matt也讲解了不少如何与遗留系统集成的技巧。同时,Matt也简要介绍了UML这个建模利器。为了不混淆重点,他把介绍UML的章节放置在很靠后的位置。因为他明白,先了解面向对象的各项概念是最重要的。

我虽然拥有多年的从业经验,但是再看本书时仍然有不少收获。其实自从我接触了函数式编程,就渐渐成为函数式编程的拥趸。我会时不时地“鼓吹”函数式编程范式的好处,顺便“贬低”一下面向对象编程。但同时我也有个疑问,既然函数式编程这么好,为什么这几年的发展只能算是波澜不惊,而没有掀起大风浪呢?读了本书之后,我似乎找到了答案。首先面向对象的思考过程更加符合大家对世界的直观感受,毕竟不是每个人都是数学家。函数式编程可以简化很多问题,但它并不能简化所有问题。其次是面向对象的编程范式和函数式编程的范式并不是完全对立的,正如作者讲过,面向过程的编程范式和面向对象的编程范式也不是完全对立的。比如目前流行的一些语言(Scala、Go等)都具备函数式的特点,也兼具面向对象的特点(只不过它们的面向对象的机制与传统的方式有所不同)。所以无论你喜欢哪种编程范式,了解彼此的不同之处是至关重要的。而本书则是了解面向对象范式的优秀书籍。

本书已经更新到了第4版。从本书长达10多年的跨度来看,面向对象范式经久不衰。Matt也适时地在新版中加入了一些新的主题,比如可移植数据、分布式系统、Web服务等。Matt不仅阐述了这些技术,还讲述了它们的前世今生。这样可以帮助读者更加充分地了解技术的演化之路。

无论你是否有面向对象编程的经验,本书都适合你作为面向对象思考的旅程开端。最后,希望本书能给大家带来超凡的阅读体验。

Web安全之深度学习实战

在现今的互联网公司中,产品线绵延复杂,安全防御体系无时无刻不在应对新的挑战。哪怕是拥有丰富工作经验的安全从业者,在面对层出不穷的攻击手段和海量日志数据时也会望洋兴叹。机器学习、深度学习是这些问题天然契合的解决方案,在数据量以指数级不断增长的未来,甚至有可能是唯一的出路。当AI遇到安全时,如何快速进化,本书给出了实战方案。   本书是《Web安全之机器学习入门》之后又一作品。本书首先介绍如何打造自己的深度学习工具箱,包括TensorFlow、TFLearn等深度学习库的安装以及使用方法。接着介绍卷积神经网络和循环神经网络这两大深度学习算法的基础知识。特别着重介绍在生产环境搭建深度学习平台需要使用的开源组件,包括Logstash、Kafka、Storm、Spark等。随后讲解了11个使用机器学习技术解决实际安全问题的案例,包括验证码识别、垃圾邮件识别、负面评论识别、骚扰短信识别、Linux后门检测、恶意操作行为检测、Webshell检测、智能扫描、DGA域名检测、恶意程序分类识别、反信用卡欺诈。本书针对每一个算法都给出了具体案例,理论结合实际,讲解清晰,文笔幽默,适合有信息安全基础知识的网络开发与运维技术人员参考,主要内容包括:

- 如何基于TensorFlow和TFLearn打造自己的深度学习工具箱。

- 如何基于Logstash、Kafka、Storm、Spark等打造深度学习的生产环境。

- 如何在MNIST数据集上实现验证码识别。

- 如何在安然数据集上实现垃圾邮件检测。

- 如何在IMDB数据集上实现负面评论识别。

- 如何在SMSSpamCollection数据集上实现骚扰短信识别。

- 如何在ADFA-LD数据集上实现Linux后门检测。

- 如何在SEA数据集上实现恶意操作行为检测。

- 如何在MIST数据集上实现恶意程序分类识别。

- 如何在Kaggle公开的数据集上实现信用卡欺诈检测。

- 如何在GitHub公开的数据集上实现Webshell检测,智能扫描和DGA域名检测。

Hack与HHVM权威指南

HipHop虚拟机(HHVM)和Hack语言这两项新的技术已经成功应用在Facebook网站上。那么我们又如何能从中获益呢?通过本书的学习,来自Facebook“Hack与HHVM”团队的核心成员Owen Yamauchi,将带你领略这久经考验的开源工具的魅力。

你将领略到Hack语言所特有的静态类型检查及其他新特性。正是这些特性将Hack和PHP有效区分。同时,你还可以学到HHVM的建立、配置、部署以及日常监测。对于已有PHP或其他编程语言开发经验的人来说,这是比较容易学习和掌握的。本书还将演示如何在已有的PHP项目或者新的类似项目上使用这些工具。

● 在保留PHP灵活快速开发能力的前提下,学习Hack语言如何提供静态类型检查功能。

● 学会利用Hack语言提供的新特性,写出类型更加安全的代码。

● 探索HHVM——一个全面兼容PHP并且实时编译的运行环境。

● 深入了解Hack语言的集合类型、异步函数,以及PHP的XHP

扩展。

● 了解Hack语言的设计原理,包括为什么它忽略了一些PHP特性。

● 使用Hack语言处理多任务,并安全地生成HTML。

● 学习使用Hack编程开发的相关工具,包括如何从PHP迁移到Hack语言。

“Hack语言的显著成功之处,不仅在于它优雅而具有的强有力的变量系统和并发模型,还在于它提供给现有的PHP程序一个‘更加具有想象空间并且可执行’的迭代迁移方案。Yamauchi对Hack语言及其运行环境(HHVM)的研究成果既清晰又专业。强烈推荐!”

——Ori Livneh

Wikimedia Foundation

首席性能工程师

DBA修炼之道:数据库管理员的第一本书(原书第2版)

【编辑推荐】

资深数据库管理专家30余年经验结晶,全面阐释数据库管理的各种技术问题与解决方法;

实战性强,包含大量典型数据管理分析经验,为快速掌握并灵活运用数据库管理技术提供最佳指导。

【名家推荐】

我已经不记得多少次向人推荐这本书了。这本书写得好,重要的是,它涵盖了成为一名高效DBA所需要知道的所有方面。

——Scott Ambler,敏捷数据方法的领导者

这是一本精心编写和组织的数据库管理实践的指南。不像一般的数据库理论或关系数据库理论书籍,这本书更直接地侧重于当今数据库专业人员进行数据库管理的理论与实践,并且没有太多迎合任何特定的产品实施。因此,数据库管理非常适合那些有兴趣研究DBA或类似但更具体的角色(如数据建模或数据库性能分析师)的职责的人。

——Sal Ricciardi,微软项目经理

Craig的特点之一是他的写作清晰、易读。任何技术类书籍的主要目的是在作者和读者之间传递信息,这一点Craig做得很棒。他希望读者学习,并且完整表达了自己的想法。

——Chris Foot,远程DBA专家和Oracle ACE

本书涉及DBA任务和职责的完整且全面的清单,从创建数据库环境到数据仓库管理,以及中间可能会发生的一切。

——Mike Tarrani,计算机顾问

我认为,每一名业务经理和IT经理都应该拥有这样一本书。

——Dan Hotka,独立顾问和Oracle ACE

Craig Mullins的这本书见解深刻。Mullins以卓越的洞察力清晰描述了现代企业中数据管理员和数据库管理员的角色以及他们的职责。

——Michael Tozer,作家及前美国海军军官

【内容简介】

本书是资深数据库管理专家30余年经验的结晶,通过大量的典型数据管理分析经验,全面而系统地讲解数据库管理的各种技术问题与解决方法,内容全面而深入,包括创建数据库环境、数据建模、规范化、设计、性能、数据完整性、合规性、治理、安全、备份/恢复、灾难规划、数据和存储管理、数据移动/分布、数据仓库、连接、元数据、工具等。

全书共24章:第1~2章介绍如何建立可用的企业数据库环境;第3~4章阐释如何制定合理的数据模型和数据库设计,并将其应用于企业生产;第5~6章介绍应用创新的数据库功能,如时态数据和多级安全,以及部署运行良好并能保护数据完整性的应用程序;第7~8章介绍管理所有形式的数据库相关的变更和数据的可用性问题;第9~12章涉及系统优化性能和可用性方面的问题;第13~15章涉及部署现代数据安全程序和切实可行的数据管理策略;第16~17章介绍数据库备份/恢复和业务连续性规划;第18章介绍数据和存储设备的管理;第19章介绍一些用于将数据从一个位置移动到另一个位置并且在多个位置对数据提供支持的主要工具;第20~22章介绍数据仓库、数据集市和其他分析处理系统的管理;第23章介绍如何选用DBA工具,以节约时间和成本。第24章介绍DBA经验法则,帮助企业招聘顶级DBA人才,创建DBA职位描述。

30天通过全国计算机等级考试

《30天通过全国计算机等级考试:三级网络技术》由希赛教育等考学院组织编写,内容紧扣教育部考试中心新推出的考试大纲,通过对历年试题进行科学分析、研究、总结、提炼、编撰而成。《30天通过全国计算机等级考试:三级网络技术》主要内容包括应试指南、考点分析与同步训练、5套笔试全真模拟试卷及解析、机试指导、5套机试全真模拟试题及解析、2009年上半年、2009年下半年、2010年上半年、2010年下半年的真题解析。

基于历年试题,利用统计分析的方法,科学做出结论并预测以后的出题动向,是《30天通过全国计算机等级考试:三级网络技术》的一大特色。《30天通过全国计算机等级考试:三级网络技术》可以保证既不漏掉考试必需的知识点,又不加重考生备考负担,使考生轻松、愉快地掌握知识点并领悟三级网络技术考试的真谛。真可谓是“一书在手,过关无忧”。

机试方面,经过深入分析上机考试题库内容,《30天通过全国计算机等级考试:三级网络技术》精心组织了5套全真模拟试题,试题涉及历次考试内容的各个方面。

《30天通过全国计算机等级考试:三级网络技术》可以作为参加全国计算机等级考试——二级Visual FoxPro数据库程序设计考试的复习用书,也可作为学习数据库程序设计的参考书。

计算机视觉与深度学习实战:以MATLAB、Python为工具

《计算机视觉与深度学习实战:以MATLAB、Python为工具》详细讲解了36个计算机视觉与深度学习实战案例(含可运行程序),涉及雾霾去噪、答题卡自动阅卷、肺部图像分割、小波数字水印、图像检索、人脸二维码识别、车牌定位及识别、霍夫曼图像压缩、手写数字识别、英文字符文本识别、眼前节组织提取、全景图像拼接、小波图像融合、基于语音识别的音频信号模拟灯控、路面裂缝检测识别、视频运动估计追踪、Simulink图像处理、胸片及肝脏分割、基于深度学习的汽车目标检测、基于计算机视觉的自动驾驶应用、基于深度学习的视觉场景识别、基于深度特征的以图搜画、基于CNN的字符识别、基于CNN的物体识别、基于CNN的图像矫正、基于LSTM的时间序列分析、基于深度学习的以图搜图技术、基于YOLO的智能交通目标检测等多项重要技术及应用,涵盖了数字图像处理中几乎所有的基本模块,并延伸到了深度学习理论及其应用方面。工欲善其事,必先利其器,本书对每个数字图像处理的知识点都提供了丰富、生动的案例素材,并以MATLAB、Python为工具详细讲解了实验的核心程序。通过对这些程序的阅读、理解和仿真运行,读者可以更加深刻地理解图像处理的内容,并且更加熟练地掌握计算机视觉及深度学习在不同实际领域中的用法。

《计算机视觉与深度学习实战:以MATLAB、Python为工具》以案例为基础,结构布局紧凑,内容深入浅出,实验简捷高效,适合计算机、信号通信和自动化等相关专业的教师、本科生、研究生,以及广大从事数字图像处理的工程研发人员阅读参考。

黑客大曝光

本书系统介绍如何通过详尽的信息安全知识,保护无线系统免受瘫痪式的攻击,全面更新和囊括了当今已广泛使用和新兴的无线技术,揭示攻击者如何利用既有的或者定制的黑客工具来锁定、渗透并攻击系统,帮助读者更好地维护无线网络安全。全书共分为三部分,一部分专门讨论针对Wi-Fi的破解技术,第二部分主要介绍蓝牙网络的破解,第三部分介绍的是除了Wi-Fi协议和蓝牙协议之外,其他无所不在的网络无线技术及其所支持的网络。

本书主要内容:

装备一套针对无线网络攻击的利器工具包,熟练掌握黑客的武器。

有效地扫描Wi-Fi网络,列举和评估该网络上的所有客户端设备。

使用先进的无线攻击工具,包括:集众长于一身的Wifite工具、“框架类”的程序Scapy工具、WPA-PSK认证进行暴力破解Pyrit工具、开源的漏洞检测Metasploit工具、专攻ZigBee网络的KillerBee工具,以及黑客必备的Aircrack-ng工具套件。

通过“ARP欺骗”和数据包转发的Ettercap工具和“Wi-Fi小菠萝”破解并发起基于客户端的攻击。

使用GSM信号探测器Airprobe工具、GSM数据包捕获和解密工具Kraken、GSM加密数据破解工具Pytacle和实施“中间人”攻击的YateBTS工具入侵手机网络。

在目前广泛使用的基于WPA和WPA2认证加密的个人或企业安全方案的网络中,寻找和突破漏洞。

使用“骗子”AP接入点,通过虚假的软件升级传送远程访问控制软件。

在“传统蓝牙模式”和“低功耗蓝牙模式”的网络中,侦测传送的数据包。

通过“软件无线收发”工具捕获和评估专有的无线技术。

在使用ZigBee和Z-Wave网络技术连接的智能家居和工业办公室网络中,探索网络中存在的漏洞。

使用一台已被攻陷的Windows操作系统主机,使用内置的工具,对一个远程无线网络实施攻击。

Github | Docker | Library | Project