跟这路线混,三天饿九顿

news/2025/2/21 10:14:14/文章来源:https://www.cnblogs.com/jackjavacpp/p/18724573

路线-①

1.基础阶段

java基本语法、常用类String,包装类,时间,大数计算等等。

java集合【适当debug跟进源码,list,set,map,queue,栈等等】

java多线程【各种锁、线程间通信、线程安全的集合类、进程与线程、ThreadLocal,CompletableFuture.....】

网络编程 【阻塞式io,同步非阻塞io】

java反射的使用

各大lts版本的jdk的新特性。 jdk8. 11. 17. 21

2.数据库阶段

mysql、sqlserver、oracle。【会一即可】

sql的查询语句(多表联查、子查询、聚合函数等等)、更新语句、删除语句编写。【不要使用gpt、等ai辅助】

数据库表索引、失效场景

数据库的事务

如何设计数据库

数据库死锁问题【如何产生的、如何破解】

sql语句分析【慢查询优化】

数据库表太大了怎么办?分库分表,怎么分?

3.框架使用阶段

① mybatis

orm是啥?

mybatis基本使用

mybatis的缓存机制

mybatis的xml是如何与mapper接口关联起来的,为什么只写一个mapper接口就可以了

动态SQL

② Spring

是啥? 依赖注入?

IOC是什么,AOP又是什么

spring常用的注解有什么

spring数据库事务,隔离级别,传播机制,事务可能会失效,哪些情况失效

动态代理

③ SpringMVC

执行流程,原理,过程中用到的核心类和对象

相应的注解有哪些

拦截器

异常处理?

表单验证?

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId>
</dependency>

④ SpringBoot

springboot的使用。

何为自动配置?解释一下其原理呗。

配置文件的加载顺序。 properties, yml......

SpringBoot使用aop功能。 【advice】

springboot自带的定时任务

springboot的异步任务

java的spi机制、SpringBoot的spi机制, 用springboot的这个机制定义自己的starter

springboot 的启动流程

⑤ Netty

netty的基本使用。【网络通信框架 -- 使用netty写一个即时通讯系统】

netty的线程模型

NioEventGroupLoop,Channe,ChannelHandler,Channelpipeline

ByteBuf、ChannelHandlerContext

入站处理器、出站处理器

各种编解码器等等

netty默认支持的那些协议

⑨ end.设计模式

重点的

单例模式

代理模式【动态代理(jdk、cglib)、静态代理】

策略模式

责任链模式

观察者模式

工厂模式

模板方法

适配器模式【比如在netty中 -- ChannelInboundHandlerAdapter】

4.各种中间件阶段

①Redis

基本的五大数据类型【string, list, set, zset, hash】,以及他们的使用场景

特殊的数据类型 bitmap, Geospatial【地理位置】,Hyperloglog【用的比较少】,他们的使用场景有哪些

redis的内存淘汰机制

redis的持久化机制,rdb,aof

redis做消息队列【list虽然可以但不是最佳方式,stream】

redis分布式锁

redis缓存中的问题:缓存击穿、缓存穿透、缓存雪崩等等

布隆过滤器

redis命令的原子性?

redis事务?

②Nginx

会配置即可

主要的:【反向代理,负载均衡】

自己在windows电脑上装一个,随便配一配

nginx还可以与lua脚本配合。见 https://www.cnblogs.com/jackjavacpp/p/18624920

③MQ消息队列

rabbitmq, rocketmq,kafka

在自己的机器上搭建上面的mq【rabbit、 rocket】。

消息队列的作用,为什么要用?

mq与springboot的整合

消息积压的问题怎么解决?

订单超时半小时未支付?【可以结合mq解决】

消息幂等性问题

两个mq的模型分别是什么样子的?

死信队列和延迟队列?

生产者的消息投递?

rabbitmq的几种模型?

如何保证消息的顺序消费?rocketmq的顺序消息?

rocketmq的事务消息?

如何避免消息丢失的呢?

④es搜索引擎

es的倒排索引

es的ik分词器

es的拼音分词器

es的搜索是怎么样的?

es写数据的过程?读数据的过程?

5.微服务阶段

①注册中心、配置中心

Eureka,nacos,zookeeper

②网关

spring Gateway

③Sentinel

基本使用

待更新。。

④分布式事务seata

分布式事务的实现方式?

seata的使用

⑤服务间通信【rpc】

dubbo

openfeign

⑥服务链路追踪

zipkin

⑦服务监控

springBootAdmin

Prometheus

6.计算机网络

Tcp, UDP

http, ajax轮询, websocket

Ip

网络建立连接、与断开连接【三次握手、四次挥手,为什么?】

7.算法刷题阶段

看leetcode去

8.手写框架、看源码阶段

【自定义rpc框架】

开源地址:https://gitee.com/quercus-sp204/all-rpc

【看源码】

https://zzkenyon.github.io/

【图个乐子】

别来无恙✲ - 博客园

https://www.cnblogs.com/jackjavacpp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/886761.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新更新!扣子(Coze)接入地表最强DeepSeek-R1大模型,超全攻略,手把手教学,完全免费教程

‍ 最新消息,国产地表最强大模型可以接入Coze平台了,今天斜杠君为大家带来了最细接入攻略,大家快学起来吧~ 备注:需要登录专业版火上引擎接入,开通专业版的同学需要开通一下。 接下来,话不多说,斜杠君用最简单的方式教给大家。 大家可以关注收藏,以免之后找不到,而且也…

1.如何在python中安装playwright

1.如何在python中安装playwright 打开pycharm,进入终端,输入如下的2个命令行代码即可自动完成playwright的安装 pip install playwright ——》在python中安装playwright第三方模块 playwright install ——》安装playwright所需的工具插件和所支持的浏览器 看到这里,是否想…

最新扣子(Coze)案例教程:DeepSeek 图像生成,用扣子应用打造超萌表情包生成器,手把手教学,完全免费教程

上一篇文章和大家分享了如何把DeepSeek-R1接入到扣子智能体中进行使用,这篇教程让我们来应用一下DeepSeek,使用DeepSeek结合工作流中的图像生成节点,打造一个表情包生成器的应用。 应用作用:输入一个人物或动物主题,生成一组表情包。 首先我们来看一下生成后的效果: 图像…

我悟了!原来本地图片预览还能这样搞

在网页开发中,经常会遇到需要让用户上传图片并在上传前进行预览的需求。这样做的好处显而易见:用户可以立即看到自己选择的图片是否正确,避免了不必要的上传和服务器资源浪费,提升了用户体验。Hey, 我是 Immerse 本文首发于 【沉浸式趣谈】,我的个人博客 https://yaolifen…

octave画高通滤波、超前,滞后补偿器的幅频响应图

octave代码非常简单:pkg load control s=tf(s); k=0.5; sysG1=k*(0.005*s)/(0.005*s+1); sysG2=k*(0.8*s+1)/(0.1*s+1); sysG3=k*(s+1)/(5*s+1); figure bode(sysG1) figure bode(sysG2) figure bode(sysG3)也可以借助循环,看如下代码:1 pkg load control2 s=tf(s);3 k=0.5;…

frame切换/窗口切换

frame切换/窗口切换 切换到frame点击这里,边看视频讲解,边学习以下内容 请大家点击这里,打开这个链接 如果我们要 选择 下图方框中 所有的 蔬菜,使用css选择,怎么写表达式? 当然,要先查看到它们的html元素特征大家可能会照旧写出如下代码:from selenium import webdriv…

选择元素的基本方法

选择元素的基本方法点击这里,边看视频讲解,边学习以下内容对于百度搜索页面,如果我们想自动化输入 白月黑羽 ,怎么做呢? 这就是在网页中,操控界面元素。 web界面自动化,要操控元素,首先需要 选择 界面元素 ,或者说 定位 界面元素 就是 先告诉浏览器,你要操作 哪个 …

操控元素的基本方法

操控元素的基本方法 点击这里,边看视频讲解,边学习以下内容选择到元素之后,我们的代码会返回元素对应的 WebElement对象,通过这个对象,我们就可以 操控 元素了。 操控元素通常包括 点击元素在元素中输入字符串,通常是对输入框这样的元素获取元素包含的信息,比如文本内容…

CClink IEF Basic设备数据 转EthernetIP项目案例

VFBOX协议转换网关支持PLC,modbus,EthernetIP,Profinet,CCLink,EtherCAT,IEC61850,IEC104,bacnet,DLT645,HJ212,opc ua,opc da,DNP3。目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 网关采集CCLINK IEF BASIC数据 2 5 使用ETHERNETIP转发数据 5 6 案例…

SciTech-EECS-BigDataAIML-NN(神经网络): Forward NN(前向传播算法)

SciTech-EECS-BigDataAIML-NN(神经网络): Forward NN(前向传播算法)

微信小程序-实现微信授权自动登录功能

显示效果 授权前界面授权弹框界面 采用了wx.getUserProfile API申请用户信息,若基础库版本过高,例如3.7.7,则不会显示弹窗,默认为允许状态。若基础库版本降低,例如2.25.4,则会显示弹窗,如下图所示授权后界面前端部分 基础封装 新建utils文件夹,在该文件夹下新建login.j…

为DeepSeek添加本地知识库

为什么要尝试给DeepSeek添加本地知识库呢?作为一个程序员,以前也用过很多AI产品,直到春节DeepSeek爆火,成功在自己的电脑上把AI模型跑起来的时候才真正感受到AI已近在咫尺。未来很多应用和项目都离不开这个工具。或许在我们OA系统中会出现一个AI小助手,我们会问它差旅费报…