2019-09-18 19:17
5012 次浏览
在单核CPU时代,单任务在一个时间点只能执行单一程序,随着多核CPU的发展,并行程序开发变得尤为重要。《实战Java高并发程序设计(第2版)》主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于并发程序基础,详细介绍Java进行并行程序设计的基本方法。第二,进一步详细介绍了JDK对并行程序的强大支持,帮助读者快速、稳健地进行并行程序开发。第三,详细讨论了“锁”的优化和提高并行程序性能级别的方法和思路。第四,介绍了并行的基本设计模式,以及Java 8/9/10对并行程序的支持和改进。第五,介绍了高并发框架Akka的使用方法。第六,详细介绍了并行程序的调试方法。第七,分析Jetty代码并给出一些其在高并发优化方面的例子。《实战Java高并发程序设计(第2版)》内容丰富,实例典型,实用性强,适合有一定Java基础的技术开发人员阅读。第1章 走入并行世界 1 1.1 何去何从的并行计算 1 1.1.1 忘掉那该死的并行 2 1.1.2 可怕的现实:摩尔定律的失效 4 1.1.3 柳暗花明:不断地前进 5 1.1.4 光明或是黑暗 6 1.2 你必须知道的几个概念 7 1.2.
2019-07-25 11:05
5128 次浏览
并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,《Java并发编程的艺术》是他们多年一线开发经验的结晶。本书的部分内容在出版早期发表在Java并发编程网和InfoQ等技术社区,得到了非常高的评价。它选取了Java并发编程中最核心的技术进行讲解,从JDK源码、JVM、CPU等多角度全面剖析和讲解了Java并发编程的框架、工具、原理和方法,对Java并发编程进行了最为深入和透彻的阐述。《Java并发编程的艺术》内容涵盖Java并发编程机制的底层实现原理、Java内存模型、Java并发编程基础、Java中的锁、并发容器和框架、原子类、并发工具类、线程池、Executor框架等主题,每个主题都做了深入的讲解,同时通过实例介绍了如何应用这些技术。前 言第1章 并发编程的挑战 11.1 上下文切换 11.1.1 多线程一定快吗 11.1.2 测试上下文切换次数和时长 31.1.3 如何减少上下文切换 31.1.4 减少上下文切换实战 41.2 死锁 51.3 资源限制的挑战 61.4 本章小结 7第2章 Java并发机制的底层实现原理 82.1 vol
2019-04-30 11:06
3304 次浏览
前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:1. 乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库中都有此概念对应的实际应用。先说概念。对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字和Lock的实现类都是悲观锁。而乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被其他线程更新,则根据不同的实现方式执行不同的操作(例如报错或者自动
2019-04-03 16:38
7513 次浏览
本书共分为四个部分:部分详细地介绍了Java多线程的基本用法和各个API的使用,并且着重介绍了线程与Java虚拟机内存之间的关系。第二部分由线程上下文类加载器方法引入,介绍为什么在线程中要有上下文类加载器的方法函数,从而掌握类在JVM的加载和初始化的整个过程。第三部分主要围绕着volatile关键字展开,在该部分中我们将会了解到现代CPU的架构以及Java的内存模型(JMM)。后一部分,主要站在架构设计的高度看待如何巧妙地开发出真正具备并发能力的系统。目录推荐序一推荐序二推荐序三推荐序四前言第一部分 多线程基础第1章 快速认识线程 31.1 线程的介绍 31.2 快速创建并启动一个线程 31.2.1 尝试并行运行 41.2.2 并发运行交替输出 51.2.3 使用Jconsole观察线程 61.3 线程的生命周期详解 71.3.1 线程的NEW状态 81.3.2 线程的RUNNABLE状态 81.3.3 线程的 RUNNING状态 81.3.4 线程的BLOCKED状态 81.3.5 线程的TERMINATED状态 91.4 线程的start方法剖析:模板设计模式在Thread中的应用
2019-01-28 15:56
8596 次浏览
《高性能mysql(第3版)》是mysql 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了最新mysql 5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16 章和6 个附录,内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的mysql 和mysql相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。《高性能mysql(第3版)》不但适合数据库管理员(dba)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。目录推荐序 xxiii前言 xxv第1 章 mysql 架构与历史 11.1 mysql 逻辑架构 11.1.1 连接管理与安全性21.1.2 优化与执行 31.2 并发控制 31.2.1 读写锁 41.2.2 锁粒度 41.3 事务61.3.1 隔离级别 81.3.2 死锁 91.3.3 事务日志 101.3.4 mysql 中的
2019-01-12 10:35
4146 次浏览
《亿级流量网站架构核心技术》一书总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。本书分为四部分:概述、高可用原则、高并发原则、案例实战。从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步化、扩容、队列等多方面详细介绍了亿级流量网站的架构核心技术,让读者看后能快速运用到实践项目中。不管是软件开发人员,还是运维人员,通过阅读《亿级流量网站架构核心技术》都能系统地学习实现亿级流量网站的架构核心技术,并收获解决系统问题的思路和方法。目录第1部分 概述 / 11 交易型系统设计的一些原则 / 21.1 高并发原则 / 31.1.1 无状态 / 31.1.2 拆分 / 31.1.3 服务化 / 41.1.4 消息队列 / 41.1.5 数据异构 / 61.1.6 缓存银弹 / 71.1.7 并发化 / 91.2 高可用原则 / 101.2.1 降级 / 101.2.2 限流 / 111.2.3 切流量 / 121.2.4 可回滚 / 121.3 业务设计原则 / 121.3.1 防重设计 / 131.3.2 幂等设计 / 131.3.3