- 博客(44)
- 资源 (2)
- 收藏
- 关注
原创 【慕课网wiki项目学习笔记01】Spring Boot 项目搭建
新建SpringBoot项目、项目初始配置、代码关联远程仓库、启动日志优化
2025-03-03 22:36:24
729
1
原创 【JavaSE】重写equals()和hashCode()
重写equals()方法实现比较对象的内容是否相等为了保证“用equals()方法判断相等的对象,hashCode()也相等”,必须重写hashCode()方法。
2024-09-09 12:01:35
193
原创 【JavaSE】String类
首先,String类内部用于存储字符串的字符数组前加了final关键字,这意味着一旦初始化完成后就无法对该数组进行扩容。其次,纵观String类所有方法的设计,凡是涉及字符串修改的方法,只要修改了字符串的内容,都会将结果用一个新的String类对象返回,这意味着仅通过String类对外提供的接口对其进行访问和操作能够保证字符串的内容永远保持不变。最后,String 类本身被声明为 final,这意味着它不能被继承。这防止了子类可能通过添加修改方法来改变字符串内容的可能性。
2024-09-08 22:52:21
595
原创 【JVM】JVM栈帧中的动态链接 与 Java的面向对象特性--多态
每一次方法调用都会有一个对应的被压入栈(虚拟机栈)中,每一个方法调用结束后,都会有一个栈帧被弹出。每个栈帧中包括:局部变量表、操作数栈、动态链接、方法返回地址。局部变量表:用来保存方法中的局部变量和方法参数。操作数栈:用于存放方法执行过程中产生的中间计算结果和临时变量。动态链接:指向运行时常量池中该栈帧所属方法的引用。方法返回地址:记录方法被调用时的位置对应的PC值,以便于方法执行结束后可以继续执行方法调用者的后续代码。
2024-09-07 21:23:44
553
原创 【黑马点评】附近商户
选择商铺类型后,按照距离当前用户所在位置从近到远的顺序,分页展示该类型的所有商铺。提前将所有商铺的位置信息存入redis中(GEOADD)。
2024-09-04 11:18:04
894
原创 【黑马点评】优惠券秒杀(单体模式)
基于乐观锁解决库存超卖问题在更新数据时判断当前查到的库存值是否充足,如果库存不足就直接返回错误信息。判断条件从“当前库存值与之前查到的库存值是否一致”弱化为“当前查到的库存值是否充足”,依然可以解决库存超卖问题,并且可以降低异常率。基于悲观锁解决一人一单线程安全问题将从“判断是否下过单”开始的代码提取出来,作为子方法该子方法中包括了扣减库存和创建订单两个操作,为保证原子性,需要为子方法加上注解。
2024-08-27 11:27:30
890
原创 【代码随想录】【动态规划】打家劫舍
dp数组:最终结果:在计算时:递推公式:递推公式适用范围:令递推公式中所有下标都大于等于0小于n,即,计算得到:计算顺序:在计算时需要用到,因此应该从前向后计算初始化:可以使用递推公式进行计算的范围是,因此需要对 的情况进行初始化解法二这是解法一的递推公式:对于其中的第二个式子,如果将代换成,则递推公式变为:可以使用递推公式进行计算的范围也从变为。观察这个递推公式发现,其实不用单独区分和,可以直接将定义为:在下标小于等于i的房屋中偷窃,能得到的最大金额。在计算dp[i]时:递推公式:这两种
2024-05-16 17:29:17
699
原创 【代码随想录】【动态规划】背包问题 - 完全背包
受到前面377. 组合总和 Ⅳ的启发,我发现其实背包问题在先遍历背包容量再遍历物品的计算顺序下的一维dp优化解法就是按照“把整个过程看作是一系列的决策过程,而在计算dp[i]时主要考虑的是在本轮如何进行决策”的思路(这是解决动态规划问题的基本思路——多阶段决策)进行的,按照这一思路直接去思考会直观的多!因此接下来我将尝试按照这种思路来解决问题,第二轮刷题时再统一进行整理。279. 完全平方数共有⌊n⌋⌊n⌋个物品,1≤n≤⌊n⌋1≤n≤⌊n⌋。
2024-05-13 20:43:48
984
原创 【代码随想录】【动态规划】背包问题 - 01背包
在计算每一行时既可以按照从左向右的顺序计算,也可以按照从右向左的顺序计算,因为计算dp[i][j]时只会用到前一行的数据,不会用到本行该位置之前的数据(dp[i][0…综上所述,我们可以只用一行(即一个长度为V+1的数组)作为dp数组,滚动存储每一行的计算结果,不再需要的数据被新计算的结果覆盖使用。j]位置的值,在计算dp[i][j]之前要保证这些位置的值已经计算过了。但是在计算每一列时必须按照从上向下的顺序计算,因为计算dp[i][j]时会用到本行该位置之前的数据(dp[i-1][j])。
2024-05-12 13:19:51
2090
原创 【JavaEE】【1.3 Servlet】1.3.6 监听
Servlet上下文(Servlet Context)是Java Servlet技术中的一个概念,它代表了一个Web应用程序的上下文环境。在Servlet规范中,Servlet上下文提供了一种机制,允许Servlet之间共享信息,并允许访问Web应用程序的资源和环境。
2024-05-11 16:18:47
353
原创 【JavaEE】【1.3 Servlet】1.3.4 HttpSevletResponse
Http响应报文结构Q: 在Servlet中,通过response对象跳转到JSP页面和通过request对象跳转到JSP页面有什么区别?
2024-05-11 16:11:28
136
原创 【JavaEE】【1.3 Servlet】1.3.3 HttpServletRequest的应用
对书本内容的补充:Http报文结构、会话技术、根据HttpServletRequest对象获取请求相关信息、Servlet向JSP页面跳转
2024-05-06 15:44:47
776
原创 【代码随想录】【数组】移除元素 双指针 快慢指针插入元素 左右指针分区
几道关于双指针的问题,涉及了双指针中的左右指针分区和快慢指针插入元素两类经典问题。
2024-04-18 22:48:49
739
1
原创 【SQL】子查询,IN运算符,ALL运算符,ANY运算符
牛客题目子查询(Subquery)就是嵌套在其他语句(包括SELECT, INSERT, UPDATE, DELETE等)中的SELECT语句。
2023-05-23 15:45:52
2126
1
原创 【牛客网动态规划专项】DP21 最长回文子序列
如何判断一个字符串是否为回文字符串?每一次从两端各取一个字符判断这两个字符是否相等,就这样从两端向中间,如果每一次取出的两个字符都相等,那就是回文字符串。上面的判断过程中“每次需要考虑字符串两端的字符”,自然而然地想到应该用二维DP,定义dp[i][j]的含义为下标从i到j的字符str[i...j]的最长回文子序列的长度。当字符串str[i...j]str[i]str[j]str[i...j]str[i...j]str[i]str[j]str[i...j]str[i]str[j]str[i...j]
2023-01-02 10:27:57
109
原创 【牛客网动态规划专项】DP21 正则表达式匹配
首先,将str和pattern都从下标1开始存储。定义dp[i][j]的含义为:str的前i个字符str[1...i]与pattern的前j个字符是否匹配。初始化考虑的是dp[i][0]和dp[0][j],也就是当pattern为空字符串或str为空字符串时的情况,有时也需要将两者都为空的情况dp[0][0]单独讨论。在开始讨论之前需要注意题目中的要求:'*'。a*b*c*d*e**自底向上计算就是根据当前问题与子问题之间的关系(也称“状态转移规律”)按照一定地顺序对备忘录中的表项进行计算。根据。
2023-01-02 09:43:33
148
原创 【牛客网动态规划专项】DP20 最短编辑距离
将字符串s1转换为s2的过程 与 将字符串从s2转换为s1的过程互 为逆过程,所需的编辑次数相同,因此只需要考虑一种情况即可。定义状态dp[i][j]的含义为:将s1的前i个字符s1[1…i] 转换为 s2的前j个字符s2[1…j]所需的最少编辑次数。首先注意字符串s1[1…m] 的下标是从1开始的。
2022-12-31 17:10:57
136
原创 【牛客网动态规划专项】DP19 最长公共子序列(一)
的含义为:s1从头到下标i的子字符串(s1[0…i]) 与 s1从头到下标j的子字符串(s2[0…j]) 的最长公共子序列的长度。
2022-12-31 16:56:19
108
原创 【牛客网动态规划专项】DP18 滑雪 #记忆化 #带备忘录的递归
这是一道「」的经典题目,memoization其实就是“带备忘录的递归”,将之前已经计算过的问题的答案存储起来,下一次再遇到时就不用计算,可以直接返回结果。定义状态dp[i][j]的含义为:以map[i][j]开始的最长递减路线的长度。
2022-12-31 10:53:21
171
原创 【牛客网动态规划专项】DP17 信封嵌套
首先将信封按照从小到大的顺序进行排序:先按照信封的宽a排序,如果宽a相同则按照长b排序。然后求排序后letters数组的最长严格上升子序列。需要注意的是:之前在嘴上上升子序列中,将当前元素arr[i]续到之前的某一个dp[k]之后的判断条件是,现在对元素大小的定义发生了变化,判断条件应该是。
2022-12-23 10:39:51
109
原创 【牛客网动态规划专项】DP16 合唱队形
题目中所描述的“合唱队形”,可以理解为。如果想计算以stu[i]为最大值的最长先升后降子序列,可以分别计算出「以stu[i]结尾的最长上升子序列」和「以stu[i]开始的最长下降子序列」,然后再将两者拼接起来。dp_asc[i]dp_desc[i]则以stu[i]为最大值的最长先升后降子序列的长度为dp_asc[i]+dp_desc[i]−1,然后从所有位置中选出计算结果最大的即可。
2022-12-21 18:08:08
203
原创 【牛客网动态规划专项】DP15 拦截导弹
Q1:很明确就是最长递减子序列的长度,与「DP14最长上升子序列」的求解方法类似。:最少的下降序列个数就等于整个序列最长上升子序列的长度。
2022-12-21 16:13:14
135
原创 【牛客网动态规划专项】DP13 过河卒
棋盘可以表示为map[0...n][0...m],要注意本题的棋盘是一个大小为(n+1)×(m+1)的矩阵。(x,y){(x1,y1),∣x1−x∣+∣y1−y∣=3,x1=x,y1=y}用一个函数。
2022-12-20 16:14:00
108
原创 【吴恩达·2022机器学习专项课程】Logistic Regression -Gradient Descent
C1_W3_Lab06_Gradient_Descent_Soln - 用梯度下降算法实现逻辑回归
2022-08-01 10:36:44
462
原创 【Data Science from Scratch 学习笔记】第2章 Python速成(中)
Data Science from Scratch 第2章 Python 速成 (中)
2022-07-31 15:59:24
244
计算机网络A4.docx
2020-07-05
计算机输入输出.zip
2020-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人