展开全部

主编推荐语

本书不仅适合Java初学者、刚入行的编程人员,也适合对高性能、高并发感兴趣的程序员。

内容简介

本书是按照程序设计与架构的顺序编写的,共13章。

第1章介绍学习高性能Java应了解的核心知识,为前置内容。

第2章和第3章讲解在编写代码之前,如何高效地为MySQL填充亿级数据,并对MySQL进行基准测试,以便在之后编程时有所比较。

第4章讲解在编写代码的过程中如何优化代码,使代码更高效。

第5章和第6章讲解在写好代码之后如何测试并优化场景响应速度。

第7章和第8章讲解在程序上线执行一段时间之后如何对MySQL进行主从复制、分库分表。

第9章讲解如何通过Prometheus和Grafana监控MySQL节点。

第10章和第11章讲解如何通过堆内缓存、堆外缓存(MapDB)和磁盘缓存解决MySQL数据库性能不佳的问题。

第12章讲解如何使用分布式锁Redisson解决实际应用中常见的数据一致性问题。

第13章简要介绍Java中的常见架构与工具。

目录

  • 版权信息
  • 内容简介
  • 前言
  • 第1章 高性能Java核心知识概述
  • 1.1 高性能
  • 1.2 高并发
  • 1.3 高可用
  • 1.4 算法、GC与诊断工具
  • 1.4.1 算法
  • 1.4.2 GC
  • 1.4.3 jvmtop
  • 1.4.4 jstat
  • 1.4.5 Arthas
  • 1.5 分离术
  • 1.6 基准测试
  • 1.6.1 基准测试的概念
  • 1.6.2 基准测试的实际用途
  • 1.6.3 基准测试与一般性能测试的区别
  • 1.7 性能测试
  • 1.7.1 性能测试的目的
  • 1.7.2 性能测试着重观察的指标
  • 1.7.3 性能测试存在的误区
  • 1.7.4 性能测试应涵盖的内容
  • 1.8 业务测试
  • 1.9 单元测试
  • 1.9.1 等价类划分
  • 1.9.2 边界值分析
  • 1.9.3 错误推测法
  • 1.10 数据库概述
  • 1.10.1 数据库分类
  • 1.10.2 数据库测试的具体内容
  • 1.11 缓存的核心知识
  • 1.11.1 缓存的命中率
  • 1.11.2 缓存回收方式
  • 1.11.3 缓存回收策略
  • 1.11.4 缓存的设计模式
  • 1.11.5 缓存测试应涵盖的内容
  • 1.11.6 实战:秒杀系统设计方案
  • 1.12 总结——业务、性能、编程、架构相辅相成
  • 第2章 为MySQL填充亿级数据
  • 2.1 问题描述
  • 2.2 问题分析与解决方案
  • 2.3 为MySQL填充亿级数据实战
  • 2.3.1 INSERT INTO SELECT方案
  • 2.3.2 存储过程方案
  • 2.3.3 Loadfile方案
  • 2.3.4 第三方解决方案
  • 2.4 最终结果
  • 第3章 MySQL基准测试:sysbench与mysqlslap
  • 3.1 问题描述
  • 3.2 问题分析与解决方案
  • 3.2.1 解决方案:sysbench
  • 3.2.2 sysbench的命令与参数
  • 3.2.3 解决方案:mysqlslap
  • 3.2.4 mysqlslap的命令与参数
  • 3.3 sysbench实战
  • 3.3.1 使用sysbench压测CPU、内存和磁盘I/O
  • 3.3.2 初次使用sysbench压测MySQL
  • 3.3.3 深度使用sysbench压测MySQL
  • 3.4 mysqlslap实战
  • 3.5 其他基准压测工具
  • 第4章 代码单元的性能测试与优化
  • 4.1 问题描述
  • 4.2 问题分析与解决方案
  • 4.3 JMH实战
  • 4.3.1 测试JMH基准性能
  • 4.3.2 测试i++基准性能
  • 4.3.3 用JMH执行多个函数的结果
  • 第5章 Web性能测试解决方案:JMeter
  • 5.1 问题描述
  • 5.2 问题分析与解决方案
  • 5.3 JMeter的特点
  • 5.4 深入理解JMeter
  • 5.4.1 JMeter中的部分配置元件
  • 5.4.2 JMeter参数化的实现方式
  • 5.4.3 JMeter函数
  • 5.4.4 通过JMeter读取外部文件
  • 5.4.5 通过JMeter提取上一个接口返回值
  • 5.5 JMeter实战
  • 5.5.1 初次使用JMeter测试REST接口
  • 5.5.2 录制性能测试脚本
  • 第6章 SQL优化与索引优化
  • 6.1 问题描述
  • 6.2 问题分析与解决方案
  • 6.3 SQL执行计划
  • 6.4 SQL优化与索引优化实战
  • 6.4.1 SQL索引优化
  • 6.4.2 分页查询优化
  • 6.4.3 慢SQL日志分析工具mysqldumpslow
  • 第7章 MySQL主从复制
  • 7.1 问题描述
  • 7.2 问题分析与解决方案
  • 7.3 MySQL主从复制原理
  • 7.4 深入理解MySQL中的二进制日志
  • 7.4.1 查看MySQL二进制日志状态
  • 7.4.2 log_bin和sql_log_bin的区别
  • 7.4.3 开启二进制日志
  • 7.4.4 查看二进制日志文件的名称、大小和状态
  • 7.4.5 删除某个日志之前的所有二进制日志文件
  • 7.4.6 删除某个时间点以前的二进制日志文件
  • 7.4.7 删除所有的二进制日志文件
  • 7.4.8 查看二进制日志文件内容
  • 7.4.9 通过二进制日志文件恢复MySQL
  • 7.5 MySQL主从复制实战
  • 7.5.1 构建MySQL主从复制架构
  • 7.5.2 使用Spring Boot整合MySQL主从复制架构
  • 第8章 MySQL分库分表:MyCAT
  • 8.1 问题描述
  • 8.2 问题分析与解决方案
  • 8.3 MyCAT实战
  • 8.3.1 构建MyCAT一主多从架构
  • 8.3.2 构建MyCAT双主多从环境
  • 8.3.3 MyCAT分库——垂直拆分
  • 8.3.4 MyCAT分表——水平拆分
  • 8.3.5 构建HAProxy + MyCAT + MySQL高可用架构
  • 第9章 MySQL性能监控解决方案:Prometheus+Grafana
  • 9.1 问题描述
  • 9.2 问题分析与解决方案
  • 9.3 Prometheus概述与适用场景
  • 9.4 时序数据库概述与适用场景
  • 9.5 Grafana概述与适用场景
  • 9.6 构建Prometheus + Grafana监控实战
  • 第10章 堆内缓存解决方案:Java堆内缓存与Guava Cache
  • 10.1 问题描述
  • 10.2 问题分析与解决方案
  • 10.3 Java堆内缓存
  • 10.3.1 Java堆内缓存原理
  • 10.3.2 Java堆内缓存中的常见算法及实战
  • 10.4 Guava Cache实战
  • 10.4.1 创建Google的容器工厂
  • 10.4.2 屏蔽NULL值
  • 10.4.3 管理字符串
  • 10.4.4 操作Google的Multiset容器
  • 10.4.5 操作Google的Multimap容器
  • 10.4.6 操作Google的BiMap容器
  • 10.4.7 操作Google的Table容器
  • 10.4.8 操作Google的classToInstanceMap容器
  • 10.4.9 操作Google的RangeSet容器
  • 10.4.10 操作Google的RangeMap容器
  • 10.4.11 操作Google的Guava Cache
  • 第11章 堆外缓存与磁盘缓存解决方案:MapDB
  • 11.1 问题描述
  • 11.2 问题分析与解决方案
  • 11.2.1 堆外缓存
  • 11.2.2 MapDB
  • 11.2.3 实战:初次使用MapDB
  • 11.3 MapDB的构造原理
  • 11.4 MapDB的使用方法
  • 11.5 MapDB实战
  • 11.5.1 MapDB的序列化
  • 11.5.2 MapDB的事务
  • 11.5.3 MapDB的监听器与多级缓存
  • 第12章 基于Redis的分布式锁解决方案:Redisson
  • 12.1 分布式锁与Redisson原理
  • 12.2 单机版超买或超卖问题描述及解决方案
  • 12.3 分布式版超买或超卖问题描述及解决方案
  • 12.4 多线程死锁问题描述及解决方案
  • 12.5 Redisson实战
  • 12.5.1 Redisson的可重入锁
  • 12.5.2 Redisson的公平锁
  • 12.5.3 Redisson的联锁
  • 12.5.4 Redisson的红锁
  • 12.5.5 Redisson的读写锁
  • 12.5.6 Redisson的信号量
  • 12.5.7 Redisson的分布式闭锁
  • 第13章 Java中的常见架构与工具
  • 13.1 自动化测试架构
  • 13.2 自动化持续集成部署架构
  • 13.3 高并发架构
  • 13.4 响应式编程架构
  • 13.5 负载均衡架构
  • 13.6 监控工具与监控架构
  • 13.7 其他工具与架构
展开全部

评分及书评

3.8
6个评分
  • 用户头像
    给这本书评了
    3.0

    文中几乎没有图,文字性描述技术架构,架构图全靠脑补;技术组合拳,开阔视野用吧

      转发
      评论
      用户头像
      给这本书评了
      3.0

      更多是知识罗列,里面有一些经验之谈,有参考意义性能优化的本质和原理讲的比较少

        转发
        评论

      出版方

      电子工业出版社

      电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。