Java 9JigsawJshellReacative StreamsJava 10局部变量类型推断ThreadLocal握手机制G1的并行Full GCJava 11ZGCEpsilon增强varJava 12Switch表达式Java 13Text BlocksDynamic CDS ArchivesJava 14Java打包工具更有价值的NullPointerExceptionrecord类型Spring 5响应式编程Spring Boot 2.0http/2http/3性能优化使用单例使用Future模式使用线程池选择就绪减少上下文切换减少锁粒度数据压缩结果缓存Stream并行流GC调优JVM内存分配调优SQL调优线上问题分析dump线程Dump内存DumpGC情况dump获取及分析工具jstackjstatjmapjmapjhatArthasdump分析死锁dump分析内存泄漏自己编写各种outofmenory,stackoverflow程序HeapOutOfMemoryYoung OutOfMemoryMethodArea OutOfMemoryConstantPool OutOfMemoryDirectMemory OutOfMemoryStack OutOfMemory Stack OverFlowArthasJVM相关class/classloader相关monitor/watch/trace相关options管道后台异步任务常见问题解决思路内存溢出线程死锁类加载冲突load飙高CPU利用率飙高慢SQL常见问题解决思路使用工具尝试解决一下问题,并写下总结当一个Java程序响应很慢时如何查找问题当一个Java程序频繁FullGC时如何解决问题如何查看垃圾回收日志当一个Java应用发生OutOfMemory时该如何解决如何判断是否出现死锁如何判断是否存在内存泄漏使用Arthas快速排查Spring Boot应用404/401问题使用Arthas排查线上应用日志打满问题利用Arthas排查Srping Boot应用NoSuchMethodError编译原理知识编译与反编译Java代码的编译与反编译Java的反编译工具javapjadCRF即时编译器编译器优化操作系统知识Linux的常用命令findgreppscpmovetarheadtailnetstatlsoftreewgetcurlpingsshechofreetop进程间的通信服务器性能指标loadCPU利用率内存使用情况qpsrt进程同步生产者消费者问题哲学家就餐问题读者写者问题缓冲区溢出分段与分页虚拟内存与主存虚拟内存管理换页算法数据库知识MySql执行引擎MySql执行计划如何查看执行计划如何根据执行计划进行SQL优化索引Hash索引&B树索引普通索引&唯一索引聚集索引&非聚集索引覆盖索引最左前缀原则索引下推索引失效回表SQL优化数据库事务和隔离级别事务的ACID事务的隔离级别与读现象事务能不能实现锁的功能编码方式utf8utf8mb4为什么不用在数据库中使用utf8编码行数统计count(1)、count(*)、count(字段)的区别为什么建议使用count(*)数据库锁共享锁、排它锁行锁、表锁乐观锁、悲观锁使用数据库锁实现乐观锁Gap Lock、Next-Key Lock连接内连接左连接右连接数据库主备搭建logbinlogredolog内存数据库h2分库分表读写分离常用的nosql数据库redismemcached分别使用数据库锁、NoSql实现分布式锁性能调优数据库连接池数据结构与算法知识简单的数据库结构栈队列链表数组哈希表栈队列的相同和不同之处栈通常采用的两种存储结构两个栈实现队列和两个队列实现栈树二叉树字典树平衡树排序树B树B+树R树多路树红黑树堆大根堆小根堆图有向图无向图拓扑稳定的排序算法冒泡排序插入排序鸡尾酒排序桶排序计数排序归并排序原地归并排序二叉排序树排序基数排序侏儒排序图书馆排序块排序不稳定的排序算法选择排序希尔排序Clover排序算法梳排序堆排序平滑排序快速排序内省排序耐心排序时间复杂度&空间复杂度如何计算时间复杂度和空间复杂度常用排序算法的时间复杂度深度优先和广度优先搜索全排列贪心算法KMP算法hash算法海量数据处理分治hash映射堆排序双层桶划分Bloom fillterbitmap数据库索引mapreduce大数据知识搜索solrElasticSearch流式计算StormSparkFlinkHadoop,离线计算HDFSMapReduce分布式日志收集flumekafkalogstash数据挖掘mahout网络安全知识XSSXSS的防御CDRF注入攻击SQL注入XML注入CRFL注入文件上传漏洞加密与解密对称加密非对称加密哈希算法加盐哈希算法加密算法MD5SHA1DESAESRSADSA彩虹表DDOS攻击DOS攻击DDOS攻击memcached为什么可以导致DDos攻击什么时反射型DDos如何通过Hash碰撞进行DOS攻击SSL、TLS、HTTPS脱库、洗库、撞库新技术 Java 9 Jigsaw Jshell Reacative Streams Java 10 局部变量类型推断 ThreadLocal握手机制 G1的并行Full GC Java 11 ZGC Epsilon 增强var Java 12 Switch表达式 Java 13 Text Blocks Dynamic CDS Archives Java 14 Java打包工具 更有价值的NullPointerException record类型 Spring 5 响应式编程 Spring Boot 2.0 http/2 http/3 性能优化 使用单例 使用Future模式 使用线程池 选择就绪 减少上下文切换 减少锁粒度 数据压缩 结果缓存 Stream并行流 GC调优 JVM内存分配调优 SQL调优 线上问题分析 dump 线程Dump 内存Dump GC情况 dump获取及分析工具 jstack jstat jmap jmap jhat Arthas dump分析死锁 dump分析内存泄漏 自己编写各种outofmenory,stackoverflow程序 HeapOutOfMemory Young OutOfMemory MethodArea OutOfMemory ConstantPool OutOfMemory DirectMemory OutOfMemory Stack OutOfMemory Stack OverFlow Arthas JVM相关 class/classloader相关 monitor/watch/trace相关 options 管道 后台异步任务 常见问题解决思路 内存溢出 线程死锁 类加载冲突 load飙高 CPU利用率飙高 慢SQL 常见问题解决思路 使用工具尝试解决一下问题,并写下总结 当一个Java程序响应很慢时如何查找问题 当一个Java程序频繁FullGC时如何解决问题 如何查看垃圾回收日志 当一个Java应用发生OutOfMemory时该如何解决 如何判断是否出现死锁 如何判断是否存在内存泄漏 使用Arthas快速排查Spring Boot应用404/401问题 使用Arthas排查线上应用日志打满问题 利用Arthas排查Srping Boot应用NoSuchMethodError 编译原理知识 编译与反编译 Java代码的编译与反编译 Java的反编译工具 javap jad CRF 即时编译器 编译器优化 操作系统知识 Linux的常用命令 find grep ps cp move tar head tail netstat lsof tree wget curl ping ssh echo free top 进程间的通信 服务器性能指标 load CPU利用率 内存使用情况 qps rt 进程同步 生产者消费者问题 哲学家就餐问题 读者写者问题 缓冲区溢出 分段与分页 虚拟内存与主存 虚拟内存管理 换页算法 数据库知识 MySql执行引擎 MySql执行计划 如何查看执行计划 如何根据执行计划进行SQL优化 索引 Hash索引&B树索引 普通索引&唯一索引 聚集索引&非聚集索引 覆盖索引 最左前缀原则 索引下推 索引失效 回表 SQL优化 数据库事务和隔离级别 事务的ACID 事务的隔离级别与读现象 事务能不能实现锁的功能 编码方式 utf8 utf8mb4 为什么不用在数据库中使用utf8编码 行数统计 count(1)、count(*)、count(字段)的区别 为什么建议使用count(*) 数据库锁 共享锁、排它锁 行锁、表锁 乐观锁、悲观锁 使用数据库锁实现乐观锁 Gap Lock、Next-Key Lock 连接 内连接 左连接 右连接 数据库主备搭建 log binlog redolog 内存数据库 h2 分库分表 读写分离 常用的nosql数据库 redis memcached 分别使用数据库锁、NoSql实现分布式锁 性能调优 数据库连接池 数据结构与算法知识 简单的数据库结构 栈 队列 链表 数组 哈希表 栈队列的相同和不同之处 栈通常采用的两种存储结构 两个栈实现队列和两个队列实现栈 树 二叉树 字典树 平衡树 排序树 B树 B+树 R树 多路树 红黑树 堆 大根堆 小根堆 图 有向图 无向图 拓扑 稳定的排序算法 冒泡排序 插入排序 鸡尾酒排序 桶排序 计数排序 归并排序 原地归并排序 二叉排序树排序 基数排序 侏儒排序 图书馆排序 块排序 不稳定的排序算法 选择排序 希尔排序 Clover排序算法 梳排序 堆排序 平滑排序 快速排序 内省排序 耐心排序 时间复杂度&空间复杂度 如何计算时间复杂度和空间复杂度 常用排序算法的时间复杂度 深度优先和广度优先搜索 全排列 贪心算法 KMP算法 hash算法 海量数据处理 分治 hash映射 堆排序 双层桶划分 Bloom fillter bitmap 数据库索引 mapreduce 大数据知识 搜索 solr ElasticSearch 流式计算 Storm Spark Flink Hadoop,离线计算 HDFS MapReduce 分布式日志收集 flume kafka logstash 数据挖掘 mahout 网络安全知识 XSS XSS的防御 CDRF 注入攻击 SQL注入 XML注入 CRFL注入 文件上传漏洞 加密与解密 对称加密 非对称加密 哈希算法 加盐哈希算法 加密算法 MD5 SHA1 DES AES RSA DSA 彩虹表 DDOS攻击 DOS攻击 DDOS攻击 memcached为什么可以导致DDos攻击 什么时反射型DDos 如何通过Hash碰撞进行DOS攻击 SSL、TLS、HTTPS 脱库、洗库、撞库