原生Java开发的路该怎么走?小白也能看明白

本文详述了Java开发的各个方面,从JVM、集合、多线程并发到Spring原理、微服务、Netty与RPC,涵盖网络、数据库、设计模式和云计算等。适合初学者和进阶开发者,提供了一条从基础到高级的学习路径。
摘要由CSDN通过智能技术生成

前言

设计模式是我们编程道路上绕不开的一环,用好了设计模式能够让代码拥有良好的维护性、可读性以及扩展性,它仿佛就是“优雅”的代名词,各个框架和库也都能见到它的身影。

正是因为它有种种好处,所以很多人在开发时总想将某个设计模式用到项目中来,然而往往会用得比较别扭。其中一部分原因是业务需求并不太符合所用的设计模式,还有一部分原因就是在Web项目中我们对象都是交由Spring框架的Ioc容器来管理,很多设计模式无法直接套用。那么在真正的项目开发中,我们就需要对设计模式做一个灵活的变通,让其能够和框架结合,在实际开发中发挥出真正的优势。

02 JVM

  • 线程
  • JVM内存区域
  • JVM运行时内存
  • 垃圾回收与算法
  • JAVA四种引用类型
  • GC分代收集算法 VS 分区收集算法
  • GC垃圾收集器
  • JAVA IO/NIO
  • JVM类加载器

image

03 JAVA集合

  • 接口继承关系和实现
  • LIST
  • SET
  • MAP

image

04 JAVA多线程并发

  • JAVA并发知识库
  • JAVA线程实现/创建方式
  • 4种线程池
  • 线程生命周期(状态)
  • 终止线程4种方式
  • sleep与wait区别
  • start与run区别
  • JAVA后台线程
  • JAVA锁
  • 线程基本方法
  • 线程上下文切换
  • 同步锁与死锁
  • 线程池原理
  • JAVA阻塞队列原理
  • CyclicBarrier、CountDownLatch、Semaphore的方法
  • voliate关键字的作用(变量可见性、禁止重排序)
  • 如何在两个线程之间共享数据
  • Threadlocal作用(线程本地存储)
  • synchronized和ReentrantLock的区别
  • ConcurrentHashMap并发
  • Java中用到的线程调度
  • 进程调度算法
  • 什么是CAS(比较并交换-乐观锁机制-锁自旋)
  • 什么是AQS(抽象的队列同步器)

image

05 JAVA基础

  • JAVA异常分类及处理
  • JAVA反射
  • JAVA注解
  • JAVA内部类
  • JAVA泛型
  • JAVA序列化(创建可复用的Java对象)
  • JAVA复制

image

06 Spring原理

  • Spring特点
  • Spring核心组件
  • Spring常用模块
  • Spring主要包
  • Spring常用注解
  • Spring第三方结合
  • Spring IOC原理
  • Spring APO原理
  • Spring MVC原理
  • Spring Boot原理
  • JPA原理
  • Mybatis缓存
  • Tomcat架构

image

07 微服务

  • 服务注册发现
  • API网关
  • 配置中心
  • 事件调度(kafka)
  • 服务跟踪(starter-sleuth)
  • 服务熔断(Hystrix)
  • API管理

image

08 Netty与RPC

  • Netty原理
  • Netty高性能
  • Netty RPC实现
  • RMI实现方式
  • Protocol Buffer
  • Thrift

image

09 网络

  • 网络7层架构
  • TCP/IP原理
  • TCP三次握手/四次挥手
  • HTTP原理
  • CDN原理

image

10 日志

  • Slf4j
  • Log4j
  • logBack
  • ELK

image

11 Zookeeper

  • Zookeeper概念
  • Zookeeper角色
  • Zookeeper工作原理(原子广播)
  • Zonde有四种形式的目录节点

image

12 Kafka

  • Kafka概念
  • Kafka数据存储设计
  • 生产者设计
  • 消费者设计

image

13 RabbitMQ

  • 概念
  • RabbitMQ 架构
  • Exchange类型

image

14 Hbase

  • 概念
  • 列式存储
  • Hbase核心概念
  • Hbase核心架构
  • Hbase的写逻辑
  • Hbase VS Cassandra

image

15 MongoDB

  • 概念
  • 特点

image

16 Cassandra

  • 概念
  • 数据模型
  • Cassandra一致hash和虚拟节点
  • Gossip协议
  • 数据复制
  • 数据写请求和协调者
  • 数据读请求和后台修复
  • 数据存储(Commitlog、MemTable、SSTable)
  • 二级索引
  • 数据读写

image

17 设计模式

  • 设计原则
  • 工厂方法模式
  • 抽象工厂模式
  • 单例模式
  • 建造者模式
  • 原型模式
  • 适配器模式
  • 装饰器模式
  • 代理模式
  • 外观模式
  • 桥接模式
  • 组合模式
  • 享元模式
  • 策略模式
  • 模板方法模式
  • 观察者模式
  • 迭代子模式
  • 责任链模式
  • 命令模式
  • 备忘录模式
  • 状态模式
  • 访问者模式
  • 中介者模式
  • 解释器模式

image

18 负载均衡

  • 四层负载均衡 VS 七层负载均衡
  • 负载均衡算法/策略
  • LVS
  • Keepalive
  • Nginx反向代理负载均衡
  • HAProxy

image

19 数据库

  • 存储引擎
  • 索引
  • 数据库三范式
  • 数据库事务
  • 存储过程(特定SQL语句集)
  • 触发器
  • 数据库并发策略
  • 数据库锁
  • 基于Redis分布式锁
  • 分区分表
  • 两阶段提交协议
  • 三阶段提交协议
  • 柔性事务
  • CPA

image

20 一致性哈希

  • Paxos
  • Zab
  • Raft
  • NWR
  • Gossip
  • 一致性hash

image

21 JAVA算法

  • 二分查找
  • 冒泡排序算法
  • 插入排序算法
  • 快速排序算法
  • 希尔排序算法
  • 归并排序算法
  • 桶排序算法
  • 基数排序算法
  • 剪枝算法
  • 回溯算法
  • 最短路径算法
  • 最大子数组算法
  • 最长公共子序算法
  • 最小生成树算法

image

22 数据结构

  • 队列
  • 链表
  • 散列表
  • 排序二叉树
  • 红黑树
  • B-Tree
  • 位图

image

23 加密算法

  • AES
  • RSA
  • CRC
  • MD5

image

24 分布式缓存

  • 缓存雪崩
  • 缓存穿透
  • 缓存预热
  • 缓存更新
  • 缓存降级

image

25 Hadoop

  • 概念
  • HDFS
  • MapReduce
  • Hadoop MaReduce作业的生命周期

image

26 Spark

  • 概念
  • 核心架构
  • 核心组件
  • SPARK编程模型
  • SPARK计算模型
  • SPARK运行流程
  • SPARK RDD
  • SPARK RDD流程

image

27 Storm

  • 概念
  • 集群架构
  • 编程模型
  • Toplogy运行
  • Strom Streaming Grouping

image

28 YARN

  • 概念
  • ResourceMananger
  • NodeMananger
  • ApplicationMaster
  • YARN运行流程

image

29 机器学习

  • 决策树
  • 随机森林算法
  • 逻辑回归
  • SVM
  • 朴素贝叶斯
  • K最近邻算法
  • K均值算法
  • Adaboost算法
  • 神经网络
  • 马尔可夫

30 云计算

  • SaaS
  • PaaS
  • IaaS
  • Docker
  • OpenStack

image

最后

每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。

如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。

领取这份Java零基础宝典只需要点击这里即可免费下载

Docker

  • OpenStack

[外链图片转存中…(img-C3uzpnXI-1620817279611)]

最后

每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。

如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。

领取这份Java零基础宝典只需要点击这里即可免费下载

[外链图片转存中…(img-PLUVNJFj-1620817279612)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值