基本数据类型对应的包装类
基本数据类型
包装类
大小(字节)
byte
Byte
1–(-128~127)
short
Short
2–(-32768~32767)
int
Integer
4
long
Long
8
float
Float
4
double
Double
8
char
Character
2
boolean
Boolean
1
包装类方法
Integer的作用主要是对int、Integer、String几种类型的数据进行转换,还能获取一些常量
方法
描述
compareTo()
用于将对象与方法的参数进行比较(相同类型)
decode()
将方法的参数转为包装类对象
equals()
判断对象是否与参数相等
Integer.parseInt(“字符串’)
将字符串转为Int类型
Integer.toString(int数据)
将Int类型转为字符串
compareTo()方法
如果指定的数与参数相等返回 0。
如果指定的数小于参数返回 -1。
如果指定的数大于参数返回 1。
抽象类使用abstract修饰一个类,把这个类变成抽象类,抽象类不能直接创建对象,需要其他类进行继承该抽象类
抽象方法不能有方法体
抽象方法必须使用abstract进行修饰,不能有方法体
子类必须实现父抽象类的方法1234567891011121314151617181920public abstract class Ahsse { String name; int age; //普通方法 public String aaa(){ return name; }; // 抽象方法 public abstract String bbb();}class sss extends Ahsse{ @Override public String bbb() { System.out.println("实现抽象类的抽象方法"); return "ces "; }} ...
字符串的方法
方法
描述
str.concat()
将参数拼接到字符串上
trim()
去除字符串两端的字符串,不能去除中间
replace(oldChar, newChar)
将字符串的old参数替换为new参数
length()
返回此字符串的长度
isEmpty()
判断字符串是否为空
concat()方法
返回字符串类型
字符串在后面拼接123String str = "床前明月光";String str1 = str.concat("疑是地上霜。");System.out.println(str1);
trim()方法123String str = " 床 前明 月光 ";String str1 = str.trim();System.out.println(str1);
replace(oldChar, newChar)方法123String str = "床前明月光";String str1 = str.replace("床" ...
继承继承是相对于类来说,通过关键字extends来实现
可以获取父类的属性和方法
提高代码的复用性
父类修改了内容,子类也会修改
调用父类的属性和方法
this表示当前对象的引用
super表示父类对象的引用
调用构造方法
this(参数列表)表示调用当前类中的构造方法
super(参数列表)表示调用父类的构造方法,必须放在方法中的第一行
调用属性
this.属性表示调用当前对象的属性
super.属性表示调用父类的属性,可以拿到被重写之前的数据
调用方法
this.方法表示调用当前对象的方法
super.方法表示调用父类的方法,可以拿到被重写之前的方法,不用放在代码的第一行
重写重写是子类可以重写父类的方法,使用override标识
方法名和参数不变,只修改方法体
访问权限不能比父类的范围更小
私有的方法能被子类继承,但不能使用和重写
静态的方法能被子类继承,能使用但不能被重写 123456789101112131415public class testeass { public void aa(String name, int age) ...
拉取prometheus镜像1docker pull prom/prometheus
创建prometheus容器并启动1docker run -itd --name=docker_prometheus --restart=always -p 3090:9090 -v /opt/prometheus:/ prom/prometheus
验证
通过浏览器访问http://ip:3090进行访问
方法一:服务器上直接安装node_export首先,用浏览器访问:node_export 下载,然后上传到被监控的服务器并解压进入解压文件夹,直接启动./node_exporter
方法二:拉取docker node_export镜像1docker pull prom/node-exporter
创建node_export容器并启动1234567docker run -itd --name=node-exporter \ --restart=always \ -p 9100:9100 \ -v "/proc:/host/proc:ro" \ -v "/s ...
作用限制整个运行过程中的生成的吞吐量不要超过某一个值,防止压死系统
参数
Target throughput(in samples per minute):目标吞吐量,指的是每分钟发送的请求数,对应测试要求的20 QPS,这里应该输入1200
Calculate Throughput based on:有5个选项
This Thread only:控制每个线程的吞吐量,这个模式的作用是:总的吞吐量=Target throughput * 线程的数量
All active threads:设置的Target throughput将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理时间后再次运行。活跃线程指的是同一时刻同时运行的线程
All active threads in current thread group:设置的`Target throughput将分配在当前线程祖的每一个活跃线程上,当测试计划只有一个线程组,这个模式作用和All active threads一样
All active threads(shared):与All active threads选项 ...
作用生成随机等待时间
参数
Deviation(in milliseconds) :高斯定时器参数,随机的
Constant Delay Offset(in milliseconds):固定等待时长
生成的时长是Deviation + Constant Delay Offset
正则表达式规则
():括起来的部分是要提取的
.:匹配任何字符串
+:一次或多次
?:在找到第一个匹配项后停止
模板用$$引用起来,如果正则表达式中有多个正则表达式,可以是$3$$2$等,表示解析到的第几个值给title,$1$表示第一个
匹配数字0代表随机,1代表全部取值,通常使用0
缺省值若参数没有取到值,那默认给一个值让他取
工具教程
未读关键字:
**log**:写入信息到jmeterlog文件,使用方法:log.info(*Thisisloginfo
**ctx**:该变量引用了当前线程的上下文,使用方法可参考:org.apache.imeter.threads.JMeterContext。
vars-(JMeterVariables):操作imeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁, 常用方法:
a)vars.get(Stringkey):从imeter中获得变量值
b)vars.put(Stringkey,Stringvalue):数据存到imeter变量中 更多方法可参考:org.apache.imeter.threads.JMeterVariables
props-(JMeterProperties-classjava.util.Properties):操作imeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一 ...
前提
安装插件,下载Custom Thread Groupsan插件
添加Arrivals Thread Group
配置
Target Rate (arrivals/sec) : 相当于QPS, 输入10就是10QPS
Ramp Up Time (sec) : 在多少秒内达到最大的QPS,4代表在4秒内获得最大的QPS
Ramp-Up Steps Count : 代表并发数,4代表实现4次的并发
Hold Target Rate Time (sec) : 对系统压多长时间就输入多长时间 ,10代表压上10s
Concurrency Limit : 最大启动多少线程,100代表最多启动100线程