
java基础
cui_huo
这个作者很懒,什么都没留下…
展开
-
2021-09-02
Log不打印Catch中具体得异常行Catch异常只打印一个出了什么异常,不打印详细行以及其他,后面发现是自己写法问题,不要写log.error(""+e); ,需写成log.error("",e);原创 2021-11-03 17:08:21 · 149 阅读 · 0 评论 -
2021-08-07
记录一次ActiveMQ Store percent used居高不下问题现象:active mq 前台页面Store percent used最高达到82,kahadb下db.log文件多达2000多个,近82G.当时activemq.xml文件配置storeUsage为100G,所以Store percent used为82.排查过程及问题原因:通过观察发现: 所有涉及到持久化的queue及topic中只有一个名为ActiveMQ DLQ的队列有几千条数据存在队列中,消息都没有出队,也没有消费原创 2021-08-07 10:47:58 · 571 阅读 · 0 评论 -
线上mysql cpu占用过高排查流程
1.通过top命令发现mysql占用cpu高2.用show full processlist查看当前的慢语句3.查看db列找到慢语句对应的数据库4.通过ps -ef|grep jboss 命令查看当前jboss进程5.通过数据库配置文件找到对应的jboss进程6.然后再用jstack -l pid > /root/exception 拿到文件分析7.找RUNNABLE状态的进程8.找到项目中相关包结构,约接近RUNNABLE为越底层执行代码,例如org.tongba.busonline相原创 2021-07-06 11:19:02 · 1601 阅读 · 0 评论 -
线程池ThreadPoolExecutor
为什么要使用线程池降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控...原创 2020-06-20 09:20:33 · 220 阅读 · 0 评论 -
ThreadLocal
ThreadLocal set时是Entry(key, value)set进ThreadLocalMap,而Entry是extends WeakReference<ThreadLocal<?>>的,所以当ThreadLocal=null时,GC会把ThreadLocal回收,但是Thread不死,ThreadLocalMap就会一直存在 ,GC把ThreadLocal回收后,ThreadLocalMap还存在一条无用的信息(key没了,value还在),这样就造成了内存泄漏,所以在T原创 2020-05-21 10:30:53 · 371 阅读 · 0 评论 -
记一次使用锁的经历,字符串作为锁
问题场景:接到个对接人脸识别终端的任务,使用的协议是mqtt。数据流大致为车联网平台—>mqtt服务端—>人脸识别终端。车联网—>mqtt服务端,由于使用的http接口,需要一个返回值返回给平台,但是mqtt服务端—>人脸识别终端是异步交互的,无法直接获取返回值。当时第一个想法是在mqtt服务端接收到平台消息后,异步发送对应消息,线程阻塞一秒尝试到redis中获取,因为mq...原创 2020-04-07 20:11:08 · 228 阅读 · 0 评论 -
socket缓冲区
最近在工作的时间接触到这个概念,原创 2020-01-20 10:36:08 · 160 阅读 · 0 评论 -
nginx配置
网上看到的,记录下:location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ]}location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ]}location /documents/ {...原创 2019-12-20 10:08:12 · 613 阅读 · 0 评论 -
记maven的私服配置
最近项目组在使用sonarQube检测代码,但是我负责的这个项目一直无法成功构建,原因就是jar包无法下载导致一直无法构建。因为我这项目要用到我们私服的jar包也要用到第三方的私服jar包,就想到了代理,但是加入了代理之后还是无法成功下载,最后发现是没有加入group导致的,后面加入组中,把原来的本地jar包清空后成功构建。...原创 2019-11-28 15:10:53 · 97 阅读 · 0 评论 -
一些笔记
原创 2019-10-09 11:19:32 · 120 阅读 · 0 评论 -
多态原理
这是JVM的动态分派,简单来说执行的时候会去元素所指向的实际类型中去找这个方法,如果没有,一层一层往上找。但是每次进行动态分派效率不高,JVM的做法是通过虚方法表来进行索引,如果子类重载重写了父类方法,索引地址就会改成子类的。...原创 2019-08-27 08:41:56 · 103 阅读 · 0 评论