目录 搜索 展开 一、基础篇(1-2年)1、Java 概念与特性1.1、JAVA语言中的三大特性 1.2、Java语言主要特性1.3、JDK和JRE有什么区别1.4、Java 各版本新特性Java 8 新特性Java 9 新特性Java 10 新特性Java 11 新特性Java 12 新特性Java 13 新特性Java 14 新特性Java 15 新特性3、Java 基础2.1、Java 异常分类及处理2.2、Java 关键字2.2、Java 反射2.3、Java 注解2.4、Java 内部类2.5、Java 泛型2.6、Java 序列化(创建可复用的 Java 对象)2.7、Java 复制2.8、18个Java8日期处理占位符替换,我汇总了三种方式:4、Java 集合Java集合基础知识点系统性总结篇4.1、ListArrayListLinkList4.1.1、Get Random Item/Element From a List4.2、SetHashSetTreeSet4.3、Map4.3.1、为什么 HashMap 的加载因子是0.75?4.3.2、HashMap 源码分析4.3.3、ConcurrentHashMap 源码分析4.3.4、LinkHashMap 源码分析4.4、Collections 工具类网络wez 5、Mybatis 框架3.1、Mybatis 简介3.2、MyBatis 初始化过程3.2、MyBatis 执行流程3.3、Mybatis 拦截器3.4、Mybatis 缓存6、Spring 框架6.1、Spring IOC、DI6.2、Spring AOP6.2.1、JDK 动态代理6.2.2、CGLib 动态代理6.3、Spring MVC6.4、Spring 事务传播与隔离7、日志组件8、Spring Boot 框架Spring Boot 启动流程解析Spring Boot、Spring MVC、Spring 区别?Spring Boot Starter 是什么 ?Spring Boot 自动装配原理9、Git 开发9、Maven / Gradle10、模板引擎SpringBoot整合模板引擎(Thymeleaf、Freemarker、JSP)二、进阶篇(3-5年)2.0、JVM 2.1、线程2.2、JVM 内存区域2.3、JVM 运行时内存2.4、垃圾回收与算法2.5、Java 四中引用类型2.6、GC 分代收集算法 VS 分区收集算法2.7、GC 垃圾收集器2.8、Java IO/NIO2.9、JVM 类加载机制2.10、JVM 参数详解2.11、G1 GC 总结JVM垃圾收集器G1JDK 工具2.12、JVM 性能调优2.12、JVM 调优6大步骤2.1、Java 算法二分查找冒泡排序算法插入排序算法快速排序算法希尔排序算法归并排序算法桶排序算法基数排序算法剪枝算法回溯算法最短路径算法最大子数组算法最长公共子序算法最小生成树算法2.2、数据结构栈、队列、链表、散列表排序二叉树红黑树B-TREEB-Tree 和 B+Tree 的区别2.3、设计模式(23种)设计原则工厂方法模式抽象工厂模式单例模式建造者模式原型模式适配器模式装饰器模式代理模式外观模式桥接模式组合模式享元模式策略模式模板方法模式观察者模式迭代子模式责任链模式命令模式备忘录模式状态模式访问者模式中介者模式解释器模式2.4、Java 多线程2.4.1、Java 线程实现/创建方式2.4.2、线程基本方法2.4.3、线程生命周期(状态)2.4.4、终止线程 4 种方式2.4.5、Java 后台线程2.4.6、线程上下文切换2.4.7、同步锁与死锁2.4.8、线程池原理2.4.8.1、为什么不推荐使用 Executors?2.4.8.2、如何合理地估算线程池大小?2.4.9、5 种线程池2.5.0、Java 阻塞队列原理2.5.1、CyclicBarrier、CountDownLatch、Semaphore 的用法2.5.2、线程之间共享数据2.5.3、ThreadLocal 作用(线程本地存储)TransmittableThreadLocal2.5.4、synchronized 和 ReentrantLock 的区别2.5.5、ConcurrentHashMap 并发2.5.6、Java 线程调度方式2.5.7、进程调度算法2.5.8、什么是 CAS(比较并交换-乐观锁机制-锁自旋)2.5.9、什么是 AQS(抽象的队列同步器)CountDownLatch 的理解和使用AQS详解多线程事务控制Synchronized 原理ForkJoinPoolCompletableFuturedd合理估算java的线程池大小及队列数2.5、数据库概念、设计与优化存储引擎数据库基本概念数据库并发策略常用的5中锁定常见索引原则SQL的优化MySQL 数据库Innodb的聚簇索引和非聚簇索引聚簇、非聚簇索引和覆盖索引覆盖索引与回表MySQL Explain 详解MySQL 行级锁MySQL 索引类型MySQL 的 delete、truncate、drop 有什么区别?为什么生产环境中B+树的高度总是3-4层?MySQL5种索引类型时间类型 date,datetime,timestamp和bigint的选择normal,unique,full text 索引的区别数据库 - 连接池连接池原理性能比对 (hikari druid c3p0 dbcp jdbc)Druid 原理和优化数据库 - 分库分表分库分表简介Mybatis-Plus 分库分表Apache ShardingSphereSharding-JDBCSharding-Proxy数据库 - 读写分离2.6、RPCgRPCDubbo 框架背景需求架构实现原理和机制2.7、网络运维2.7.1、网络知识网络 7 层架构TCP/IP 原理TCP 三次握手/四次挥手HTTP 原理CDN 原理QPS 机器计算公式浙音 QPS 计算行知 QPS 计算并发数 = QPS*平均响应时间2.7.2、Linux 知识查看监控信息2.8、分布式存储FastDFSMinIO云 OSS2.9、Netty2.10、Tomcat、Jetty、Undertow基于 Redis 的 Tomcat 会话管理器三、高级篇(5年+)3.2、幂等性深入理解幂等性8种幂等性解决重复提交的方案Stream 原理3.1、一致性算法Paxos 协议ZabRaftNWRGossip一致性 Hash3.2、消息队列消息队列原理Disruptor 框架Disruptor 的核心概念KafkaRabbitMQRocketMQRocketMQ 集群概述ACKRocketMQ-01RocketMQ-02RocketMQ-033.3、NoSQL 数据库HbaseMongoDBCassandra3.4、分布式缓存3.4.1、RedisRedis 部署方式Redis Cluster 原理Redis 哈希槽的概念Redis 数据类型Redis 分布式锁原理Redis过期策略 实现原理Redis 为什么单线程很快Redis 50 问?Redis性能指标监控Redlock(Redis分布式锁)原理分析Redis缓存淘汰策略bitmap 在亿级项目中的应用Redis之bitmapRedis 缓存雪崩&穿透&失效终极解决3.4.2、Redisson分布式对象分布式集合分布式锁和同步器Redis命令和Redisson对象对照列表缓存可能出现的问题 ?阿里官方Redis开发规范!sss3.5、分布式锁缓存击穿解决方案(分布式锁)Redis与Zookeeper实现分布式锁的区别Apache Curator分布式锁过期时间到了业务没执行完问题3.6、分布式事务CAP两阶段提交协议(2PC)三阶段提交协议(3PC)柔性事务(TCC)中间件Seata(TCC、XA)Hmily(TCC)Raincat(2PC)Myth3.7、微服务3.7.1、服务注册发现注册中心选型EtcdZookeeperConsulEurekaSmartStackNacos3.7.2、API 网关3.7.3、配置中心3.7.4、服务跟踪3.7.5、雪崩效应3.7.5.1、超时机制3.7.5.2、服务限流Guava RateLimiter RateLimiter TimeLimiterRedisRateLimiter SentinelQuick StartResilience4jCircuitbreakerTimeLimiterRetryBulkheadRateLimiter3.7.5.3、服务熔断3.7.5.4、服务降级3.8、负载均衡负载均衡算法/策略LVSKeepaliveHAProxyNginx3.9、性能调优高并发下,你都怎么选择最优的线程数? jvisualvmjstat 3.10、搜索引擎Elastsearch3.11、分布式调度XXL-JOB 原理Elastic Job LiteReactorReactor之发射器(Flux、Mono)四、资深篇(6年+)五、面试题4.1、Java 运行环境4.2、Java 基础知识大幅度阿里巴巴常考面试题及汇总答案高级开发人员面试宝典(一)40个Java集合问题和答案最近5年133个Java面试问题列表2016年Java 面试题总结115个Java面试题和答案——终极列表(上) Java hashCode() 和 equals()的若干问题解答 4.3、Java 框架4.4、Java 分布式架构数据重复统计Redis Netty4.5、Java Devopsgmv是什么意思?如何计算GMV?4.6、Docker、K8s4.7、网络运维(扩展)4.8、Java 面试重点 暂无相关搜索结果! 阅读次数:129 本文档使用 MinDoc 发布 B-Tree 和 B+Tree 的区别 在B+Tree中,所有数据记录节点都是按照键值大小顺序存放在同一层的叶子节点上,而非叶子节点上只存储key值信息,这样可以大大加大每个节点存储的key值数量,降低B+Tree的高度。B树:B+树:作者:Jeebiz 创建时间:2020-06-19 23:57 更新时间:2024-10-26 16:27