摘要:
一、现象 (死循环)线上CPU100% (内存无法回收)内存OOM,系统down掉 二、原因 (死循环)不断的进行加减操作、不断的死循环打印日志、不断的new对象 (内存溢出)不断的大量new对象,但不被回收,也可能不是死循环,但new出的对象无法被回收,导致内存溢出,最后系统down机 三、解决过 阅读全文
摘要:
一、简介 Arthas是 阿里巴巴开源的一款 Java 线上诊断工具,利用Arthas可以对指定的JVM进程进行CPU、内存、线程、死锁监控处理,同时也可以动态的获取JVM中的源代码结构。得益于 Arthas 强大且丰富的功能,让 Arthas 能做的事情超乎想象。当你遇到以下类似问题而束手无策时, 阅读全文
摘要:
一、docker-compose version: '3.3' services: es8: image: elasticsearch:8.4.2 container_name: es8 ports: - 9200:9200 - 9300:9300 environment: xpack.securi 阅读全文
摘要:
一、工厂模式 + 单例模式 使用工厂模式来创建对象,通过单例模式来保证该工厂只有一个实例,从而减少创建对象时的开销。 首先,创建一个工厂类,该类使用单例模式来保证只有一个实例,该实例负责创建对象。然后,根据需要创建多个工厂方法,每个方法用于创建不同的对象。 class SingletonFactor 阅读全文
摘要:
一、创建型模式 1. 单例模式(Singleton pattern) 确保一个类只有一个实例,并提供该实例的全局访问点 1)饿汉模式 这种方式比较常用,但容易产生垃圾对象 优点:没有加锁,执行效率会提高。 缺点:类加载时就初始化,浪费内存。 public class Singleton { priv 阅读全文
摘要:
一、grok 1. grok 使用文本片段切分的方式来切分日志事件 filter { grok { match => { "message" => "%{IP:client_id_address} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:byt 阅读全文
摘要:
1. docker-compose.yml grok: image: qiudev/grokdebugger container_name: grok ports: - "19999:9999" 2. 启动后访问,http://192.168.52.11:19999/ 阅读全文
摘要:
一、ELK+Filebeat介绍 ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称(但是后期出现的filebeat(beats中的一种)可以用来替代logstash的数据收集功能,比较轻量级)。市面上也被成为Elastic Stack。 Elasticse 阅读全文
摘要:
1、页 在 MySQL 中 InnoDB 存储引擎的最小存储单元是页(大小默认是16k,可通过参数设置)。页可用于存放B+树叶节点数据,也可用于存放B+树非叶节点的 “键 + 指针”(也就是路径节点)。 在查找数据时一次页的查找代表一次 IO,一般B+树高大约为1~3层,所以通过主键索引查询通常只需 阅读全文
摘要:
线程通信相关概述 线程间通信的模型有两种:共享内存和消息传递,下面介绍的都是围绕这两个来实现 提出问题 有两个线程A和B,B线程向一个集合里面依次添加元素“abc”字符串,一共添加10次,当添加到第五次的时候,希望线程A能够收到线程B的通知,然后B线程执行相关的业务操作 方式一:使用Object类的 阅读全文