java入门索引
Posted renjiafu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java入门索引相关的知识,希望对你有一定的参考价值。
java入门到放弃索引
java
JAVA 基础
- 面向对象
- 集合框架
- IO流
- 常用类
- 多线程并发
- ArrayBlockingQueue 和 LinkedBlockingQueue 区别
- 集合迭代器的原理
- 传值和传引用的区别
- 动态代理
- JDK8 ConcurrentHashMap 的原理
多线程
- 创建多线程的方式,以及线程的状态转换
- 线程的中断机制
- ThreadPoolExecutor 初始化参数; Executors 静态方法
- synchronized 的使用方式及原理
- 偏向锁、轻量级锁、自旋锁等优化
- ReentrantLock 的特点及 AQS 原理
- Semaphore、CountDownLatch、CyclicBarrier 等使用
- ThreadLocal 的原理、与 Thread 类的关系、以及内存泄漏问题
- volatile 的原理及内存屏障相关
- Lock 接口有哪些实现类,使用场景是什么
- 悲观锁,乐观锁,优缺点,CAS 有什么缺陷,该如何解决
- ABC 三个线程如何保证顺序执行
- 生产者消费者模式的实现方式
- 如何实现控制线程在某段时间内完成,不完成就撤销
JVM
- JVM 的内存区域
- 字符串常量池相关
- 对象的内存布局,涉及到锁的部分
- 类加载的过程,以及双亲委派机制、自定义类加载器
- GC 常见算法,CMS 以及 G1 的垃圾回收过程,CMS 的各个阶段哪两个是 Stop the world 的,CMS 会不会产生碎片,G1 的优势
- 标记清除、复制和标记整理算法的理解以及优缺点
- eden survivor 区的比例,为什么是这个比例,eden survivor 的工作过程
- JVM 如何判断一个对象是否该被 GC,可以视为 root 的都有哪几种类型
- 强软弱虚引用的区别以及 GC 对他们执行怎样的操作
- Java 是否可以 GC 直接内存
- 常用的 JVM 调优参数
- GC 优化的步骤
- 当出现了内存泄漏或内存溢出,怎么排错
- CMS 和 G1 收集过程
数据库相关
- 常见的数据库优化手段
- 索引的优缺点,以及索引选择
- B+树索引的原理
- 数据库连接池
- mysql 的锁机制
- MVCC 和 ReadView
- InnoDB 的一些特性
- 数据库三范式
计算机网络、操作系统
- TCP,UDP 区别
- 三次握手,四次挥手,为什么要四次挥手
- 长连接和短连接,连接池适合长连接还是短连接
- OSI 七层模型
- 用户态和内核态
数据结构和算法
- 红黑树、AVL 树
- B 树、B+树
- 排序算法
- 一致性 Hash 算法,一致性 Hash 算法的应用
- TopK 问题
- 判断链表是否有环
缓存相关
- redis 支持的数据类型及使用场景
- redis 单线程为什么还那么快
- redis 如何存储一个 String 的
- redis 的过期策略
- redis 的部署方式,主从,集群
- redis 的哨兵模式,一个 key 值如何在 redis 集群中找到存储在哪
- redis 持久化策略
- 缓存穿透、缓存击穿、缓存雪崩问题及解决方法
- 缓存和数据库一致性问题
框架相关
- Spring 的常用注解及作用
- Spring Bean 的生命周期
- Spring 怎么解决单例 Bean 的循环依赖问题
- Spring 对于 IOC 的扩展点有哪些
- Spring AOP 的原理,及代理对象调用过程(责任链+递归调用)
- Spring 的事务机制,及执行流程
- Spring 使用了哪些设计模式
- Mybatis 基于接口完成查询的过程及原理
- Mybatis 的一级缓存和二级缓存
- Quartz 是如何完成定时任务的;集群同步机制
分布式相关
- 分布式事务的控制
- 分布式锁如何设计
- 分布式 session 如何设计
- dubbo 的组件有哪些,及其作用
- dubbo SPI 机制;远程接口调用过程
- dubbo 支持的协议及序列化方式
- dubbo 的负载均衡和容错策略
- zookeeper 的 ZAB 协议工作原理
- zookeeper 的 Watcher 机制
- zookeeper 的 Watcher 机制
- zookeeper 的数据存储
- zookeeper 的负载均衡算法
- rocketmq 的模块功能
- rocketmq 的高可用及高性能
- elasticsearch 的系统架构及读写过程
- elasticsearch 在数据量很大的情况下(数十亿级别)如何提高查询效率啊
- eureka 的相关原理,和 zookeeper 的比较
框架
- 设计模式
- 掌握面向对象的灵魂,使代码具有可维护性.
- 6大设计原则,23种设计模式,响应式编程
- Spring5
- IOC,事务,MVC/AOP
- WebFlux
- Mybatis
- 传参,结果映射,SqlSession,缓存
- SpringBoot2
- 约定优于配置 Starter机制
- 自动化配置
- Actuator 分布式监控
高并发分布式
- 并发编程 & 网络编程
- 线程状态, 线程池, 线程通信
- 线程安全(锁/CAS/happens-before)
- 源码(AQS/Lock/Map/Future)
- NIO,在文件,TCP/UDP优势
- Netty 原理,线程模型,责任链模式,零拷贝
- 分布式RPC Dubbo
- 分布式事务
- 分布式系统数据存储层
- Mycat
- Redis
- 中间件
- kafaka,RocketMQ
- nginx 负载均衡
- Linux内核LVS负载均衡
- Keepalived 实现不宕机
- 业务
- 分布式锁(Redis,Zk)
- 分布式事务(TCC,MQ)
- 分布式会话,单点登录
- Mysql高可用,主从复制,分库分表
- 互联网大规模唯一订单号
- 缓存雪崩,穿透
- Netty NIO消息推送
微服务
- Netflix核心组件
- 接口调用
- 统一网关
- SpringCloud
- 自动更新配置
- Sleuth链路监控
- 下一代网关 Gataway
- 微服务
- 用户校验
- 网关限流
- 子系统
- ELK日志
- 分布式事务
系统性能优化
- JVM优化(GC HotspotJVM 参数调优 内存泄露问题)
- WEB 程序调优
- SQL 优化
自动化工具
- Maven
- Git
- Sonar
- Jenkins DevOps 自动化
容器化
-
docker
- docker基础(镜像, 容器, 常用命令, 官方文档)
- docker安装与使用
- 搭建docker私有仓库
- docker swarn集群搭建
- docker service服务编排
- docker stack分布式集群部署
- docker 容器管理可视化工具
- maven 插件打包docker镜像
- docker 部署运行java程序
- docker应用 : 搭建ELK
- docker应用 :搭建RabbitMQ,Mysql等
- docker + 微服务,动态扩容
-
k8s
- k8s 容器编排设计架构
- 核心理念
- 搭建k8s
- k8s调度 Docker运行
- 核心概念 Pod, Nodes, Service
- 搭建 k8s 多台服务器集群
- k8s 部署 SpringBoot 程序集群
- k8s 负载均衡
以上是关于java入门索引的主要内容,如果未能解决你的问题,请参考以下文章
Java从入门到入坟系列学习路线目录索引(持续更新中~~~)