前端后端 Java全栈 100速成计划 $1

$1小结一下#1-#3

前言

先说说感受 3天高强度学习 学了挺多 感觉遗忘的也挺多

现在的快速入门路线就是倍速听课 快速了解一下一些方法 和思维 能记起来 或者会查 文档就行

今天2025-5-21 23:47:21 的进度

Java se 基础 感觉基本是脑子过了一遍 学到io流 差个注解 反射网络编程 可以说基础内容就是学完了

怎么说呢 前面的很多内容是看已经看尚硅谷的视频了 差不多是到面对对象多态哪一部分还有多线程和集合

后面是看黑马的视频

但是感觉黑马的听起来舒服一些 前面看的尚硅谷的其实也忘了挺多的 今天是第四天了 距我的百日计划截止还剩下的

只有96天 所以得加紧一下步伐了!!!

下一个四天小周期 估计是得把Java基础的内容全部过完 然后小总结一下

对了,今天还发现一个牛逼网站小林coding 这个网站是Java八股文 怎么说呢,看完视频 然后可以看这个网站上的内容检验一下自己

的掌握程度 基本上熟练的话1h多可以多一遍基础内容 我今天是看到注解那里 后面还没学 ,讲的都是底层没有具体的方法调用 但是看完这些再打代码 可以减少报错 加深代码的编写思路 和 底层思维及 debug的能力 总之,这个Java基础八股文大概也就2w字 再接下来四天里基本上 每天需要过一遍 熟练记忆一下

再说一下 前端把 看黑马的是视频是有点气 感觉白雪了 现在的前端技术 迭代的非常快 然后Java全栈 我也是打算侧重后端的话

接下来要求的话 就是记住学过的html css js 前端三大件

还有知道vue框架的使用 以及axios 异步加载 嗯让我想想

还有一些组件的结构 比如说element 会用会复制

以及一些工具的使用比如说打包工具怎么用 vue 路由怎么用 maven怎么用

反正至少是需要了解一下前端工程化的思维 后续的项目也会锻炼到以上能力

接下来的前端课程会涉及的是spring web spring boot 主要先了解一下这个生态把 后面还有mysql 这个之前学过一点 我感觉直接跳

mybatics maven高级 springboot原理 以及还有挺多案例东西还是有点多的 也不太压力自己这个的话 我会

3

5 还有16天的时间里穿插着看 并把重要的内容拎出来单独学 比如mysql 会花一个小周期 重点学一下

这个差不多就是我的安排了

对了 最重要的差点忘了说了

百日计划还需要同步刷100到leetcode热门题

每天还需要抽出时间来整理这个玩意

怎么说 算法对我来说还是感觉很难学到现在也没入门感觉

虽然有专业课 但是摆了没学byd考的一坨 所以 这个方面也是我需要去重点补的地方 大概在

8左右也就是一个月后就会再每天2h时间先做每日一题 再刷150道企业 热题 然后再继续Java的深入部分 spring 啥的 当然八股也会每天看1h

byd

接下来豆包复习法启动

Java基础部分

1. Collection 接口

单列集合顶级接口,定义通用方法如add/remove/iterator,适配多种数据结构。

2. 单列集合分类

  • List:有序、有索引、元素可重复(如ArrayList/LinkedList)。
  • Set:无序(TreeSet有序)、元素唯一(如HashSet/TreeSet)。

3. 迭代器(Iterator)

集合遍历工具,通过hasNext()/next()获取元素,remove()支持遍历中删除。

4. 哈希表原理

数组 + 链表 + 红黑树结构,链地址法解决哈希冲突,JDK1.8 + 链表过长转红黑树。

5. 红黑树

自平衡二叉搜索树,用于TreeSet/TreeMap,插入 / 查询效率 O (log n),支持排序。

6. 泛型基础

编译时类型检查,避免强转,代码复用。泛型类 / 方法 / 接口,T 仅限引用类型。

7. 泛型通配符

  • <?>:任意类型(只读);<? extends T>:上限(T 及其子类,只读)。
  • <? super T>:下限(T 及其父类,只写)。

8. List 接口实现类

  • ArrayList:动态数组,查询快,扩容 1.5 倍,线程不安全。
  • LinkedList:双向链表,增删快,提供头尾操作方法。
  • Vector:线程安全动态数组,已被ArrayList替代。

9. 增强 for 循环

简化集合 / 数组遍历,本质是迭代器(集合)或普通 for(数组),语法糖集合名.for

10. Collections 工具类

  • shuffle:打乱集合;sort:自然排序或自定义比较器。
  • addAll:批量添加元素,reverse:反转列表。

11. 比较器(Comparator vs Comparable)

  • Comparator:外部排序,自定义规则(如(a,b)->b.length()-a.length)。
  • Comparable:内部排序,对象实现compareTo定义自然顺序。

12. 哈希值与去重

对象的十进制标识,HashSet/HashMap通过hashCode+equals去重,需重写两方法。

13. Set 接口实现类

  • HashSet:哈希表,无序唯一;LinkedHashSet:哈希表 + 链表,插入顺序有序。
  • TreeSet:红黑树,自动排序,不允许 null。

14. Map 接口与实现类

双列集合,键唯一。

  • HashMap:哈希表,线程不安全,支持 null 键值。
  • TreeMap:红黑树,键自动排序;LinkedHashMap:保持插入顺序。

15. 集合嵌套

列表套列表 / 映射,映射套映射,用于复杂数据结构(如斗地主牌面序号映射)。

16. Lambda 表达式

SAM 接口匿名内部类简写,语法(参数)->{逻辑},适配Runnable/Comparator等。

17. 方法引用(::)

直接调用已有方法替代 Lambda,如String::length,支持静态 / 实例 / 构造器引用。

18. JUC 核心组件

  • 线程池ExecutorService复用线程,ThreadPoolExecutor自定义配置。
  • 原子类AtomicInteger无锁操作,替代volatile+synchronized

19. Stream 流操作

链式处理集合,filter过滤、map转换、collect收集,支持并行流parallelStream()

20. 不可变集合

List.of/Set.of创建后不可修改,线程安全,防篡改,不允许 null 元素。

21. File 类操作

处理文件 / 目录路径,可获取绝对路径、创建文件 / 目录,listFiles()遍历子项。

22. 递归思想

将问题分解为同构子问题,需明确定终止条件,避免栈溢出(如计算阶乘)。

23. IO 流分类

  • 字节流InputStream/OutputStream,处理二进制数据(图片 / 音频)。
  • 字符流Reader/Writer,处理文本数据,自动管理编码。

24. 字节流核心操作

FileInputStream/FileOutputStream读写文件,read(byte[])/write(byte[])批量操作。

25. 字符流核心操作

FileReader/FileWriter读写文本,BufferedReader.readLine()按行读取大文件。

26. 缓冲流优化

BufferedInputStream/BufferedWriter装饰基础流,内部缓冲区减少 IO 次数,提升性能。

27. 转换流(编码处理)

InputStreamReader/OutputStreamWriter连接字节流与字符流,指定编码(如 UTF-8)。

28. 序列化与反序列化

对象转字节流存储 / 传输,类需实现Serializabletransient修饰敏感字段。

29. 压缩流与解压缩流

  • GZIP:单文件压缩;ZIP:多文件归档,ZipEntry管理条目。
  • 装饰器模式嵌套流,自动处理压缩标记。

30. IO 异常处理

JDK7+try-with-resources自动关闭流,如try (FileInputStream fis = ...) { ... }

31. 装饰器模式(IO 应用)

动态扩展流功能,如BufferedInputStream包装FileInputStream添加缓冲。

32. 编码与解码

字符与字节转换,需一致编码(如 UTF-8),String.getBytes("UTF-8")避免乱码。

33. 设计模式 - 工厂模式

解耦对象创建,简单工厂 / 工厂方法 / 抽象工厂,如Calendar.getInstance()

34. 设计模式 - 单例模式

确保全局唯一实例,枚举 / 静态内部类 / 双重检查锁定实现,线程安全。

35. 设计模式 - 代理模式

为对象提供代理控制访问,如 Spring AOP 动态代理实现切面编程。

36. 设计模式 - 观察者模式

发布 - 订阅机制,解耦组件,如 GUI 事件监听、消息队列(MQ)。

37. 斗地主案例核心逻辑

组合牌面→洗牌→发牌(i%3分配玩家,最后 3 张底牌),集合嵌套与工具类应用。

38. 哈希表存储过程

键通过哈希函数定位数组索引,冲突时链表 / 红黑树存储,扩容触发重新散列。

39. Properties 属性集

Hashtable子类,键值均为 String,load/store读写配置文件(如.properties)。

40. 线程安全集合对比

  • ArrayList:非线程安全,高性能;Vector:线程安全,已废弃。
  • HashMap:非线程安全;ConcurrentHashMap:分段锁,高并发场景首选。

41. 红黑树与 AVL 树

  • 红黑树:平衡要求宽松,插入 / 删除更快,适合频繁修改场景。
  • AVL 树:高度严格平衡,查询更快,适合读多写少场景。

42. 泛型擦除

编译后泛型类型信息擦除,运行时仅保留原始类型,需注意类型安全(如List<String>List<Integer>运行时相同)。

43. 不可变集合与防御性编程

返回不可变集合防止外部修改,如Collections.unmodifiableList(list),提升接口安全性。

44. NIO.2 与 Path 类

Java 7 + 新 IO API,Path替代FileFiles工具类支持文件读写、复制、属性查询,更简洁高效。

Javaweb部分

1. 前端三大件(HTML/CSS/JS)

  • 目标:看懂基础结构与逻辑,能配合后端联调接口。
  • 核心:
    • HTML:语义化标签(如 <header>/<article>)、表单标签(<form>/<input>)。
    • CSS:盒模型(width/height/padding/margin)、Flex 布局(display: flex)、响应式基础(媒体查询 @media)。
    • JS:变量声明(let/const)、事件绑定(addEventListener)、JSON 序列化(JSON.parse/stringify)。

2. DOM 与 BOM(浏览器操作)

  • DOM:通过 document.getElementByIdquerySelector 获取元素,动态修改 innerHTML 或样式。
  • BOM:掌握 window.location.href(跳转)、localStorage(本地存储),其他场景按需查询。

3. Vue 框架(快速开发核心)

  • 核心思想:数据驱动视图,组件化开发。
  • 必学:
    • 模板语法({{ data }})、指令(v-if/v-for/v-model)。
    • 组件通信:父子传值(props/$emit)、全局状态(Vuex 简单使用)。
    • 路由集成:vue-router 基本配置(router-link/router-view)。

4. Axios(异步请求)

  • 作用:前后端数据交互,替代传统 Ajax。
  • 核心用法:javascript

// GET 请求
axios.get('/api/data', { params: { page: 1 } });  
// POST 请求
axios.post('/api/login', { username, password });  
  • 注意:拦截器处理 Token(axios.interceptors.request.use),错误捕获(.catch)。

5. Element UI(Vue 组件库)

  • 定位:快速搭建中后台界面,减少重复开发。
  • 常用组件:
    • 表单(el-form/el-input):结合 rules 实现校验。
    • 表格(el-table):数据渲染与自定义列(slot-scope)。
    • 弹框(MessageBox):消息提示与确认框。

6. Vue 路由(Vue Router)

  • 模式:
    • Hash 模式(默认):URL 带 #,兼容性好。
    • History 模式:需服务端配置,更美观(如 Node.js 配置 res.sendFile)。
  • 关键配置:
    • 动态路由(/user/:id)、嵌套路由(children)。
    • 导航守卫(beforeEach):登录校验(to.meta.requiresAuth)。

7. Maven(Java 项目构建)

  • 核心功能:依赖管理、自动化构建。
  • 必学操作:
    • pom.xml 依赖配置(groupId:artifactId:version),范围控制(test/provided)。
    • 生命周期命令:mvn clean package(清理并打包)、mvn install(安装到本地仓库)。
    • 镜像加速:配置阿里云镜像(<mirrorOf>*</mirrorOf>)。

8. 低代码平台(效率工具)

  • 适用场景:企业内部系统(OA/CRM)、快速验证需求。
  • 主流平台:
    • 钉钉宜搭:集成钉钉生态,适合协同办公。
    • 简道云:零代码,上手快,适合中小企业轻量化应用。
    • 得帆云:支持复杂业务集成,适合中大型企业。

9. JSON(数据交互标准)

  • 语法:键值对(双引号包裹)、数组([])、对象({})。
  • 前后端交互:
    • 前端:JSON.stringify 发送数据,JSON.parse 解析响应。
    • 后端:Java 用 Jackson 或 Gson 库实现对象与 JSON 互转。

10. 前端工程化(团队协作)

  • 核心目标:标准化、自动化。
  • 关键点:
    • 模块化:ES6 import/export、Vue 组件拆分。
    • 规范化:ESLint 代码检查、Prettier 代码格式化。
    • 构建工具:Vite(冷启动快)、Webpack(功能全)。

11. 事件机制(JS 交互基础)

  • 绑定方式addEventListener(推荐)、内联事件(onclick)。
  • 常见事件click(点击)、input(输入变化)、load(资源加载完成)。
  • 事件委托:利用冒泡原理,父元素统一处理子元素事件(如列表项点击)。

12. 技术选型建议

场景

推荐方案

理由

中小型项目前端

Vue + Element UI + Axios

生态成熟,开发效率高

复杂中后台系统

Vue 3 + Element Plus + Vue Router

性能更强,支持 TypeScript

快速原型开发

低代码平台(如简道云)

无需编码,快速上线

大型团队协作项目

Maven + 多模块架构

依赖统一管理,构建标准化

总结:学习路径与时间分配

  • 前端基础(<8 小时):重点掌握 HTML 结构、CSS 布局、JS 基础逻辑,能看懂 Vue 组件代码。
  • 框架与工具(<6 小时):学会 Vue 基础语法、Axios 调用、Element UI 组件使用,了解 Vue Router 配置。
  • 后端衔接(按需):深入 Maven 依赖管理、JSON 数据交互,配合低代码平台快速实现全栈功能。
  • 实践优先:通过小项目(如博客、TODO 列表)串联知识点,侧重前后端联调与接口对接。

算法

没学啥

红黑树 贪心算法 差分数组前缀和 没学会 每日一题解不出来还

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值