前言
当前市面上的书,在讲性能调优和系统架构的时候有些过于空洞和泛泛了。可能他讲了一部分底层原理和概念,然后就会带你把整个架构搭建起来,并且告诉你这个架构是好的。例如Spring Boot + Spring Cloud 微服务分布式架构。例如Dubbo + Zookeeper分布式服务架构。
他就会告诉你这是好的架构,用了一大堆技术类词汇搞的人特别头疼,其中包括SOA、SOAP、RPC、GRPC、RestFul、WebService、WebSocket。
这些内容似是而非,似乎很像,我花了很长时间全部掌握以后发现一个根本性的弊病——那就是我似乎一直在扩展自己的框架类知识。
学完Java学Python,学完Python学Golang。到最后发现似乎Java到最后都没有深入。
我想问一个最简单的问题,你公司现在的代码能够承受多少用户量而导致不崩溃?你现在可以直接回答实际最大并发数字么?此时市面上那些个空洞的,讲框架讲原理的书一下似乎都没有用了。不允许你使用框架的时候,自然任何框架都失去了意义。
因为如果没有框架下,回到了大一你曾经第一次在黑窗口中写Hello World的时候,你是否能经过业务逻辑达到30000TPS并发。曾经我也没有这种思想,也没有人告诉我如何做这种事情。在后来逐渐工作中我才领悟到了,多线程也好,GC垃圾回收也好,框架也好,中间件也好,数据库也好,都重要,也都不重要。最重要的是你需要掌握自己编写的系统,毕竟你编写的系统不是功能实现就结束了。
在此之后的事情呢?
你系统现在多少并发?长时间运行或一些特殊步骤是否会引起内存溢出的问题?如何优化到更高并发?有哪些优化点?一旦突增用户量,哪怕系统响应缓慢,但是否仍然可以继续排队响应?而不是直接爆炸?
而今天推荐给大家的这份高性能Java架构核心原理就是想告诉大家,所有的代码都是要靠性能测试与性能监控,才能达到理想的性能。
目录章节一览
每个章节都有小目录,因为篇幅原因就不给大家全部展开看了,下面会给大家展示一下每个章节的部分内容
内容总览
高性能Java核心知识概述
-
高性能
-
高并发
-
GC
为MySQL填充亿级数据
MySQL基准测试: sysbench与mysqlslap
-
sysbench实战
-
初次使用sysbench压测MySQL
代码单元的性能测试与优化
-
JMH实战
Web性能测试解决方案:JMeter
-
JMeter
-
JMeter实战
SQL优化与索引优化
-
SQL执行计划
MySQL主从复制
-
MySQL主从复制原理
MySQL分库分表:MyCAT
-
MyCAT实战
MySQL性能监控解决方案:Prometheus+Grafana
堆内缓存解决方案:Java堆内缓存与Guava Cache
-
Java堆内缓存
堆外缓存与磁盘缓存解决方案:MapDB
-
MapDB实战
基于Redis的分布式锁解决方案: Redisson
-
分布式锁与Redisson原理
Java中的常见架构与工具