纸鸢花夏

纸鸢花夏

clear
知识星球
北京市
Java后端
2028
北京交通大学

该用户为会员

会员专享项目教程/ 答疑等服务

打卡: 1. 力扣*3 2. oj项目第四期 3. sql学习 sql查询中各操作的执行顺序,符合直觉的,from,on,where,group by,聚合函数,having,select,distinct,order by,limit 朴素思想,先过滤再操作,order by最好有索引

打卡: 1. 二叉树算法题收尾,力扣面试经典题单*5,力扣每日一题 2. mybatis复习 3. spring基础 。。。。。怎么一整理发现一天好像什么都没做

打卡: 1. 几道树相关的算法题 2. oj项目第三期和第四期的一部分,判题模块开发那部分真的很硬核难懂呢

今日打卡: 1. synchronized关键字线程同步 2. aop用法用处,切面的创建和使用,注解的创建和使用 3. 基本使用stream流+lambda表达式 4. 几道树相关算法题 没做几件事,但人又觉得好累,只想go to bed,明天真该去运动运动了

线程同步问题基础(synchronized)

序列化反序列化问题 无论是前端还是后端,在发送和接收数据时,通常都需要进行序列化。这个过程有时是自动完成的,例如,前端通过 axios 发起请求时,会自动将数据序列化后发送;而后端则通过自动绑定机制(如 @RequestBody 注解)实现数据的反序列化。后端使用 @RestController 注解时,会自动将响应对象序列化为 JSON 格式,再发送给客户端。 JSON 作为一种常用的数据交换格式,本质上是基于文本的字符串格式,用于表示结构化的数据。它充当了不同系统或模块间数据传输的媒介,并在序列化和反序列化过程中起到桥梁作用,使得数据能够在不同平台、编程语言之间进行传递。 常用库: gson,jackson 今日: 1. oj项目第二期 2. 二叉树相关算法题(基础复习) 3. 沉淀基础技术 每天都在怠懈,恨自己不能努力多些

单调队列是普通队列的一种扩展,可以动态获取队列中的最大值和最小值。在需要频繁访问这些值的场景中(例如滑动窗口问题),单调队列非常有用。 如何实现呢?我们可以通过双端队列来模拟单调队列。比如创建一个递减的单调队列:每次入队时,检查队列尾部,弹出所有比当前元素小的元素(相等的仍在),保持队列内部有序,从队头可以快速获取最大值。在出队时,如果出队元素跟队头相同,就出队。故,我们仍需一种方式去了解每次出队入队的真实元素是什么 今天写了近十道栈队列,双指针的算法题 看了oj项目第二期的一半 开始学八股了,但是感觉有点无从下手的感觉,想了想还是按照顺序开始了,暂时看的是小林的java后端面试题和面试鸭的春招热题. 大佬们有什么指点吗

数据库索引的两个作用,1. 加速按该字段查询; 2. 提高按该字段排序性能 伙伴匹配系统终于优化完了,虽然ui还是依托.在原项目基础上做了进一步的改进,添加了一些功能,已经基本完善,我发现似乎只要有相关的一些功能需求,设计并添加一张数据库表也是不可避免的

## Vue3生命周期方法 ### 组件的生命周期方法 Vue3中有多种生命周期方法,每个组件都有自己的生命周期,是的生命周期基于组件,但是用了vue router 路由切换页面时,组件也会创建和销毁,触发生命周期方法. ```vue onMounted(() => { console.log('组件挂载'); }); onMounted(() => { console.log('组件挂载2'); }); ``` 一个周期可执行多个方法,依次定义即可 ### 路由的生命周期方法 使用 Vue Router,可以通过路由生命周期钩子来控制与 URL 路由相关的行为,与页面的路由生命周期相关,并不直接属于 Vue 组件的生命周期 如**beforeRouteEnter**:当路由进入前调用.比如可以在这里获取数据并执行异步操作. ## 异步请求(js是单线程的) 平时就是同步请求,线性顺序执行 异步请求就是把请求发出去了,就算完事了,他就接着向下执行,也不等那边响应. 原理简单模型: js自己有个任务队列, 空闲时就从中拿内容执行, 异步请求就是让浏览器去发请求, 自己该干嘛干嘛.浏览器收到响应后放到任务队列, 然后js空闲时就到任务队列拿到响应了. (就类似于单核cpu执行一堆进程的运行过程,不断从等待队列取并执行) 各种异步操作其实是浏览器帮其实现的 ### 异步操作语法 async 声明异步函数,返回包装成的Promise对象 await 用于async内部,**等待一个 Promise 对象的解析(resolved)或拒绝(rejected)**, 该async函数执行到await时 ,等待 await的部分执行完才能继续执行, 就是异步中的同步,用async创建异步任务, await部分发送请求并接受,然后继续异步处理响应并返回给主线程 由于await会等待异步操作,可以设定try,catch捕获异步操作的异常 await返回的是promise解包后的结果,即接口响应的数据 ## 异步请求 --- Axios 介绍: Axios 是一个基于 Promise 的 HTTP 客户端,能够方便地进行异步请求。它封装了浏览器的 XMLHttpRequest 或 Node.js 的 http 模块,可以用来发送 HTTP 请求并接收响应。使用 Axios 发起异步请求时,通常配合 async/await 或 Promise 来处理响应和错误。 1. 安装 2. 创建Axios对象,配置请求后端的基本请求参数 ```js import axios from 'axios'; const myAxios = axios.create({ baseURL: 'http://example.com/api', // 你的后端接口基础 URL timeout: 10000, // 请求超时设置(10秒) }); ``` 3. 在组件内需要异步请求后端的地方使用(无论何种方式,都允许传递一个关于请求的config的对象) 1. post请求示例 ```js import axios from 'axios'; async function postData() { try { const data = { title: 'foo', body: 'bar', userId: 1 }; const response = await axios.post('https://jsonplaceholder.typicode.com/posts', data); console.log('请求成功:', response.data); // 输出返回的数据 } catch (error) { console.error('请求出错:', error); // 处理请求错误 } } postData(); ``` 2. get请求示例 ```js import axios from 'axios'; async function fetchData() { try { const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1'); console.log('请求成功:', response.data); // 获取并输出响应数据 } catch (error) { console.error('请求出错:', error); // 处理请求错误 } } fetchData(); ``` 3. 发异步请求并执行一定流程 (then,匿名函数) ```js import axios from 'axios'; // 他直接就是异步请求,async是让你定义函数用的,不是在这 axios.get('https://jsonplaceholder.typicode.com/posts', { headers: { 'Authorization': 'Bearer your_token_here' }, params: { userId: 1 } }) .then(response => { console.log('响应数据:', response.data); }) .catch(error => { console.error('请求出错:', error); }); ``` ​

用RequestBody等注解自动绑定,要确保前端字段名和后端属性名保持一致...呜呜呜

下载 APP