清墨迹染
码龄7年
关注
提问 私信
  • 博客:66,161
    66,161
    总访问量
  • 58
    原创
  • 701,646
    排名
  • 12
    粉丝
  • 0
    铁粉

个人简介:悟来时见江海古,苍崖行遍谒玄门;向道偶题人间事,一笛一剑一昆仑

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 目前就职: 亚信科技(中国)有限公司
  • 加入CSDN时间: 2018-02-01
博客简介:

qq_41700030的博客

查看详细资料
个人成就
  • 获得34次点赞
  • 内容获得25次评论
  • 获得174次收藏
创作历程
  • 10篇
    2021年
  • 29篇
    2020年
  • 21篇
    2019年
成就勋章
TA的专栏
  • rocketMQ
    1篇
  • jvm
    8篇
  • 数据库
    5篇
  • 日志
    1篇
  • nginx
    1篇
  • Dubbo
    10篇
  • redis
    2篇
  • 小技巧
    3篇
  • 其他小知识
    7篇
  • 多线程
    12篇
  • spring
    2篇
  • 网络相关
    2篇
  • 一些社会的经验看法
  • 编程算法
    1篇
  • Docker
    1篇
  • 微服务
    1篇
  • java底层
    3篇
  • 大数据
    3篇
兴趣领域 设置
  • 大数据
    mysql
  • 后端
    spring架构
  • 搜索
    elasticsearch
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

jstack命令排查cpu占用过高问题

1、当系统cpu占用率过高时,可以通过top命令查看当前cpu占用率最高的线程可以看到排在第一位的pid为22705的进程cpu占用率最高2、可以通过top -H -p pid命令查看某个pid的进程下各线程的cpu占用情况这里可以看到pid为22758的线程cpu占用率最高,因为线程ID在jstack日志中是以十六进制显示的,所以我们将22758转换成十六进制58e6这里通过jstack 命令查看进程22705的cpu占用,并找到线程Id为58e6的日志在这里可以看到当前java线程的状态
原创
发布博客 2021.11.02 ·
1537 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

rocketmq消息积压监控java代码实现

最近在做彩信下发,需要下发的内容是以消息的形式存放在rocektMQ,遇上彩信消息未下发的情况,需要实时去查各topic的消息积压量1、启动时装配监控客户端的bean@Componentpublic class MQAdminExtConfig { private static final Logger log = LoggerFactory.getLogger(MQAdminExtConfig.class); @Value("${rocketmq.name-server}")
原创
发布博客 2021.10.25 ·
1605 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

logback配置解析

1、读取自定义属性先自定义一个类,继承PropertyDefinerBase类public class LogIpConfig extends PropertyDefinerBase { private static String LOCAL_IP = null; @Override public String getPropertyValue() { try { LOCAL_IP= InetAddress.getLocalHost()
原创
发布博客 2021.08.24 ·
427 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

堆栈信息不打印的情况下如何定位报错原因

不知道小伙伴们有没有遇见过这种问题,即linux环境jar包执行时,执行到某一行后,后面的代码不再执行,log日志中也没有打印错误信息(try-cat堆栈信息被吃掉)。此时该怎么定位原因呢身边的大神给介绍了个阿里的神器,arthas。先给出官方文档:官方文档点这里下面是简单示例一个操作流程下面再简单介绍一下官方文档提供的几个关键字作用dashboard当前系统的实时数据面板,按 ctrl+c 退出thread查看当前线程信息,查看线程的堆栈jvm查看当前J
原创
发布博客 2021.05.23 ·
642 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

不走索引的一些情形——替你们躺过的坑

参与一场面试,jvm、多线程、架构设计一一过关,最后死在了这看似简单,但却因为大意忽视了的sql优化上,这里把知道的一些情形都整理罗列出来,防止再次踩坑!列与列对比某个表中,有两列(id和c_id)都建了单独索引,下面这种查询条件不会走索引select * from test where id=c_id;这种情况会被认为还不如走全表扫描。测试如下explain select * from product where PRODUCT_ID =100101 ;当有两个带索引的列比较时存在NU
原创
发布博客 2021.05.07 ·
905 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

如何优化你的网站性能(一)——GC调优、即时编译JIT

优化一个java程序的执行有很多种途径,下面分别从代码、并发、缓存、异步、网络、jvm调优等方面一一描述。GC调优先说一下经验,就是要不断的去调,选择一个合适的堆大小,再去应用调优的目的GC次数够少GC时间够小调优原则和步骤1、大多数的java应用程序不需要GC调优2、大多数需要GC调优的不是参数问题,是代码问题3、GC调优是最后的手段,逼不得已才用调优调的是什么?第一:选择合适的GC回收器第二:选择合适的堆大小第三:选择年轻代在堆中的大小1、监控GC的状态2、分析GC结果,判
原创
发布博客 2021.04.25 ·
361 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

建造者模式(Builder模式)

建造者模式是日常开发中比较常见的设计模式,它的主要作用就是将复杂事物创建的过程抽象出来,该抽象的不同实现方式不同,创建出的对象也不同。通俗的讲,创建一个对象一般都会有一个固定的步骤,这个固定的步骤我们把它抽象出来,每个抽象步骤都会有不同的实现方式,不同的实现方式创建出的对象也将不同。举个常见的例子,想必大家都买过电脑,电脑的生产或者组装其实就是属于建造者模式,我们知道,电脑的生产都需要安装CPU、内存条、硬盘等元器件。我们可以把这个安装步骤抽象出来,至于到底装哪种CPU,比如i5还是i7就是对该抽象安装步骤
转载
发布博客 2021.04.10 ·
693 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

linux命令操作ftp

ftp
原创
发布博客 2021.03.17 ·
323 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

记一次mycat日活量数亿级别分库分表方案及数据迁移

先说一下业务场景。项目是负责公司短信下发的,目前每日下发量大概在千万级别,采取了每天一张表的分表方案,但为了后续新的发送方接入,需要支持每日近亿级别的发送量,此时每天一张发送日志表的分表方案明显已不再支持。经过激烈讨论,我们引入了mycat的解决方案。考虑到发送量的大小,我们对发送日志表进行了分库分区操作,保证每一个库和区能够均匀承担数据压力,我们决定对两个字段进行取模。即手机号对200取模决定在哪一个库(分了两百个库,每天一个分区),再传入日期(比如20200127),决定数据落在哪一个分区。myca
原创
发布博客 2021.01.27 ·
564 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

类加载机制

一、类加载的几个阶段1、初始化的条件以下五种情形会触发类的初始化1、通过new关键字创建对象2、调用类的静态属性3、反射4、初始化一个类,但父类还没有初始化,要先初始化父类5、应用程序主类,main方法的类6、动态语言支持...
原创
发布博客 2021.01.05 ·
198 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

idea集成阿里巴巴规范扫描插件

为了码出高效、码出质量,尽量避免开发过程中的各种坑,互联网一线大厂基本都有自己的一套规范手册,这里介绍IDEA怎么去集成阿里的一套编码规范。阿里规范插件GitHub:规范文档地址IDEA安装该插件步骤1、打开IDEA,File-> Setteings->Plugins->Browse Repositories,在Browse Repositories搜索栏搜索Alibaba,然后安装安装完成重启IDEA2、去远程地址下载本地压缩包,版本需要和上面安装的插件版本一致选择从硬
原创
发布博客 2020.12.22 ·
2901 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis排查读取超时、连接超时

最近公司现网查询速度极慢,原因是因为有一个调度频繁查询产品详情,经理安排进行优化笔者第一时间想到的是使用缓存,但因为生产环境产品信息量将近上千条热点数据,为防止撑爆服务器内存,考虑到了使用redis缓存。代码实现如下1、先在详情查询接口添加缓存注解2、在所有需要更新缓存信息的地方,添加删除缓存注解注意,坑就在这个allEntries注解!先通过info命令查询发现redis内存占用才1g,而我们线上redis内存有5g多。那么考虑是否是因为某些查询过慢导致的读取超时呢?获取慢查询数量slo
原创
发布博客 2020.12.17 ·
2454 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

spring整合redisson开启缓存

先来了解几个注解:@Cacheable表明所修饰的方法是可以缓存的:当第一次调用这个方法时,它的结果会被缓存下来,在缓存的有效时间内,以后访问这个方法都直接返回缓存结果,不再执行方法中的代码段。这个注解可以用condition属性来设置条件,如果不满足条件,就不使用缓存能力,直接执行方法。可以使用key属性来指定key的生成规则。支持如下几个参数:value:缓存位置名称,不能为空,如果使用EHCache,就是ehcache.xml中声明的cache的name, 指明将值缓存到哪个Cache中
原创
发布博客 2020.11.24 ·
1163 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

垃圾收集器之G1

Garbage First(G1) 垃圾优先g1把堆分成了很多块,每一块可能被定义成年轻代,或者年老代首先,G1的设计原则就是简单可行的性能调优开发人员仅仅需要声明以下参数即可:指令意义-XX:+UseG1GC开启G1垃圾收集器-Xmx32g设计堆内存的最大内存为32G-XX:MaxGCPauseMillis=200设置GC的最大暂停时间为200ms需要调优,在内存大小一定的情况下,我们只需要修改最大暂停时间即可。(可预测停顿:消耗在垃圾收集器上得时间
原创
发布博客 2020.11.02 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

几种常见垃圾收集器原理及使用

1、判断对象是否可回收(存活)之前介绍过的引用计数法存在一定的缺陷,即循环引用的对象无法被回收,因此jvm中未使用,这里介绍一种新的算法可达性分析算法这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。作为GC Roots的对象包括下面几种:1 虚拟机栈(栈帧中的本地变量表)中引用的对象。2 方法区中类静态属性引用
原创
发布博客 2020.10.30 ·
4447 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

不会这些你敢说你会nginx?

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
原创
发布博客 2020.09.06 ·
2449 阅读 ·
5 点赞 ·
2 评论 ·
26 收藏

别再说不知道元空间和永久代的区别了

java8之前永久代:用来存储类的编译信息,常量、和静态变量堆和方法去逻辑上是分开的,但是在物理内存上两者又是连续的在精确一些,实际上是方法区和老年代是相连的,所以永久代的垃圾收集是和老年代捆绑在一起的,因此无论谁满了,都会触发永久代和老年代的垃圾收集。...
原创
发布博客 2020.08.31 ·
1641 阅读 ·
2 点赞 ·
1 评论 ·
14 收藏

list集合按日期排序并处理空数据情况

Collections.sort(result,Comparator.nullsLast(new Comparator<SendMessageStaResp>() { @Override public int compare(SendMessageStaResp o1, SendMessageStaResp o2) { if(o1.getSendTime2()==null){ return 1; } if(o
原创
发布博客 2020.08.25 ·
1644 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

UDP协议简单了解和使用

UDP协议udp是传输层协议,提供不可靠的服务,无连接UDP无连接,时间上不存在建立连接需要的时延大部分视频是UDP的,有部分是TCP结合 UDP
原创
发布博客 2020.08.25 ·
872 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

redis集群去中心化

去中心化实现集群
转载
发布博客 2020.08.10 ·
1888 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏
加载更多