- 博客(66)
- 资源 (16)
- 问答 (1)
- 收藏
- 关注
原创 flink1.16+连接Elasticsearch7官方例子报错解决方案
flink输出至es,连接es7时使用的sink类是Elasticsearch7SinkBuilder,与es6链接方式不同,官网地址:fink连接es官方地址。依赖jar:官方连接es7代码本地运行报错java.lang.IllegalStateException: The elasticsearch emitter must be serializable.错误提示很明确:emitter没有序列化,点击查看ElasticsearchEmitter的源码其实最终是有继承序列化接口的,那就猜测是使用
2024-11-23 18:47:23
683
原创 LogStash-避坑指南(基础语法、grok、date)
避坑指南1.背景2.grok/date插件介绍2.1.grok插件2.2.date插件3.埋坑3.1.grok获取输入源文件名称3.2.grok解析多个日志文本字段输出自定义字段3.3.grok、data插件搭配解析日志日期替换@timestamp2.4.输出ES使用索引模板1.背景Logstash 是一个开源数据收集引擎,具有实时流水线功能。通过输入、过滤、输出三个步骤Logstash 可以将不同来源的数据加工后同时输出至多个数据源。logStash接收到的数据一般都是各个业务系统的日志,需要使用f
2021-10-31 00:37:30
4163
原创 JAVA日期格式化常用格式对照表
文章目录1.常用格式对照示例2.日期字符对照表1.常用格式对照示例格式示例yyyy-MM-dd HH:mm:ss.sss2021-09-09 05:12:12.234yyyy-MM-dd HH:mm:ss.S2021-09-09 05:12:12.234yyyy-MM-dd’T’HH:mm:ss’Z’2021-09-09T05:12:12Zyyyy-MM-dd HH:mm:ss Z2021-09-09 05:12:12 +0800yyyy-MM-dd
2021-10-30 22:50:52
4958
1
原创 Linux网络IO模型及JAVA中IO模型
文章目录1.概述2.Linux网络IO模型2.1.阻塞IO模型2.2.非阻塞IO模型2.3.IO复用模型2.3.1.select2.3.2.poll2.3.3.epoll2.4.信号驱动IO模型2.5.异步IO3.JAVA中IO模型1.概述在jdk1.4之前JAVA只有同步阻塞IO,在jdk1.4版本更新同步非阻塞的NIO,在jdk1.7又更新了异步的NIO2.0,本文将简单介绍下Linux有哪些网络IO模型,以及JAVA中的IO所对应的网络IO模型。理解本文之前需要先知道一个概念:用户空间与内核空间
2020-06-27 17:26:36
657
原创 Redis--数据结构
文章目录1.简单动态字符串2.链表3.字典/符号表/关联数组/映射1.简单动态字符串2.链表3.字典/符号表/关联数组/映射
2020-05-29 01:24:53
376
原创 mtail详解
文章目录1.概述2.参数详解3.安装启动4.mtail脚本语法1.概述mtail 是用于从应用程序日志中提取指标以导出到时间序列数据库或时间序列计算器以进行警报和仪表板显示的工具。简单来说,就是实时读取应用程序的日志,并且通过自己编写的脚本实时分析,最终生成时间序列指标的工具。官网地址:https://github.com/google/mtail下载地址:https://github.c...
2020-04-20 23:34:42
15131
13
原创 log4j2常用配置
1.log4j2 appender组件列表2.RollingFileAppender配置3.归档删除策略详解4.TriggeringPolicy详解5.RolloverPolicy详解
2020-04-07 00:44:20
5458
原创 prometheus+alertmanager+webhook实现自定义监控报警系统
文章目录1.概述2.alertmanager部署3.prometheus配置报警规则4.prometheus关联alertmanager5.alertmanager邮箱报警demo6.alertmanager使用webhook(java)报警demo1.概述2.alertmanager部署3.prometheus配置报警规则4.prometheus关联alertmanager5.aler...
2020-03-06 23:09:15
167913
20
原创 prometheus+grafana+mtail+node_exporter实现机器负载及业务监控
文章目录1.概述2.node_exporter配置启动3.mtail配置启动4.prometheus配置启动5.grafana配置启动5.1.grafana配置默认Dashboard5.2.grafana添加node_exporter的Dashboard5.3.grafana添加mtail的Dashboard6.总结1.概述最近因项目需要统计服务的负载情况及机器的负载情况,但是项目里面却没有相...
2020-02-16 17:45:05
6047
1
原创 linux命令-rsync
文章目录1.命令格式1.1.源路径和目标路径的两种写法1.1.1.使用ssh认证方式1.1.2.使用rsync认证方式1.2.工作模式1.2.1.拷贝本地文件到本地其他目录1.2.2.本地内容拷贝到远程机器1.2.3.远程内容拷贝到本地机器2.参数说明3.命令demo3.1.本地拷贝3.2.本地拷贝到远程3.3.远程拷贝到本地1.命令格式rsync [option] 源路径 目标路径1.1...
2020-01-21 18:00:36
724
原创 linux环境配置(centos)
文章目录1.同步时间为北京时间2.设置开机自启动3.修改单个用户环境变量4.设置ssh免密登录5.配置ip地址(静态、动态)
2019-12-02 19:03:15
543
原创 源码分析J.U.C-ConcurrentHashMap
文章目录1.JAVA7与JAVA8中实现方式的区别2.JAVA7中实现2.1.执行流程图2.2.源码分析3.JAVA8中执行流程图3.1.执行流程图3.2.源码分析4.总结1.JAVA7与JAVA8中实现方式的区别2.JAVA7中实现2.1.执行流程图2.2.源码分析3.JAVA8中执行流程图3.1.执行流程图3.2.源码分析4.总结
2019-11-30 23:56:12
209
原创 源码分析J.U.C-CountDownLatch
文章目录1.CountDownLatch介绍1.1.使用场景1.2.与CyclicBarrier的区别1.3.用法2.使用的知识点3.数据结构4.执行流程4.1.await()过程分析4.1.1.执行流程图4.1.2.源码执行流程4.2.countDown()过程分析4.2.1执行流程图4.2.2.源码执行流程
2019-11-10 22:02:57
249
原创 源码分析J.U.C-ReentrantLock
文章目录1.ReentrantLock的特点2.ReentrantLock用到的知识点3.可重入实现4.公平锁实现5.非公平锁实现1.ReentrantLock的特点ReentrantLock能够实现可重入,默认使用非公平锁,也支持公平锁。在JAVA1.6之后性能上ReentrantLock与synchronized相差不大,在使用上ReentrantLock更灵活。ReentrantR...
2019-10-23 18:28:28
367
原创 JAVA线程安全与锁优化
文章目录1.概述2.线程2.1.线程的实现方式2.2.java中线程的实现方式3.线程安全3.1.线程安全的强度3.2.线程安全的实现方式4.锁优化4.1.自旋锁与自适应自旋4.2.锁消除4.3.锁粗化4.4.轻量级锁4.5.偏向锁1.概述2.线程2.1.线程的实现方式2.2.java中线程的实现方式3.线程安全3.1.线程安全的强度3.2.线程安全的实现方式4.锁优化4.1.自...
2019-09-21 23:28:31
290
原创 JAVA内存模型
文章目录1.概述2.JAVA内存模型2.1.主内存与工作内存2.2.内存间交互2.3.volatile变量的特殊规则2.4.long和double型变量的特殊规则2.5.原子性、可见性与有序性2.6.先行发生(happens-before)原则1.概述2.JAVA内存模型2.1.主内存与工作内存2.2.内存间交互2.3.volatile变量的特殊规则2.4.long和double型变量...
2019-08-31 22:05:46
192
原创 JVM之javac编译器、java语法糖
文章目录1.概述2.javac编译器2.1.javac源码即执行过程2.2.解析与填充符号表2.3.注解处理器2.4.语义分析与字节码生成3.语法糖3.1.泛型与类型擦除3.2.自动装箱、拆箱与遍历循环3.3.条件编译3.4.其他语法糖4.注解处理器简单实现1.概述2.javac编译器2.1.javac源码即执行过程2.2.解析与填充符号表2.3.注解处理器2.4.语义分析与字节码生成...
2019-07-16 19:48:30
942
原创 JVM字节码执行引擎
文章目录1.概述2.运行时栈帧结构2.1.局部变量表2.2.操作数栈2.3.动态连接2.4.方法返回地址2.5.附加信息3.方法调用4.基于栈的字节码解释执行引擎4.1.解释执行4.2.基于栈的指令集与基于寄存器的指令集4.3.基于栈的解释器执行过程1.概述字节码执行引擎是java虚拟机的核心组成之一,虚拟机与物理机都有代码执行能力,物理机执行引擎是建立在处理器、硬件、指令集和操作系统层面上的...
2019-06-30 12:30:45
279
原创 JVM执行子系统类加载机制及主动引用被动引用
文章目录1.什么是类加载2.类加载的过程2.1.加载2.2.验证2.2.1文件格式验证2.2.2.元数据验证2.2.3.字节码验证2.2.4.符号引用验证2.3.准备2.4.解析2.5.初始化3.类加载器介绍1.什么是类加载类加载机制就是虚拟机把类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型的过程。2.类加载的过程类从被加...
2019-06-23 17:59:22
290
原创 二进制及原码反码补码介绍、八进制、十六进制及Java中移位运算详解
文章目录1.二进制1.1.原码1.2.反码1.3.补码2.八进制3.十六进制4.位运算4.1.与(&)运算4.2.或(|)运算4.3.非(~)运算4.4.异或(^)运算4.5.移位(<< >> >>>)运算1.二进制二进制,是计算技术中广泛采用的一种数制,二进制数据是用0和1...
2019-06-22 15:51:08
2707
原创 JVM参数说明介绍
文章目录1.JVM运行时数据区内存参数说明2.JVM垃圾收集器参数总结1.JVM运行时数据区内存参数说明参数选项-Xms堆的最小值-Xmx堆的最大值(Xms和Xmx设置一致,可以避免堆自动扩展)-Xmn堆中新生代大小-XX:SurvivorRatio设置新生代中Eden和Survivor区域大小比例,如果设置为8,则Eden和两个Survivor区...
2019-05-30 14:58:59
912
原创 JDK监控和故障处理工具
文章目录1.概述2.JDK的命令行工具jpsjstatjinfojmapjhatjstack3.JDK的可视化工具JConsoleVisualVM1.概述通常我们定位系统问题时候,都需要一些系统的监控和分析工具来处理线上的运行日志、异常堆栈、GC日志、线程快照、堆转储快照等数据,来达到快速定位解决问题的能力。下面就先介绍一些JDK中国的监控和处理工具。2.JDK的命令行工具jpsjps(...
2019-05-26 18:38:15
1291
原创 深入JVM-内存分配策略
JVM中对象的内存分配,基本上是在堆上分配(也可能经过JIT编译后背拆散为标量类型并间接地在栈上分配),对象主要分配在新生代的Eden区,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配,少数情况下也可能会直接分配在老年代中,分配的规则取决于使用的垃圾收集器的组合及其参数配置。1.对象优先在Eden区分配2.大对象直接进入老年代3.长期存活的对象直接进入老年代4.动态对象年龄判定...
2019-05-24 22:25:55
222
原创 深入JVM-垃圾收集算法与垃圾收集器
1.垃圾收集算法1.1.标记-清除算法1.2.复制算法1.3.标记-整理算法1.4.分代收集算法2.垃圾收集器2.1.Serial收集器2.2.ParNew收集器2.3.Parallel Scavenge收集器2.4.Serial Old收集器2.5.Parallel Old收集器2.6.CMS收集器2.7.G1收集器...
2019-05-02 12:24:02
193
原创 深入JVM-垃圾收集器之内存回收
1.前言在JVM内存运行时数据区中程序计数器、虚拟机栈、本地方法栈等三个区域是线程私有的,即线程结束对应的内存就会回收。而方法区和堆则是线程公有的,这部分内存只有在在程序运行期间才会知道创建哪些对象,这部分内存是分配和回收都是动态的,而垃圾收集器所关注的就是这部分内存。2.判断对象是否可回收?堆中存放的几乎都是对象实例,在垃圾收集器对堆回收前需要先判断对象是否已经能够回收。判断对象是否可回...
2019-04-24 21:56:02
213
原创 深入JVM-理解内存溢出
本文通过几个实例来验证JVM运行时数据区发生OutOfMemoryError(OOM)异常的场景,顺便介绍几个内存相关的基本的虚拟机参数。1.
2019-04-10 22:38:33
210
原创 深入JVM-内存管理
1.运行时数据区jvm运行过程中会将所管理的内存根据用途及创建销毁时间分为若干不同的区域,即如下图所示2.内存区域详解2.1.程序计数器
2019-03-13 23:26:39
190
原创 设计模式-访问者模式
1.定义当外部需要访问一个组合系统中所有对象的状态时,可以定义一个访问者类,通过访问者类访问组合系统中所有对象的状态,外部系统只需要对接访问者类即可获取到组合系统中所有对象的状态2.使用场景及设计2.1.使用场景对象结构中对象对应的类很少改变,但经常需要在此对象结构上定义新的操作。需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作"污染"这些对象的类,也不希...
2019-03-09 17:55:16
209
原创 设计模式-原型模式
1.定义通过复制现有的实例来创建新的实例,同时又能保证较高性能。2.使用场景及设计2.1.使用场景创建对象耗时又耗费资源时候可以使用。2.2.设计使用原型模式克隆对象时候又分为浅拷贝和深拷贝。浅拷贝只拷贝目标对象,不拷贝对象的成员属性。深拷贝拷贝目标对象,并且拷贝对象的成员属性3.测试代码此处测试浅拷贝,入口代码package com.glt.designpatter...
2019-03-08 22:45:00
144
原创 设计模式-备忘录模式
1.定义可以使对象可以返回到之前的状态,如撤销操作、或者学习系统上记住之前的学习状态等2.使用场景及设计2.1.使用场景常用在系统中保存用户之前的状态及游戏的存档等。2.2.设计类图如下,其中Memento类用来保存状态,ManageMemento用来存取档,Client为客户端3.测试代码入口代码package com.glt.designpattern.Memento;...
2019-03-07 22:42:32
180
原创 设计模式-中介者模式
1.定义使用中介者对象使其他对象之间相互解耦,每个对象只需要向中介者对象发出请求和接受请求即可2.使用场景及设计2.1.使用场景房屋中介就是最好的例子,房屋中介使每个租客和房东之间相互解耦,都只需要接受中介的消息即可。2.2.设计类图如下:3.测试代码入口代码如下:package com.glt.designpattern.mediator;public class Ini...
2019-03-06 22:32:33
168
原创 设计模式-解释器模式
1.定义给定一个语言,定义它的语法表示,并使用一个解释器来解释语法或表达式2.使用场景及设计2.1.使用场景可以用于sql解析,或者特殊符号处理等2.2.设计此处设计一个and语法解析器,类图如下:3.测试代码package com.glt.designpattern.interpreter;public class InitMain { public static ...
2019-03-05 21:29:39
188
原创 设计模式-蝇量模式/享元模式
1.定义以共享的方式高效的支持大量的细粒度对象,能够减少运行时对象实例的个数,节省内存。主要用于减少对象的创建,以节省内存提高性能。2.使用场景及设计2.1.使用场景系统中需要大量类似的对象。例:需要展示100000个随机生成的坐标及其年龄。2.2.设计创建一个专门展示坐标及其年龄的对象,在使用一个manager类来创建所需要的对象。3.测试代码入口类package com.gl...
2019-03-03 22:45:22
243
原创 设计模式-责任链模式
1.定义将发送者与接收者解耦,为请求创建了一个接收者对象的链,使链上的所有对象都可能处理这个请求2.使用场景2.1.使用场景java中servlet的Filter调用链、struts2拦截器调用链、spring启动流程、队列处理消息日志等3.演示代码3.1.演示流程此处选取struts2的默认拦截器中basic拦截器栈的执行流程来演示此模式,basic拦截器栈内容如下:其中引用的...
2019-03-03 13:31:45
185
原创 设计模式-生成器模式
1.定义封装一个产品的构造过程,并允许按步骤构造2.使用场景及设计2.1.使用场景需要经过多个步骤创建的对象,如实际生活中的点餐流程,管理系统中的导出框架等2.2.简略流程图此处以点餐流程为例3.测试代码3.1.类图3.2.测试代码入口代码package com.glt.designpattern.builder;public class InitMain { ...
2019-02-27 21:45:22
225
原创 设计模式--桥接模式
1.定义使抽象和实现解耦,使之都可以独立扩展不会影响对方2.使用场景及设计2.1.场景现在有十种不同类型的电视,每种电视都有自己的遥控器,电视变化,对应的遥控器也要变化,而且如果新增一种电视型号,就要新增一种对应的遥控器2.2.设计使用桥接模式制作一个抽象tv接口,在抽象出一个RemoteControl遥控器类,使用RemoteControl类关联(桥接)tv接口,将实现予以解耦,而且...
2019-01-29 17:20:18
281
原创 设计模式--状态模式
1.定义允许对象在内部状态改变时改变它的行为,对象看起来好像是修改了它的类。2.类图3.状态模式与策略模式区别状态模式与策略模式拥有相同的类图,都会事先定义好一组类(状态或行为)状态模式会事先定义一组状态执行的顺序,类经过不同的状态时会有不同的行为,即通过状态的改变来控制类的行为策略模式不会预先定义状态转换的顺序,通常是通过组合和委托来拥有不同的行为或算法...
2018-05-30 00:38:55
1329
原创 设计模式--策略模式
1.定义定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于客户。2.类图3.测试代码算法接口(抽象策略类)public interface Strategy { int operate(int a, int b);}加法策略类/** * 加法策略类 */public class AddStrategy impleme...
2018-05-27 23:14:44
219
1
原创 设计模式--模板方法模式
1.定义在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类能够在不改变算法结构的情况下,重新定义算法中的某些步骤。2.模式特点2.1.模式中的几个特点此模式需要有个模板类(抽象类)来定义算法的主体结构,此结构中每一步骤则有子类来提供。模板类中的几个特点如下:模板方法 定义了整体步骤的方法,通常设置为final类型,防止子类重写。原语操作 ...
2018-05-27 14:56:15
288
promtail-linux-amd64.zip(对应loki V1.5.0)
2020-05-22
loki-linux-amd64.zip(v1.5.0)
2020-05-22
mtail_v3.0.0-rc35_linux_amd64
2020-04-14
alertmanager-0.20.0.linux-amd64.tar.gz
2020-03-03
grafana-6.5.3.linux-amd64.tar.gz
2020-02-16
Xftp-6.0.0178p.exe
2020-01-15
Xftp-6.0.0115p
2019-04-21
HDTuneProV5.7汉化版
2018-08-15
h5拖动图片验证码js插件
2018-06-15
hadoop-core-1.2.1-source.jar
2017-08-02
expect-5.43.0.tar.gz
2016-08-10
win10 edge浏览器是怎么判断网站需要用ie打开
2015-09-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人