高性能Java架构:核心原理与案例实战

高性能Java架构:核心原理与案例实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书不仅适合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中的常见架构与工具。

作者简介

作者张方兴,多年从事Java编程工作,参与多个项目研发,曾编著《微服务分布式基础架构与实战——基于Spring Boot Spring Cloud》一书。

章节目录

版权信息

内容简介

前言

第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 其他工具与架构

高性能Java架构:核心原理与案例实战是2021年由电子工业出版社出版,作者张方兴。

得书感谢您对《高性能Java架构:核心原理与案例实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
SpringSecurity原理与实战 电子书
本书主要介绍基于Spring Security构建系统安全性的技术体系和工程实践。
Java基础案例教程 电子书
传智播客经典图书的延续。本书采用章节 案例的编写方式,除第1章外,其他章节均加入案例讲解,总计20个案例,达到“边做边学”的效果,提供免费教学资源,包括11 个精美教学PPT、1300 道测试题、长达37 小时的教学视频等。
软件定义网络核心原理与应用实践 电子书
本书分为核心原理和应用实践两大部分,对软件定义网络(SDN)技术进行了全面剖析和深入解读。第一部分首先阐述了SDN的设计思想与体系架构,详细分析了软件定义网络的控制转发分离和可编程性两个突出属性,其次介绍了以OpenFlow为代表的SDN南向接口协议,以及北向和东向接U协议,接下来根据SDN的层次化架构,依次介绍了SDN数据平面、控制平面以及SDN应用案例,最后梳理总结J,SDN标准化进展以及学术
云原生架构进阶实战 电子书
凝练云原生的核心思想和理念,通过讲述云原生敏捷基础架构构建过程和DevOps方法,并结合实际案例,为你展现云原生的实战场景和步骤。
SpringCloud微服务架构实战 电子书
本书以实战化训练为宗旨,用详尽的案例讲述SpringCloud的项目搭建方法和常用技术。