- 博客(28)
- 收藏
- 关注
原创 搭建基于Prometheus+Alertmanager+Grafana+node_exporter+prometheus-webhook-dingtalk插件 实现监控告警通知
使用 Prometheus 收集监控数据使用 node_exporter 采集主机指标使用 Alertmanager 处理告警并去重、分组使用 prometheus-webhook-dingtalk 将告警发送到钉钉使用 Grafana 进行数据可视化一个监控系统,集成在项目中可以对项目运行的一些情况进行监控,并将监控的数据存储在文件中,并可以通过自带的页面端查询到这些数据。
2025-09-05 17:06:56
1092
原创 RPM和YUM
RPM包的管理 rpm包的简单查询指令 查询已安装的rpm列表 rpm -qa |grep xx 查询所安装的所有rpm软件包 rpm -qa && rpm -qa |more[分页显示] 查询软件包是否安装 rpm -q xx 查询软件包信息 rpm -qi xx 查询软件包中的文件 rpm -ql xx 查询文件所属的软件包 rpm -qf xx ------------------------------------------------- 卸载rpm包
2022-04-11 10:49:48
968
原创 N种内部类
内部类 1.内部类概述 内部类就是在一个类的内部在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。 内部类不是在一个java源文件中编写俩个平行的俩个类,而是在一个类的内部再定义另外一个类。 我们可以把外边的类称为外部类,在其内部编写的类称为内部类。 内部类分为四种: 成员内部类 静态内部类 局部内部类 匿名内部类 2.成员内部类(实例内部类、非静态内部类) 注:成员内部类中不能写静态属性和方法 【定义一个内部类】 //在A类中申明
2022-03-26 18:04:52
176
原创 接口的定义与实现
接口 1.接口的本质 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法) 都有! 接口:只有规范! 2. 接口与抽象类的区别 抽象类也是类,除了可以写抽象方法以及不能直接new对象之外,其他的和普通类没有什么不一样的。接口已经另一种类型了,和类是有本质的区别的,所以不能用类的标准去衡量接口。 声明类的关键字是class,声明接口的关键字是interface 抽象类是用来被继承的,java中的类是单继承。 类A继承了抽象类B,那么类A的对象就属于B类型了,可以使用多态 一个父类的引用,可以指向这个父类的
2022-03-26 18:03:45
1260
原创 static关键字和抽象类
修饰符 static修饰符 1.static变量 在类中,使用static修饰的成员变量,就是静态变量,反之为非静态变量。 静态变量和非静态变量的区别 静态变量属于类的,"可以"使用类名来访问,非静态变量是属于对象的,"必须"使用对象来访问. public class Student{ private static int age; private double score; public static void main(String[] args) { S
2022-03-26 18:02:21
438
原创 类与对象和构造器
创建与初始化对象 使用new关键字创建对象 使用new关键字创建的时候,除了分配内存空间之外,还会给 创建好的对象 进行默认的初始化 以 及对类中构造器的调用。 那么对main方法中的以下代码: Student s = new Student(); 1)为对象分配内存空间,将对象的实例变量自动初始化默认值为0/false/null。(实例变量的隐式赋 值) 2)如果代码中实例变量有显式赋值,那么就将之前的默认值覆盖掉。(之后可以通过例子看到这个现象) 例如:显式赋值 private Str
2022-03-25 10:27:28
167
原创 方法回顾及加深
方法回顾及加深 方法一定是定义在类中的,属于类的成员。 方法的定义 格式: 修饰符 返回类型 方法名(参数列表)异常抛出类型{...} 修饰符 public、static、abstract、final等等都是修饰符,一个方法可以有多个修饰符。例如程序入口 main方法,就使用了public static这个俩个修饰符 注:如果一个方法或者属性有多个修饰符,这多个修饰符是没有先后顺序的 返回类型 方法执行完如果有要返回的数据,那么就要声明返回数据的类型,如果没有返回的数据,那么返回类型就必 须写void
2022-03-25 10:24:05
117
原创 什么是面向对象
面向过程&面向对象 面向过程的思维模式 面向过程的思维模式是简单的线性思维,思考问题首先陷入第一步做什么、第二步做什么的细节中。这种思维模式适合处理简单的事情,比如:上厕所。 如果面对复杂的事情,这种思维模式会陷入令人发疯的状态!比如:如何造神舟十号! 面向对象的思维模式 面向对象的思维模式说白了就是分类思维模式。思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。 这样就可以形成很好的协作分工。比如:设计师分了10个类,然后将10个类交给了
2022-03-25 10:22:41
117
原创 冒泡排序和稀疏数组
常见排序算法 1.冒泡排序 //冒泡排序 /* 1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置 2.每一次比较,都会产生一个最大或者最小的数字; 3.下一轮则可以少一次排序! 4.依次循环,直到结束! */ public class ArrayDemo07 { public static void main(String[] args) { int [] a ={1,2,3,4,5,6};
2022-03-25 10:21:31
109
原创 多维数组和Arrays类
多维数组 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。 多维数组的动态初始化(以二维数组为例) 直接为每一维分配空间,格式如下: type[][] typeName = new type[typeLength1][typeLength2]; type 可以为基本数据类型和复合数据类型,arraylenght1 和 arraylenght2 必须为正整数,arraylenght1 为行数,arraylenght2 为列数。 比如定义一个二维数组: int
2022-03-25 10:15:45
185
原创 什么是数组
数组 什么是数组 数组的定义: 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组的四个基本特点: 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 其元素必须是相同类型,不允许出现混合类型。 数组中的元素可以是任何数据类型,包括基本类型和引用类型。 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本
2022-03-25 10:14:04
22336
原创 什么是方法
方法 什么是方法 在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢? println() 是一个方法。 System 是系统类。 out 是标准输出对象。 这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法println()。 那么什么是方法呢? Java方法是语句的集合,它们在一起执行一个功能。 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 方法的优点 使程
2022-03-25 10:11:12
2089
原创 break & continue
break & continue break关键字 break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。 break 跳出最里层的循环,并且继续执行该循环下面的语句。 【演示:跳出循环】 public static void main(String[] args) { int i = 0; while (i<100){ i++; System.out.println(i); if (i==30){
2022-03-25 10:06:45
186
原创 循环结构。
循环结构 上面选择结构中,我们始终无法让程序一直跑着,我们每次运行就停止了。这在真实环境中肯定是不行的嘛,比如网站服务器,肯定需要24小时全年无消息的跑着,我们需要规定一个程序运行多少次,运行多久,等等。所以按照我们编程是为了解决人的问题的思想,我们是不是得需要有一个结构来搞定这个事情!于是循环结构自然的诞生了! 顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。 Java中有三种主要的循环结构: while 循环 do…while 循环 for 循环 在
2022-03-25 10:04:43
201
原创 选择结构(if和Switch)
选择结构 if单选择结构 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示: if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 意义:if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句。 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print
2022-03-25 10:02:18
947
原创 用户交互Scanner
用户交互Scanner Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。 下面是创建 Scanner 对象的基本语法: Scanner scanner = new Scanner(System.in); 接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获
2022-03-24 19:40:18
135
原创 javaDoc生成文档
JavaDoc 简介 JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了。在简略介绍JavaDoc写法之后,再看一下在Intellij Idea 中如何将代码中的注释生成HTML文档。 javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。javadoc命令是用来生成自己
2022-03-24 19:33:49
540
原创 <包机制>
包机制 包的作用 1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。 2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类 的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可 以避免名字冲突。 3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。 Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接 口、枚举(enumerations)和注释(a
2022-03-24 19:31:01
181
原创 逻辑运算符和位运算符
逻辑运算符 public class Demo05 { public static void main(String[] args) { // 与(and) 或(or) 非(取反) boolean a = true; boolean b = false; System.out.println("a && b:"+(b&&a));//逻辑与运算:两个变量都为真,结果才位true Sys
2022-03-24 19:27:33
96
原创 基本运算符
运算符 Java 语言支持如下运算符: 算术运算符: +,-,*,/,%,++,– 赋值运算符 = 关系运算符: >,<,>=,<=,==,!= instanceof 逻辑运算符: &&,||,! 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!) 条件运算符 ?: 扩展赋值运算符:+=,-=,*=,/= 二元运算符 public static void main(String[] args) {
2022-03-24 19:26:00
106
原创 变量,常量,作用域
变量,常量 1.变量 变量是什么:就是可以变化的量! Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。 变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元 注意事项: 每个变量都有类型,类型可以是基本类型,也可以是引用类型。 2.变量名必须是合法的标识符。 3.变量声明是一条完整的语句,因此每一个声明都必须以分号结束 【演示】 int a, b, c; // 声明三个int型整数:a、 b、c
2022-03-24 19:24:04
272
原创 类型转换。
整型扩展(默认是int) 在我们计算机中存在很多进制问题,十进制,八进制,十六进制等等的问题,他们怎么表示呢? 十进制整数,如:99, -500, 0。 八进制整数,要求以 0 开头,如:015。 十六进制数,要求 0x 或 0X 开头,如:0x15。 演示: int i = 10;//十进制 int i2 = 010; //八进制0 int i3 =0x10; //十六进制0x 浮点型拓展 ( 默认是double) 【金融面试问:银行金融业务用什么类型表示?】 浮点类型flfloat, double的
2022-03-24 19:19:41
294
原创 数据类型讲解
强弱类型语言 说到强类型语言,那什么是强类型语言呢? 强类型语言也称为强类型定义语言。要求变量的使用要严格符合规定,所有变量都必须先定义后才能使 用。 Java、.NET、C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果 不经过转换,那么它就永远是这个数据类型了。 安全性高,运行效率相对较慢,鱼和熊掌不可兼得!强类型定义语言在速度上可能略逊色于弱类型定义 语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。 与其相对应的是弱类型语言。 弱类型语言也称为弱类型定义语言。与强
2022-03-24 11:09:45
372
原创 标识符和关键字
标识符 Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 Java自己定义好的关键字有: 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g545Apwb-1648089422621)(C:\Users\xuhao\AppData\Roaming\Typora\typora-user-images\image-20220310170208733.png)] 这些被Java已经规定的关键字,我们自己就不能拿它当做名字了! 我们自己起名字(标识符)有哪些要
2022-03-24 10:43:20
131
原创 你好啊世界
随便新建一个文件夹,存放代码 新建一个java文件 文件后缀名为.java Hello.java 3.编写代码 public class Hello { public static void main(String[] args) { System.out.println("Hello,world!"); } } 4.编译javac java文件,会生成一个class文件 5.运行class文件,java class文件 可能遇见的情况 每个单词的大小..
2022-02-20 00:30:02
198
原创 JAVA环境安装
JDK:java开发者工具 JRE: java运行时环境 JVM:java虚拟机(模拟cpu ,跨平台) 卸载JDK 删除java的安装目录 删除JAVA_HOME 删除path下关于java的目录 java -version 安装JDK 下载JDK 下载电脑对应版本 安装JDK 记住安装的路径 配置环境变量 1.我的电脑–>右键–>属性 2.环境变量–>JAVA_HOME 3.配置path变量 6.测试JDK是否安装成功: 打开cmd输入java -vers
2022-02-19 23:33:13
308
原创 基本Dos命令
打开CMD的方式 开始+系统+命令提示符 Win键+R 输入cmd打开控制台(推荐使用) 在任意的文件夹下面,按住shift键+鼠标右键点击,在此处打开命令行窗口 资源管理器的地址栏前面加上cmd路径 管理员方式运行:选择以管理员方式运行 常用的Dos命令 #盘符切换 #查看当前目录下的所有文件 dir #切换目录 cd change directory cd .. #清理屏幕 cls (clear screen) #退出终端 exit #查看电脑的ip ipconfig #打开应用
2022-02-19 22:42:20
192
原创 Markdown学习
Markdown学习 标题 三级标题 四级标题 字体 Hello,World Hello,World Hellow,World Hello,World 引用 选择 分割线 图片 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S2kam2KC-1642749689583)(C:\Users\xuhao\Pictures\微信图片_20210103144408.jpg)] 超链接 点击跳转 列表 A B A B 表格 姓名 性别 生日 张
2022-01-21 15:25:38
373
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅