- 博客(134)
- 收藏
- 关注
原创 JVM元空间泄漏异常排查(Metaspace OOM)
本文分析了元空间(Metaspace)在多次 Full GC 后仍无法回收的典型现象,指出其根源为类加载器泄漏。通过 jmap -clstats 定位到大量 AviatorClassLoader 实例,结合 Arthas 火焰图发现内存缺页异常由该类加载器频繁调用 defineClass 引发。最终确认为代码中未释放类加载器导致的元空间泄漏。修复后通过 -XX:+TraceClassLoading 验证类加载行为恢复正常,实现问题闭环。
2026-09-25 16:03:58
208
原创 Typora绿色版(博主亲测可用)
分享Typora安装包和软件介绍,快捷键列表。摘要应简洁概括。文章提供了Typora的夸克网盘下载链接,并介绍其作为简洁易用的Markdown编辑器,适用于日常笔记。同时列举了常用快捷键,覆盖文件操作、文本格式、段落排版、插入元素及视图切换,帮助用户提升编辑效率
2026-09-07 21:40:12
220
原创 java服务CPU占用过高排查
1. 定位高 CPU 占用的 Java 进程首先在服务器上执行 top 命令,按 P 键(大写)按 CPU 使用率排序,找到占用 CPU 最高的 Java 进程,并记下其进程 ID (PID)
2026-08-30 16:49:55
159
原创 JVM内存溢出和内存泄漏的区别及排查方法
本文探讨了Java开发中内存问题的排查方法。首先区分了内存泄漏(逐渐无法回收内存)和内存溢出(直接申请失败)的核心差异及其关联性,指出内存泄漏常导致溢出。接着提出五步排查流程:1)线上OOM时先摘流重启并保存堆快照;2)通过错误日志识别OOM类型;3)配置自动或手动抓取堆快照;4)使用MAT等工具分析支配树和引用链;5)针对静态集合、未关闭资源等典型泄漏场景修复代码。强调对比多份堆快照是定位泄漏对象的关键手段。
2026-08-15 15:03:28
319
原创 实用工具分享---Everything(绿色版,搜索神器)
Everything是voidtools开发的一款文件搜索工具,是一个运行于Windows系统,基于文件、文件夹名称的快速搜索引擎,它在搜索之前会把所用的文件和文件夹都列出来,与Windows自带的搜索系统不一样,所以我们称之为“Everything”
2025-01-22 11:53:49
939
原创 <div>{{ $t(“collectionPlan“) }}</div> 中的$t是什么
是Vue I18n插件提供的一种方法,用于根据当前应用的语言环境来获取相应的翻译文本。
2025-01-02 15:17:14
452
原创 VS Code中怎样查看某分支的提交历史记录
VsCode中无法直接查看某分支的提交记录,需借助插件才行,常见的插件如果git history只能查看某页面的改动记录,无法查看某分支的整体提交记录,我们可以安装GIT Graph来解决这个问题
2024-12-28 11:31:39
1002
原创 redis数据转移
可能有时候因为硬件的原因我们我们需要更换服务器,如果更换服务器的话,那我们redis的数据怎样转移呢,按照一下步骤即可完成redis数据的转移。启动后发现加载的还是老数据,需要检查root目录下是不是也有dump文件,删除。或者 find / -name "dump.rdb"查找,删除。注意如果配置aof持久化,那么重启后可能会优先加载aof。进入redis客户端。
2024-12-22 11:14:49
532
原创 简简单单实现java系统调用WebServie接口
WebService接口调用,你可以简单理解为向某个接口发送一个符合规则的文档,所以你要确定这个文档是怎么样的呢,很简单,直接问这个WebService接口的提供方,让他们提供一个请求文档的例子。测试成功后你就可以写代码用RestTemplate restTemplate类进行实现了。当你第一次java系统调用webservice接口,怎样快速的理解并实现呢。接下来你打开postman,测试一下这个接口。
2024-11-28 10:03:39
398
原创 linux磁盘空间已满,手动删除大量文件后,用df -h查看发现占用空间不变,删除不成功
实际演示如下1.lsof | grep deleted 找到未能删除掉的文件2.ls -l /proc/PID/fd/* |grep 文件名 找对应文件的句柄3.echo >/proc/pid/fd/句柄 清楚文件内容4.通过 df -h 命令查看发现磁盘空间已经减少
2024-10-29 19:50:39
551
原创 在IDEA中如何用git拉取远程某一分支的代码
想要在idea中拉取远程某一分支的代码,我们可以在idea中使用git命令1.选择idea的Terminal窗口2.使用git -v 命令查看一下git的版本,顺便测试一下能否使用git命令(不能使用的话需要在idea中进行相关配置)3.使用 git fetch命令更新远程分支,接着使用 git branch -a 查看所有的分支(本地和远程)4.使用git checkout 切换到你想要的远程分支即可
2024-09-26 20:03:17
3112
1
原创 在nacos上修改完配置文件后,再启动项目发现项目报错,启动不起来
在nacos上修改完配置文件后再启动项目,发现项目报错,启动不起来,这是因为nacos修改完配置文件后需要将修改后的配置文件先导入,再导入,配置文件才能生效。
2024-09-19 14:45:49
607
原创 Nginx配置小细节,location和proxy_pass 斜杠/ 问题
理解nginx的配置有助于理解前后端调用的过程,这里是location与proxy_pass需要注意的点。
2024-08-07 19:48:06
465
原创 启动报错 “lc.exe”已退出,代码为 -1
工具->nuget包管理->管理解决方案的nuget包,搜emptylicenses,找到emptylicenseslicx下载安装就行。
2024-06-18 10:41:34
3609
原创 Winform 使用tableLayoutPanel控件实现窗体布局
下面一步,就是将panel控件的"Dock"属性设置为“fill”,再将“ColumnSpan”设置为2,因为我们是两列,所以设置为2,如果你是3列就设置为3.点击tabelLayoutPanel右边的黑色三角形,选择“编辑行和列”,点击右下方的“插入”,选择“绝对”,像素值填36。"属性由原来的"None"变为"Fill",然后tableLayoutPanel就会填满整个窗体。(1)新建一个窗体程序,在工具箱中选择“tableLayoutPanel”控件,将之拖到窗体上。这样就出来一个三行两列的表格了。
2024-05-28 20:23:22
2131
原创 maven报orace,jdbc错误,并出现大量红色波浪线Unresolved dependency
由于oracle的限制,一般我们是无法通过maven直接下载oracle的驱动包的,这就可能导致其余的包出现红色波浪线,解决方法如下。
2024-04-22 08:48:38
533
1
原创 快速学习java路线建议
还有2 ,3个月就要毕业了,啥都不会的你是不是很慌呢,是不是想知道怎么样快速学习java呢。然后就可以做项目了,如果你前面学的太快,感觉学得有些都忘了,不要慌,做两个项目收悉一下常用的技术点就行,不会太过担心。首先是java的学习 ,推荐。再然后就结束了,你就可以找工作了,找工作的简历编写以及面试题咱放到下个文章来讲。,如果有时间的话推荐你看尚硅谷宋红康的java,巨细,当然你没时间了。然后就是springboot,推荐。再然后就是Mybatis,推荐。
2023-03-30 21:51:32
933
原创 java与c#的语法区别
Java中使用extends关键字实现类的继承,使用implements关键字实现接口继承,而C#中统一使用“:”实现类和接口的继承;Java中实体类需要定义get()和set()来限制类中字段的访问权限,而C#中既可以以get()和set()来限制类中字段的访问权限,也可以以get和set访问器来限制类中字段的访问权限。Java和C#中都有“//”单行注释,“/ * * /”多行注释,但Java中以“/ ** * /”定义文档注释,C#以“///”定义文档注释。此外,C#多提供了一种虚方法来实现多态。
2023-03-22 15:24:12
1144
原创 解决springboot启动报java程序包不存在,但是你的代码里却没爆红,能正常引入的情况
错误情况如图错误原因:idea环境问题解决方法:先关掉项目,把idea相关配置文件都删了(比如项目下的.idea目录,xx.iml文件),重新打开idea即可
2022-12-06 14:39:33
1810
2
原创 Async await的使用,调用axios后,等待axios执行完毕再继续往下执行
废话不多说,直接看代码吧,注意async 与 await的位置。
2022-11-07 21:08:08
1763
原创 sql报错,明明写得都对却一直报错
报错如上,明明写得都对,还是报错,原因是:我们的属性名起的不对,比如我的show属性在sql中show代表一个关键字,改名就好了。
2022-10-23 12:41:03
1316
原创 简简单单使用Spring中的aop
aop我们都知道是面型切面编程,因为出现aop的原因是因为我们想在不改变原业务代码的基础上,对我们的业务代码进行增强,所以你要使用aop,就要出现一个类让你可以继续我们可以把它称为切面类,切面类里我们可以对定义切入点与通知(切入点与通知结合就可以告诉spring我们要对要拿方法,增强什么东西),下面这个图可以让你更加理解。
2022-09-21 22:30:57
259
原创 Vue与axios结合使用时需要注意事项
当我们使用vue与axios结合时,一定要注意如果我们想要在axiox中调用vue中的属性或是为vue中的属性赋值时,我们一定要先用一个变量来接收vue对象,然后在axios中进行调用,切不可直接在axios中直接调用vue对象。
2022-09-16 13:19:25
332
原创 简简单单理解数据结构
首先我们可以先从字面意思理解一下数据结构,其实就是存储数据的结构,所以他本质上一种结构,用来存放数据的,那什么是结构呢?我举一个例子,如果现在银行在办理业务,但是来的人太多,办理窗口已经满了,这时剩余的人你要怎么办呢?对,让他们等,怎么等呢?来的人需要拍个序号吗?先来的人是不是可以优先去办理业务呢?所以你知道要选择哪种数据结构了吗?如果你刚开始接触数据结构,你一定会很迷惑,到底啥是数据结构。本人与你们一样,后来慢慢的理解了一些。...
2022-08-11 13:06:14
331
原创 Vue中props的理解与使用
然后我们的props的作用是暴露属性,例如我们在子组件暴露了一些属性,那我们父组件调用时即可显示出我们父组件中的内容。在理解props之前,我们首先需要明白 父组件 与 子组件的关系,我们父组件需要调用子组件来展示内容。...
2022-08-11 12:47:47
365
原创 Cannot find declaration to go to
我试了试发现都不行,然后我发现是我的注解使用错了,得使用@Controller,而我使用了@RestController。网上大多是两种解决方法1.将文件设置为2清理缓存。鼠标点击+ctrl无法跳转到指定html页面,
2022-07-30 15:03:18
504
原创 Property or method “approval1“ is not defined on the instance but referenced during render
前端
2022-06-28 15:31:46
279
原创 关于向session中存放内容的注意事项
我们要向session中存入一个内容(字符串),可能这个如果这个字符串是通过 xxx.toSting()得来的,那么我们存入后,我们再次通过session来调用时,会出现不相同的情况,最好是通过new String()的方式得到String,就拿我出现的问题来说吧...
2022-04-29 23:26:08
484
原创 SSO 单点登录
讲解单点登录前,我们需要知道原先我们(单一服务器)普通登录的流程,以前我们登录之后就会在服务器端把我们的用户数据存入session,下次我们判断是否登录时,只需要从session中获取数据,即可判断当前是否登录,但随着网络的发展,项目变得更大,更负责,我们的项目被拆分成了不同的模块,放在了不同的服务器上,所以,你这个模块登录后,这个模块的服务器内的session中有你的信息,而其余模块中却没有,你还得再次登录,为了解决这个问题SSO出现了,SSO实现了一次登录,处处访问。SSO 有三种实现方式1 .
2022-04-20 14:23:12
971
1
原创 对spring security认证授权过程的理解
在做谷粒学院项目的时候,到了权限管理这块,老师讲得很潦草,很难理解,又通过自己的学习大致明白了spring secutity的理解,下面便是我们在谷粒学院项目的基础上对spring security的理解。首先我们要明白的是spring security 内部有一个类UserDetails,我们可以把它理解为一个entity,但是因为我们所做项目不同,那么我们每个项目的用户 与 权限的 定义也会有所不同,所以我们要实现它并加入我们自己的user 与权限,(这样我们的spring security 与我们
2022-04-19 22:45:43
345
原创 Could not find result map java.lang.Integer at org.apache.ibatis.builder.MapperBuilderAssistant.get
此错误是你的mapper.xml文件中将Integer 设置成了resultMap类型,应该是resultType
2022-04-13 23:34:16
458
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅