- 博客(112)
- 资源 (2)
- 收藏
- 关注
原创 方法区溢出
方法区,和堆一样是线程共享的,用来存储被虚拟机加载的类信息、常量、静态变量等。是一个逻辑概念,一部分在堆内存,一部分在元空间(JDK>=8)注:jdk8之前方法区是持久代(anenteration)实现的。
2025-07-15 16:56:45
276
原创 栈内存溢出
1、如果线程请求的深度大于虚拟机所允许的最大深度,将抛出StackOverflowError2、如果虚拟机的栈内存允许动态扩展,当无法申请到足够内存时,将抛出OutOfMemoryError1、栈内存不可扩展2、统一用-Xss设置栈的大小(有的虚拟机,可以用-Xss设置虚拟机栈,-Xoss设置本地方法栈)注:-Xss设置的是的栈内存大小(而非整个 JVM 的总栈内存)(单位通常是 KB 或 MB)而 总内存 = 堆内存 + (线程数 × 栈大小)
2025-07-15 14:51:24
292
原创 cpu过高问题定位
第三行,cpu状态信息,具体属性说明如下:us — 用户空间占用CPU的百分比。(重要) sy — 内核空间占用CPU的百分比。ni — 改变过优先级的进程占用CPU的百分比id — 空闲CPU百分比wa — IO等待占用CPU的百分比hi — 硬中断(Hardware IRQ)占用CPU的百分比si — 软中断(Software Interrupts)占用CPU的百分比。
2025-07-14 15:15:03
277
原创 JVM内存结构
JVM内存模型主要分为五大区域:堆(线程共享,存放对象实例)、虚拟机栈(线程私有,存储方法调用栈帧)、本地方法栈(类似虚拟机栈但服务于Native方法)、程序计数器(线程私有,记录执行指令)和方法区(线程共享,存储类元信息)。不同区域具有特定的功能与内存管理机制,可能产生StackOverflowError或OOM等异常。其中堆是GC主要工作区,而程序计数器是唯一不会OOM的区域。Java8后方法区由元空间实现,使用本地内存。
2025-06-30 15:03:06
338
原创 上传jar包到私服Nexus
1、登录admin账号后,找到上传仓库,执行如下操作即可。通过maven help插件找到pom依赖。如果是间接引用可以直接排除,再引用。如果直接引用的直接替换版本即可。2、修改pom.xml。
2024-11-27 11:08:30
818
1
原创 RPC 和 HTTP 理解
要解决这个问题就应该搞清楚 http 使用的 tcp 协议,和我们自定义的 tcp 协议在报文上的区别。首先要否认一点 http 协议相较于 自定义tcp 报文协议,增加的开销在于连接的建立与断开。第一、http协议是支持连接池复用的,也就是建立一定数量的连接不断开,并不会频繁的创建和销毁连接第二、http也可以使用 protobuf 这种二进制编码协议对内容进行编码因此二者即 http 和 rpc 最大的区别还是在传输协议上。
2024-08-13 20:20:50
1475
原创 idea插件目录位置
C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2020.3\plugins。可以直接把此文件夹下的所有目录复制。
2024-04-30 11:23:44
3085
原创 Aop监控所有Controller,包括void类型的response中的出参(工具类)
Aop监控所有Controller,包括void类型的response中的出参(工具类) response.getWriter().write();
2023-08-02 14:38:02
756
原创 行业大趋势和行业七大周期
有钱和没钱不同国家不同人种都一个样子。人均GDP过一万美金,才有文化产业的强大。举例:日本1970年代人均GDP超过1w美金,产生了以二次元文化为代表的文化复兴。韩国在1990年代人均GDP超过1万美金,产生了韩国文化复兴所谓的韩流。2019年中国人均GDP超过1万美金,目前有文化复兴的势头,但是还没有真正引以为傲的文化出现,目前有苗头的就是汉服,相关文化产业工作者可以仔细考虑一番里面一定有文化产业商机存在,可以借鉴韩国日本1w美金前后文化对比。
2023-07-15 02:45:12
1268
原创 RabbitMQ支持消息的模式
当有多个消费者时,我们的消息会被哪个消费者消费呢,我们又该如何均衡消费者消费信息的多少呢?根据消费者的消费能力进行公平分发,处理快的处理的多,处理慢的处理的少;一个消费者一条,按均分配;
2023-04-25 00:34:26
1680
原创 docker安装RabbitMQ
1、yum 包更新到最新yum update2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的3、设置yum源为阿里云4、安装docker5、安装后查看docker版本docker -v6、安装加速镜像输入以下内容输入EOF结束文件输入EOF7、重新启动docker。
2023-03-20 17:50:22
558
原创 java.lang.IllegalStateException: StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContex
Spring Boot应用程序运行Eureka Discovery Server时报错Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2023-01-11 14:44:01
3401
原创 基于redis分布式锁解决定时任务重复问题
在看代码之前请先看优化篇:基于Redis的Setnx实现分布式锁_p&f°的博客-CSDN博客1、在启动了上加 @EnableScheduling 注解2、 写一个server类以防急用,没看前一篇文章,把 RedisLock 也再贴一下3、启动两个Application模拟分布式服务,查看定时任务执行情况,发现是顺序执行的,结果截图如下8080执行情况8081执行情况...
2022-06-11 10:11:06
754
原创 浅析getOrDefault(Object key, V defaultValue)方法
浅析getOrDefault(Object key, V defaultValue)方法
2022-06-08 10:07:00
417
原创 mybatis-generator插件实现代码自动生成
1、安装插件 Free MyBatis plugin2、在pom.xml中引入mybatis-generator-maven-plugin插件依赖<build> <plugins> <!--Mybatis代码自动生成器--> <plugin> <groupId>org.mybatis.generator</grou.
2022-05-31 16:33:58
691
原创 rabbitmq交换机工作模式
一、fanout:广播,这种模式只需要将队列绑定到交换机上即可,是不需要设置路由键的(p代表生产者publisher,x代表交换机exchange,红色的是消息队列queue,下同)每一个消息队列所收到的内容都是一样的,有多少个队列,就有多少个消息副本。比如:将所有日志一个记录到磁盘文件,一个在控制台显示。二、direct:根据RoutingKey匹配消息路由到指定的队列根据路由键匹配关系,上面的队列只会接收error级别的日志,存储到磁盘中;而下面的队列会接收info、
2022-05-19 15:10:44
578
原创 钢铁it男的你真的学会了怎么追求女神吗?
it男的世界不是非0即1(dddd,反正我是1 /doge),在这里可以教你基本的恋爱、约会过程,以及长期关系的保持,持续更新中,欢迎各位01baby们讨论啊 /坏笑~
2022-05-11 18:20:25
2070
4
原创 删除拼接的最后的 ,
很多情况下,我们遍历数据的时候,每遍历一个list都会加上一个 逗号","分隔,而往往最后一个","是不需要的,可以使用StringBuffer类中的方法删除。public class delLast { /** * 删除最后的 , * @return */ private static StringBuffer del(){ StringBuffer strs = new StringBuffer("1,2,3,");
2022-04-08 10:26:52
326
原创 安装es-header插件
1、官网下载https://github.com/mobz/elasticsearch-head2、 解压3、进入解压目录,调出cmd窗口,确定自己已经安装了node。 如下确定,没有自行下载安装4、输入前端包安装命令,等待几分钟下载npm install5、输入启动命令启动npm run start6、访问如下地址 http://localhost:91007、输入es地址,点击连接,完全没反应。 f12查看控制台,发现是跨域问题。(前提是启动了es,.
2022-04-01 12:10:24
4590
原创 ik分词器自定义中文词库
1、进入ik分词器安装(安装ik中文分词器_p&f°的博客-CSDN博客)的插件目录下的: 你的es安装目录/plugins/ik/config目录下,找到 IKAnalyzer.cfg.xml 文件。我的在cd /usr/local/elasticsearch-8.1.0/plugins/ik/config/2、在root用户下,编辑vim IKAnalyzer.cfg.xml 在对应字段加入如下内容(一个自定义文件)3、创建并编辑【自定义】文件。 我这里是:...
2022-03-31 21:22:11
992
rabbitmq-server-3.8.2-1.el7.noarch.rpm
2021-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人