likewen的救赎之路
标准化救赎之路,只针对本人
文章目录
- likewen的救赎之路
- java的八股文
- 算法
- 操作系统&计算机网络
- 企业开发基础
- mysql
- spring系列
- spring5
- springboot
- springcloud
- linux
- 前端
- **设计模式**
- 缓存
- redis
- 消息队列
- nginx?
- Netty
- **微服务**
- docker
- 认识一下常用的类库
- 测试
- 其他
- 一些插件
- 并发
- JVM
- 分布式
- 补简历,找下一个方向
java的八股文
- 为什么重写 equals 还要重写 hashcode?
- == 和 equals 比较的区别
- 为啥有时会出现 4.0 - 3.6 = 0.40000001 这种现象?
- final 关键字的作用
- 介绍 Java 的集合类
- ArrayList 和 LinkedList 的区别
java8的特性,
- Stream API
- Lambda 表达式
- 新日期时间 API
- 接口默认方法
记得看 Java 核心技术卷 1
算法
操作系统&计算机网络
直接背八股文
企业开发基础
mysql
-
基本概念
-
MySQL 搭建
-
SQL 语句编写
-
约束
-
索引
-
事务
-
锁机制
-
设计数据库表
-
性能优化
需要重学
mysql八股文
spring系列
- Spring 的 IOC 和 AOP 是什么,有哪些优点?
- Spring 框架用到了哪些设计模式?
- 介绍 Spring Bean 的生命周期
- MyBatis 如何实现延迟加载?
- 介绍 MyBatis 的多级缓存机制
spring5
- 描述:Java 轻量级应用框架
- IOC
- AOP
- 事务
springboot
需要理解
springcloud
需要重学
linux
只八股文
前端
需要搞定vue还有js
设计模式
重要
- 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程
- 单例模式
- 工厂方法模式
- 抽象工厂
- 建造者模式
- 原型模式
- 结构型模式:把类或对象结合在一起形成一个更大的结构
- 适配器模式
- 组合模式
- 装饰器模式
- 代理模式
- 享元模式
- 外观模式
- 桥接模式
- 行为型模式:类和对象如何交互,及划分责任和算法
- 迭代器模式
- 模板方法模式
- 策略模式
- 命令模式
- 状态模式
- 责任链模式
- 备忘录模式
- 观察者模式
- 访问者模式
- 中介者模式
- 解释器模式
建议书籍:《图解设计模式》
或者 大话设计模式
黑皮书就暂时不看了,有点晦涩难懂
再参考上菜鸟教程的学习
缓存
本地缓存?
redis
redis八股文
消息队列
需要把kafka学一下
其他的看一下就行
(可能)
nginx?
只八股文
Netty
学习成本有点高,建议不学
微服务
Dubbo
springcloud全家桶
- 微服务概念
- Spring Cloud 框架
- 子父工程
- 服务注册与发现
- 注册中心 Eureka、Zookeeper、Consul
- Ribbon 负载均衡
- Feign 服务调用
- Hystrix 服务限流、降级、熔断
- Resilience4j 服务容错
- Gateway(Zuul)微服务网关
- Config 分布式配置中心
- 分布式服务总线
- Sleuth + Zipkin 分布式链路追踪
- Spring Cloud Alibaba
- Nacos 注册、配置中心
- OpenFeign 服务调用
- Sentinel 流控
- Seata 分布式事务
代码加八股文
docker
学一下docker部署
和一点八股文
认识一下常用的类库
搭配chatgpt学
- Guava:谷歌开发的 Java 工具库(https://github.com/google/guava)
- Apache Commons:各类工具库,比如 commons-lang、commons-io、commons-collections 等(https://github.com/apache/commons-lang)
- Hutool:Java 工具集库(https://github.com/looly/hutool)
- Lombok:Java 增强库(https://github.com/projectlombok/lombok)
- Apache HttpComponents Client:HTTP 客户端库(https://github.com/apache/httpcomponents-client)
- OkHttp:适用于 JVM、Android 等平台的 Http 客户端(https://github.com/square/okhttp)
- Gson:谷歌的 JSON 处理库(https://github.com/google/gson)
- Jcommander:Java 命令行参数解析框架(https://github.com/cbeust/jcommander)
- Apache PDFBox:PDF 操作库(https://github.com/apache/pdfbox)
- EasyExcel:阿里的 Excel 处理库(https://github.com/alibaba/easyexcel)
- Apache POI:表格文件处理库(https://github.com/apache/poi)
测试
- JUnit:Java 测试框架(https://github.com/junit-team/junit4)
- Mockito:Java 单元测试 Mock 框架(https://github.com/mockito/mockito)
- Selenium:浏览器自动化框架(https://github.com/SeleniumHQ/selenium)
- htmlunit:Java 模拟浏览器(https://github.com/HtmlUnit/htmlunit)
- TestNG:Java 测试框架(https://github.com/cbeust/testng)
- Jacoco:Java 代码覆盖度库(https://github.com/jacoco/jacoco)
其他
- cglib:字节码生成库(https://github.com/cglib/cglib)
- Arthas:Java 诊断工具(https://github.com/alibaba/arthas)
- config:针对 JVM 的配置库(https://github.com/lightbend/config)
- Quasar:Java 纤程库(https://github.com/puniverse/quasar)
- drools:Java 规则引擎(https://github.com/kiegroup/drools)
- Caffeine:Java 高性能缓存库(https://github.com/ben-manes/caffeine)
- Disruptor:高性能线程间消息传递库(https://github.com/LMAX-Exchange/disruptor)
- Knife4j:Swagger 文档增强(https://doc.xiaominfo.com/)
- Thumbnailator:Java 缩略图生成库(https://github.com/coobird/thumbnailator)
- Logback:Java 日志库(https://github.com/qos-ch/logback)
- Apache Camel:消息传输集成框架(https://github.com/apache/camel)
- Quartz:定时任务调度库(https://github.com/quartz-scheduler/quartz)
- Apache Mahout:机器学习库(https://github.com/apache/mahout)
- Apache OpenNLP:NLP 工具库(https://github.com/apache/opennlp)
- RxJava:JVM 反应式编程框架(https://github.com/ReactiveX/RxJava)
- JProfiler:性能分析库(https://www.ej-technologies.com/products/jprofiler/overview.html)
- jsoup:HTML 文档解析库(https://jsoup.org/)
- webmagic:Java 爬虫框架(https://github.com/code4craft/webmagic/)
一些插件
-
Tabnine AI Code Completion
- 描述:使用 AI 去自动提示和补全代码,比 IDEA 自带的代码补全更加智能化
- 官网:https://plugins.jetbrains.com/plugin/12798-tabnine-ai-code-completion-js-java-python-ts-rust-go-php–more
-
MybatisX
- 描述:MyBatis 增强插件,支持自动生成 entity、mapper、service 等常用操作的代码,优化体验
- 官网:https://plugins.jetbrains.com/plugin/10119-mybatisx
-
Rainbow Brackets
- 描述:给括号添加彩虹色,使开发者通过颜色区分括号嵌套层级,便于阅读
- 官网:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets/
源码阅读
-
Call Graph
- 描述:生成调用关系图,便于查看源码
- 官网:https://plugins.jetbrains.com/plugin/12304-call-graph
-
Jump to Line
- 描述:支持跳转到任意行进行调试
- 官网:https://plugins.jetbrains.com/plugin/14877-jump-to-line
-
CodeGlance
- 描述:在编辑器右侧生成代码小地图,可以拖拽小地图光标快速定位代码,阅读行数很多的代码文件时非常实用。
- 官网:https://plugins.jetbrains.com/plugin/7275-codeglance/
-
Alibaba Java Coding Guidelines
- 描述:代码规范检查插件
- 官网:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines
-
Leetcode Editor
- 描述:在 IDEA 里刷算法题
- 官网:https://plugins.jetbrains.com/plugin/12132-leetcode-editor
-
Key Promoter X
- 描述:快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使用快捷键的习惯,告别死记硬背。
- 官网:https://plugins.jetbrains.com/plugin/9792-key-promoter-x/
-
idea_seat
- 描述:自动提醒,防止你久坐不动
- 官网:https://github.com/s-unscrupulous/idea_seat
-
Translation
- 描述:翻译插件,鼠标选中文本,点击右键即可自动翻译成多国语言。
- 官网:https://plugins.jetbrains.com/plugin/8579-translation/
并发
重点噢
- 线程和进程
- 线程状态
- 并行和并发
- 同步和异步
- Synchronized
- Volatile 关键字
- Lock 锁
- 死锁
- 可重入锁
- 线程安全
- 线程池
- JUC 的使用
- AQS
- Fork Join
- CAS
并发编程入门不难,依然是 先学会使用 基础的 Java 并发包, 再通过大量地实践和测试,了解一些原理,才能真正掌握何时使用、如何更合理地使用并发编程。而不是张口闭口多线程,上天入地高并发。
JVM
看狂神的
八股文看
分布式
暂时还没复习头绪
- 分布式理论
- CAP
- BASE
- 分布式缓存
- Redis
- Memcached
- Etcd
- 一致性算法
- Raft
- Paxos
- 一致性哈希
- 分布式事务
- 解决方案
- 2PC
- 3PC
- TCC
- 本地消息表
- MQ 事务消息
- 最大努力通知
- LCN 分布式事务框架:https://github.com/codingapi/tx-lcn
- 解决方案
- 分布式 id 生成
- Leaf 分布式 id 生成服务:https://github.com/Meituan-Dianping/Leaf
- 分布式任务调度
- XXL-JOB 调度平台:https://www.xuxueli.com/xxl-job/
- elastic-job:https://gitee.com/elasticjob/elastic-job
- 分布式服务调用
- trpc
- 分布式存储
- HDFS
- Ceph
- 分布式数据库
- TiDB
- OceanBase
- 分布式文件系统
- HDFS
- 分布式协调
- Zookeeper
- 分布式监控
- Prometheus
- Zabbix
- 分布式消息队列
- RabbitMQ
- Kafka
- Apache Pulsar
- 分布式日志收集
- Elastic Stack
- Loki
- 分布式搜索引擎
- Elasticsearch
- 分布式链路追踪
- Apache SkyWalking
- 分布式配置中心
- Apollo
- Nacos
补简历,找下一个方向
hadoop暂时放下吧,视频掠过一下?还是放弃?
参考: https://gitee.com/liyupi/code-roadmap/blob/main/docs/roadmap/Java%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF.md#https://gitee.com/link?target=https%3A%2F%2Fplugins.jetbrains.com%2Fplugin%2F7017-plantuml-integration