- 博客(135)
- 收藏
- 关注
原创 threadLocal的内存泄漏及解决方法
定义:不再会被使用的对象或者变量占用的内存不能被回收,就是内存泄露。Thread类维护了一个ThreadLocalMap。ThreadLocal设置本地变量,实际上是在ThreadLocalMap创建了一个key-value。key是ThreadLocal,value是值,ThreadLocal和ThreadLocalMap中的key是弱引用。
2025-04-18 17:11:27
238
原创 反向代理的作用
反向代理是一种服务器,它位于客户端和实际服务器之间,接收来自客户端的请求并将其转发给实际服务器处理,然后将服务器的响应返回给客户端。安全性:反向代理可以隐藏实际服务器的IP地址,提供DDoS攻击防护,并在请求到达实际服务器之前进行安全检查。负载均衡:通过将请求分发到多台服务器,反向代理可以提高系统的并发处理能力,防止单点故障。性能优化:通过缓存静态资源和压缩响应数据,反向代理可以减少服务器的负载和网络带宽消耗。SSL终止:反向代理可以在边缘节点处理SSL加解密,减轻实际服务器的计算负担。
2025-04-18 15:12:05
116
原创 二叉树的前序,中序,后序遍历
前序遍历:根节点=》左子树=》右子树。中序遍历:左子树=》根节点=》右子树。后序遍历:左子树=》右子树=》根节点。总结:前中后是指根节点的访问顺序。深度遍历按顺序访问即可。广度遍历需要栈记录。
2025-04-18 14:33:06
85
原创 129. 求根节点到叶节点数字之和
因此,数字总和 = 495 + 491 + 40 =因此,数字总和 = 12 + 13 =,树中每个节点都存放有一个。计算从根节点到叶节点生成的。给你一个二叉树的根节点。是指没有子节点的节点。
2025-04-17 16:11:34
160
原创 traceId传递
dubbo:通过RpcContext.getContext()拿到当前执行请求的上下文信息,再通过setAttachment方法进行传递。生产者最终将在发送消息前会将properties传入requestHeader进行传输,我们也可以写一个拦截器,拦截所有的消息生产者,在properties里加入TraceId。1、应用内传递通过ThreadLocal,InheritableThreadLocal传递。2、跨进程的应用间传递,这种会涉及到远程rpc通信,mq通信,数据库通信等。
2025-04-16 14:53:35
212
原创 算法堆排序记录
>根节点最大化过程中如果发生交换,需要保证子节点也为最大堆(执行最大堆)->倒序对每个根节点执行最大化。应用场景:获取第n个大或者小的数。2、调整根节点为最大堆。
2025-04-15 22:08:18
243
原创 回溯算法的要点
剪枝”:当某一节点不包含问题的解,则跳过该节点的子节点的搜索,避免无效搜索。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。回溯过程:深度遍历,在任意时刻,算法只保存从根结点到当前结点的路径。可以用树结构(解空间树)来表示用回溯法解决的问题的所有选项。的字符串,返回所有它能表示的字母组合。叶节点则对应着最终的状态.
2025-04-14 20:43:44
316
原创 Leetcode20250403
找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。最长数字连续序列是 [1, 2, 3, 4]。问题:时间和空间效率低,不太理解还有哪里能优化下。1、hash表把查找的成本降到了O(1);请你设计并实现时间复杂度为。给定一个未排序的整数数组。2、对重复的查找进行优化。
2025-04-03 10:58:44
203
原创 leetcode20250421
是由重新排列源单词的所有字母得到的一个新单词。可以按任意顺序返回结果列表。然后将字符串的表示放到hash表中即可。(这就需要用到拆解,排序)问题:自己手写的拆解排序,效率很低。给你一个字符串数组,请你将。将字符串进行重新表示,且。
2025-04-02 23:35:15
238
原创 需要注意的编码习惯
不要拼装完所有方法后再调试,否则定位成本极高。经验不够丰富时,不要在设计代码上浪费太多时间。写完一个函数后,要立即调试,确保按预期输出。这样代码复杂度太高,修改调试起来极其困难。如果可以,一个函数的行数,不要超过30行。不要在一个函数里面,试图实现所有的过程。因为你觉得函数功能正确,不代表实际正确。所有的函数必须经过调试才能确保没问题。简单的功能实现,一定是先实现,再优化。2.立刻函数功能的正确性。1.函数功能要单一。3.不断优化你的代码。
2025-03-01 20:20:20
93
原创 afterPropertiesSet方法的作用
实例化->生成对象->属性填充后会进行afterPropertiesSet方法。在spring的bean的生命周期中,
2024-06-28 15:58:16
472
原创 Biconsumer和Function的区别
在Java中,Function和BiConsumer都是函数式接口,它们是Java 8引入的新特性,旨在支持函数式编程风格和Lambda表达式的使用。这些接口位于包下。
2024-06-20 12:44:11
459
原创 URL和URI
包括URL(Uniform Resource Locator,统一资源定位符)和URN(Uniform Resource Name,统一资源名称)两种,提供了一种通用的资源描述方法。URL是URI的一个子类,它提供了定位网络资源的方法,即如何访问到这个资源。URN也是URI的一个子类,它通过一个唯一的命名空间来标识资源,而不直接指示如何定位或访问该资源。形象地说,如果URI是一个人的身份标识,那么URL就像是他的家庭住址(告诉你去哪里找他),而URN则是他的身份证号(独一无二,但不告诉你住址)。
2024-06-19 11:27:00
259
原创 cocos 按钮
在触发的脚本函数里面设置按钮节点的位置,将其移除屏幕,可以实现点击消失按钮的效果。3、将脚本挂载到其他节点上。即可实现点击按钮触发脚本。4、将节点和按钮绑定。
2024-06-19 11:00:32
136
原创 5W2H法
和两个以H开头的英语单词进行设问,发现解决问题的线索,寻找发明思路,进行设计构思,从而搞出新的发明项目,这就叫做5W2H法。(7)HOW MUCH——多少,做到什么程度,数量如何,质量水平如何,费用产出如何。(6)HOW ——怎么做,如何提高效率,如何实施,方法是什么。(1)WHAT——是什么,目的是什么,做什么工作。(2)WHY——为什么要做,可不可以不做,有没有。——何时,什么时间做,什么时机最适宜。(5)WHERE——何处,在哪里做。(3)WHO——谁,由谁来做。
2024-06-17 19:27:42
323
原创 Java 线程异常处理
子线程中发生了异常,,而不会记录任何日志。所以,如果什么都不做的话,是会出现子线程任务既没执行成功,也没有任何日志提示的“诡异”现象的。
2024-06-13 22:43:14
478
原创 PLSQL 报错 could not locate oci.dll
链接:https://pan.baidu.com/s/1HOfKAEFfuAGYACjfcwqJ1g。链接:https://pan.baidu.com/s/1q3xKSPw9liVNdYoYeLMfHg。1、在PLSQL安装包内搜索oci.dll,如果没有搜到需要下载。2、打开PLSQL,设置oci.dll的路径。0、确保PLSQL已激活。ps:PLSQL安装包。
2024-06-11 15:06:47
4167
原创 ‘vite‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
【代码】‘vite‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
2024-06-07 22:48:42
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人