java入门索引

Posted renjiafu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java入门索引相关的知识,希望对你有一定的参考价值。

java入门到放弃索引

java

JAVA 基础

  1. 面向对象
  2. 集合框架
  3. IO流
  4. 常用类
  5. 多线程并发
  6. ArrayBlockingQueue 和 LinkedBlockingQueue 区别
  7. 集合迭代器的原理
  8. 传值和传引用的区别
  9. 动态代理
  10. JDK8 ConcurrentHashMap 的原理

多线程

  1. 创建多线程的方式,以及线程的状态转换
  2. 线程的中断机制
  3. ThreadPoolExecutor 初始化参数; Executors 静态方法
  4. synchronized 的使用方式及原理
  5. 偏向锁、轻量级锁、自旋锁等优化
  6. ReentrantLock 的特点及 AQS 原理
  7. Semaphore、CountDownLatch、CyclicBarrier 等使用
  8. ThreadLocal 的原理、与 Thread 类的关系、以及内存泄漏问题
  9. volatile 的原理及内存屏障相关
  10. Lock 接口有哪些实现类,使用场景是什么
  11. 悲观锁,乐观锁,优缺点,CAS 有什么缺陷,该如何解决
  12. ABC 三个线程如何保证顺序执行
  13. 生产者消费者模式的实现方式
  14. 如何实现控制线程在某段时间内完成,不完成就撤销

JVM

  1. JVM 的内存区域
  2. 字符串常量池相关
  3. 对象的内存布局,涉及到锁的部分
  4. 类加载的过程,以及双亲委派机制、自定义类加载器
  5. GC 常见算法,CMS 以及 G1 的垃圾回收过程,CMS 的各个阶段哪两个是 Stop the world 的,CMS 会不会产生碎片,G1 的优势
  6. 标记清除、复制和标记整理算法的理解以及优缺点
  7. eden survivor 区的比例,为什么是这个比例,eden survivor 的工作过程
  8. JVM 如何判断一个对象是否该被 GC,可以视为 root 的都有哪几种类型
  9. 强软弱虚引用的区别以及 GC 对他们执行怎样的操作
  10. Java 是否可以 GC 直接内存
  11. 常用的 JVM 调优参数
  12. GC 优化的步骤
  13. 当出现了内存泄漏或内存溢出,怎么排错
  14. CMS 和 G1 收集过程

数据库相关

  1. 常见的数据库优化手段
  2. 索引的优缺点,以及索引选择
  3. B+树索引的原理
  4. 数据库连接池
  5. mysql 的锁机制
  6. MVCC 和 ReadView
  7. InnoDB 的一些特性
  8. 数据库三范式

计算机网络、操作系统

  1. TCP,UDP 区别
  2. 三次握手,四次挥手,为什么要四次挥手
  3. 长连接和短连接,连接池适合长连接还是短连接
  4. OSI 七层模型
  5. 用户态和内核态

数据结构和算法

  1. 红黑树、AVL 树
  2. B 树、B+树
  3. 排序算法
  4. 一致性 Hash 算法,一致性 Hash 算法的应用
  5. TopK 问题
  6. 判断链表是否有环

缓存相关

  1. redis 支持的数据类型及使用场景
  2. redis 单线程为什么还那么快
  3. redis 如何存储一个 String 的
  4. redis 的过期策略
  5. redis 的部署方式,主从,集群
  6. redis 的哨兵模式,一个 key 值如何在 redis 集群中找到存储在哪
  7. redis 持久化策略
  8. 缓存穿透、缓存击穿、缓存雪崩问题及解决方法
  9. 缓存和数据库一致性问题

框架相关

  1. Spring 的常用注解及作用
  2. Spring Bean 的生命周期
  3. Spring 怎么解决单例 Bean 的循环依赖问题
  4. Spring 对于 IOC 的扩展点有哪些
  5. Spring AOP 的原理,及代理对象调用过程(责任链+递归调用)
  6. Spring 的事务机制,及执行流程
  7. Spring 使用了哪些设计模式
  8. Mybatis 基于接口完成查询的过程及原理
  9. Mybatis 的一级缓存和二级缓存
  10. Quartz 是如何完成定时任务的;集群同步机制

分布式相关

  1. 分布式事务的控制
  2. 分布式锁如何设计
  3. 分布式 session 如何设计
  4. dubbo 的组件有哪些,及其作用
  5. dubbo SPI 机制;远程接口调用过程
  6. dubbo 支持的协议及序列化方式
  7. dubbo 的负载均衡和容错策略
  8. zookeeper 的 ZAB 协议工作原理
  9. zookeeper 的 Watcher 机制
  10. zookeeper 的 Watcher 机制
  11. zookeeper 的数据存储
  12. zookeeper 的负载均衡算法
  13. rocketmq 的模块功能
  14. rocketmq 的高可用及高性能
  15. elasticsearch 的系统架构及读写过程
  16. elasticsearch 在数据量很大的情况下(数十亿级别)如何提高查询效率啊
  17. 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从入门到入坟系列学习路线目录索引(持续更新中~~~)

Java从入门到入坟系列学习路线目录索引(持续更新中~~~)

Java全文检索Lucene急速入门知识

JAVA基础入门教程 -

从入门到深入!java根据文件路径下载文件

Java入门_一维数组_第二题_随机生成数