- 博客(73)
- 收藏
- 关注
原创 window版Docker打包镜像并上传到服务器使用
利用jmeter实现自动化进行线上监视,要部署于多台服务器上监视,为了节省时间,方便使用,最终决定使用docker将自动化脚本打包成镜像,这样只要服务器上安装docker环境,直接下载镜像就可以使用,不需要另外安装jmeter等其他环境!
2023-02-02 10:39:58
2528
原创 利用jmeter对接口进行实时监控,报错时发送报警邮件
1.场景:线上会出现接口不下发具体的应用信息,出现这种情况时希望能实现自动发送报警邮件以便于有问题及时关注。2.使用的工具:jmeter。
2023-01-06 19:13:16
1199
4
原创 java--JDBC连接
JDBC(JavaDataBaseConnectivity)就是,Java数据库连接,是一种用于执行SQL语句的JavaAPI,它是由一组用Java编程语言编写的类和接口组成。SUN提供一套访问数据库的规范(就是一组接口),并提供连接数据库的协议标准。JDBC是里面封装着操作各数据库的接口,而JDBC驱动才是接口的实现,没有驱动无法完成数据库连接!ResultSet对象包含了执行查询后满足条件的所有行,提供了对应的访问方法,有一组对应的getXxx方法获取指定列的值。......
2022-07-15 17:20:15
1834
原创 java-序列化
序列化:把创建出来的对象(new出来的对象),以及对象中的成员变量的数据转化为字节数据,写到流中,然后存储到硬盘的文件中。 反序列化:可以把序列化后的对象(硬盘上的文件中的对象数据),读取到内存中,然后就可以直接使用对象。这样做的好处是不用再一次创建对象了,直接反序列化就可以了。 要实现Java对象的序列化,只要将类实现标识接口——Serializable接口即可,不需要我们重写任何方法就可以实现序列化。构造函数:总结:通过构造函数可以看出序列化对象和反序列化对象都不具备读写能力,分别依赖的是FileOut
2022-07-07 16:20:05
246
原创 Java-Scanner用法
Scanner是一个专门进行输入流处理的程序类,这个类可以方便处理各种数据类型。Scanner类的主要的方法有范例:1.2第二种使用方法:Scanner从文件种读取数据范例:1.3从web读取数据可以从文件种读取也可以从web服务器中读取:URL:统一资源定位器,web文件的唯一地址创建URL对象以后,使用URL类的openStream()方法获得输入流,使用这个输入流产生Scanner对象,如下通过reader顺序读,获得资源中的文本数据。范例:2.next和nextLine
2022-06-30 15:34:16
10292
原创 Java--IO流
在整个Java.io包中最重要的就是五个类:File,OutputStream,IntputStream,Reader,Writer一个接口:Serializable主要的类如下:1. File(文件特征与管理):用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等。2. InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有输入流的父类。定义了所有输入流都具有的共同特征。3. OutputStream(二进制格式操作):抽象类。基于字节的输出操作。是所
2022-06-27 16:21:39
361
原创 volatile关键字
当声明共享变量为volatile后,对这个变量的读/写将会很特别。那么它到底起着怎样的作用呢?一、可见性可见性指的是线程之间的可见性,一个线程修改的状态对另外一个线程是可见的可见性指的是线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是一个线程对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入。其实之所以要保证可见性,主要与Java的内存模型有关。内存模型每个线程在执行的时候,会从主内存中拷贝一份到自己的本地内存,线程操作的时候是操作自
2022-04-29 10:57:08
858
原创 Java线程池
1.什么是线程池,为什么要使用线程池1.创建线程要花费昂贵的资源和时间,如果任务来了才创建线程,响应时间会变长,而且如果在一个jvm里创建太多的线程,可能会使系统由于过度消耗内存或“切换过度”而导致系统资源不足,为了避免这些问题,在程序启动的时间就创建若干线程来响应处理,他们被称为线程池,从JDK1.5 开始,Java API 提供了 Executor 框架让你可以创建不同的线程池。2.线程池主要用来解决线程生命周期开销问题和资源不足问题。通过对多个任务重复使用线程,线程创建的开销就被分摊到了多个任
2022-03-28 18:29:21
518
原创 Java之线程同步synchronized和Lock锁
目录1.为什么需要线程同步?2.同步处理2.1synchronized处理同步问题2.1.1.同步方法---对象锁2.1.2.同步代码块---对象锁2.1.3.static的synchronized方法---类锁2.2Lock锁3.俩个重要问题:1.对象锁和类锁的区别2.Lock锁和synchronized的区别1.为什么需要线程同步?观察以下代码的结果:class MyThread implements Runnable { pr
2022-03-25 18:19:27
2087
原创 Java多线程的介绍
目录1.进程和线程1.1.进程和线程的概念1.2线程的状态2.Java多线程的实现2.1.实现多线程的三种方式:2.2实现Runnable接口的俩种方式3.多线程的常用操作方法:3.1线程命名与取得3.2线程方法的介绍1.进程和线程1.1.进程和线程的概念进程:操作系统中一个程序的执行周期为一个进程。线程:一个程序同时执行多个任务。每个任务就相当于一个线程。二者之间的联系和区别:联系:没有进程就没有线程,进程一旦终止,其他线程也不复存在。区
2022-03-25 17:10:23
714
原创 Java之ClassLoader类加载器
Class类描述的是整个类的信息,在Class类中提供的forName()方法,这个方法根据ClassPath配置的路径进行类的 加载,如果说现在你的类的加载路径可能是网络、文件,这个时候就必须实现类加载器,也就是ClassLoader类的 主要作用。...
2022-03-07 17:44:34
630
原创 Java之反射
1.什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2.Class类对象的三种实例化模式在默认情况下我们是根据包名.类名找到类。而反射是根据对象来取得对象的信息来源。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Clas....
2022-03-02 19:49:05
42684
原创 java三大新特性之-泛型(2)
接着上一篇继续讲泛型相关的知识:java三大新特性之-泛型(1)_柠檬精-CSDN博1.为什么会出现泛型?从JDK1.5以后引入三大常用新特性:泛型,枚举,注解,其中泛型是一件非常主要的实现技术,他可以帮助我们解决程序的参数转换问题。2.泛型解决的问题假设需要你定义一个描述坐标的程序类Point,需要提供两个属性x、y。对于这两个属性的内容可能有如下选择:1. x = 10、y = 20 ;2. x = 10.1、y = 20.1 ;3. x = 东经80度、y = 北纬20度那么现在首先要解决的问题就是P
2022-02-23 11:40:33
492
原创 java三大新特性之-泛型(1)
1.为什么会出现泛型?从JDK1.5以后引入三大常用新特性:泛型,枚举,注解,其中泛型是一件非常主要的实现技术,他可以帮助我们解决程序的参数转换问题。2.泛型解决的问题假设需要你定义一个描述坐标的程序类Point,需要提供两个属性x、y。对于这两个属性的内容可能有如下选择:1. x = 10、y = 20 ;2. x = 10.1、y = 20.1 ;3. x = 东经80度、y = 北纬20度那么现在首先要解决的问题就是Point类中的x、y的属性类型问题,此时需要保存的有in
2022-02-22 17:52:17
545
原创 java的三大新特性之枚举
1.什么是枚举:枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类.2.枚举的特点:实际枚举就是一种多例设计模式。所以首先要认识枚举,需要知道多例设计模式的特点:构造方法私有化,类内部需要提供若干个实例化对象,后面通 过statica方法返回。3.声明枚举变量enum Color { RED,YELLO,GREED}public class
2022-01-05 18:13:51
418
原创 java异常与捕获
几乎所有的代码里面都会出现异常,为了保证程序出现异常之后可以正常执行完毕,就需要进行异常处理了。1.为什么需要异常处理如果程序中产生了异常,但是在异常之前的语句可以正常执行完毕,而在异常产生之后程序直接进行结束,为了保证程序出现异常后还可以继续向下执行,就需要议程处理2.异常的结构及介绍异常的继承类结构:所有的异常都是由Throwable继承而来,来看他下面的两个子类Error和Exception. 1.Error类描述了Java运行时内部错误和资源耗尽错误。应用程序不抛出...
2021-12-27 15:35:33
439
原创 java-包装类
包装类详解介绍:包装类_你今天真好看-CSDN博客_类的包装Integer num1 = new Integer(10) ;Integer num2 = new Integer(10) ;System.out.println(num1 == num2);System.out.println(num1 == new Integer(10));System.out.println(num1.equals(new Integer(10)));主要注意点::对于 于 Integer va..
2021-12-15 17:19:43
172
原创 StringBuffer类相关知识
首先来回顾下String类的特点:任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指 向而已。 通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffer类。String中使用"+"来进行字符串连接,但是这个操作在StringBuffer类中需要更改为append()方法实例:public class Test{public static void
2021-12-13 16:49:36
344
原创 String类的相关知识
1.首先String类的俩种实例化方式:直接赋值String str = "Hello World" ; // str是一个对象,那么"Hello World" 就应该保存在堆内存中使用关键字new:String str = new String("Hello World") ; //使用关键字new进行对象实例化 请解释String类中两种对象实例化的区别1. 直接赋值:只会开辟一块堆内存空间,并且该字符串对象可以自动保存在对象池中以供下次使用。2. 构造方法:会开辟两块
2021-12-13 16:03:59
368
原创 单例模式:饿汉模式+懒汉模式
什么是单例模式:一个类只允许产生一个实例化对象特点:构造方法私有化,外部无法产生新的实例化对象,只能通过static方法取得对象实例化首先构造方法私有化就外部无法产生新的实例化对象,所以就只能在类的内部进行实例化private Singleton singleton=new Singleton();但是此时singleton对象是一个普通的属性,所有的普通属性必须要在实例化对象的时候再能进行内存空间的分配,而现在外部是无法进行实例化对象的,所以必须想一个办法,可以在Singleto...
2021-11-23 15:53:56
429
原创 java中private,default,protected,public 访问控制权限
四种访问控制权限 :private<default<protected<public对于public永远都可以访问,对于封装性而言主要是private、default、protected权限。
2021-11-23 14:33:41
1397
原创 java中抽象类和接口的区别总结
1.组成不同抽象类:是由普通类和抽象方法组成接口:抽象方法和全局常量组成2.子类使用的关键字不同抽象类:使用extends关键字继承抽象类接口:使用implements关键字实现接口3.关系抽象类:一个抽象类可以实现若干接口接口:接口不能继承抽象类,但是接口可以使用extends关键字继承多个父接口4.子类限制:抽象类:一个子类只能继承一个抽象类接口:一个子类可以实现多个接口...
2021-11-23 14:24:41
243
原创 java中接口的介绍
目录接口的定义:接口的特点:注意点:代码示例:接口的定义:接口就是一个抽象方法和全局常量的集合,在Java中接口使用interface关键字定义接口的特点:接口可以实现多继承,对于接口的子类必须要覆写接口中的全部抽象方法,然后利用子类向上转型来通过实例化子类来得到接口的实例化对象(转型问题可以看上一篇博客介绍)注意点:接口中只允许public权限。(不管是属性还是方法,其权限都是public,接口中的方法和属性可以不加任何修饰符号) 当一个子类即需要实现接口又需要继
2021-11-19 16:17:59
324
原创 java中的向上转型和向下转型介绍
前提介绍:java的三大特性为:继承,封装,多态。多态的定义:同一个行为具有不同的表现形式多态主要表现为以下俩点:方法多态性: 是重载和重写,博客有详细介绍,不过于多介绍对象多态性: 对象的向上转型::父类 父类对象 = 子类实例 对象的向下转型:子类 子类对象 = (子类)父类实例主要详细讲解向上转型和向下转型转型的前提:要继承,方法重写向上转型:核心本质:使用的是哪一个子类(new在哪里),而且调用的方法...
2021-11-19 14:37:07
685
原创 java中抽象类的介绍
抽象类的定义和使用:定义: 抽象类只是在普通类的基础上扩充一些抽象方法而已,所谓的抽象方法指的是只声明而未实现的方法----用abstract关键字定义 使用原则:1.抽象类必须要有子类 2.抽象类中如果有抽象方法,抽象方法没有方法体,子类必须复写所有的抽象方法 3.抽象类的对象可以通过对象多态性利用子类为其实例化 4.finall,private,static和abstract不能够同时使用扩展:为什么finall,private,static和abstract不能够同时使用?
2021-11-19 11:32:46
541
原创 java中代码块的执行顺序
执行顺序:父类静态代码块(只执行一次,并且是在main之前执行)>子类静态代码块>父类构造块>父类构造方法>子类构造块>子类构造方法//构造块就是非静态代码块//执行顺序:父类静态代码块(只执行一次,并且是在main之前执行)>子类静态代码块>父类构造块>父类构造方法>子类构造块>子类构造方法class Person2{ public int age; public String name; pu
2021-11-18 16:08:50
2135
原创 java中的static关键字
1.static变量1 static变量--类属性(静态属性)static属性称为类属性,保存在全局数据区中(方法区--所有对象共享区域)被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来(与对象实例化无关)2:static方法-类方法(静态方法)被static修饰的方法属于类方法,可以通过类名.方法名直接引用,而不需要new出一个类来(与对象实例化无关)在Java中static不能用于方法中,也就是局部变量不能用static修饰stati
2021-11-18 15:58:02
277
原创 Java中super关键字
super关键字 a.super用于方法 ①用于构造方法(********):表示调用父类构造方法 super(参数列表) 当子类调用父类无参构造时,supre()可写可不写,表示调用父类无参构造 当子类调用父类有参构造时,super(参数列表),必须要写,要告诉编译器当前调用的是哪一个参数列表。 注意:1. 子类构造方法中调用父类构造必须是第一行语句。 2.this和super不...
2021-11-18 15:56:24
154
原创 java中final关键字
final关键字被final修饰的类不能被子类继承 被final修饰的方法,该方法不能被重写 被final修饰的变量相当于一个常量,不可改变,只能赋值一次 String就是一个被final修饰的类,我们只能用不能继承以下是final修饰方法的一个实例:class A{ public final void test() { System.out.println("11"); }}class B extends A{ ...
2021-11-18 15:53:57
221
原创 java中this关键字
1.static变量1 static变量--类属性(静态属性)static属性称为类属性,保存在全局数据区中(方法区--所有对象共享区域),通过类名调用,与对象实例化无关。描述*共享属性使用static属性(1%)2:static方法-类方法(静态方法)通过类名调用,与对象实例化无关。常见于*工具类方法Person.fun();在Java中static不能用于方法中,也就是局部变量不能用static修饰static修饰全局变量时,默认值为0;结论:static与pri
2021-11-18 14:50:24
656
原创 java中getter和setter方法的使用
使用了private对属性进行了封装,要访问私有属性,按照java的设计原则必须提供以下两种方法:1. setter方法:主要用于进行属性内容的设置与修改2. getter方法:主要用于属性内容的取得private实现封装的最大特征在于:只允许本类访问,而不允许外部类访问。class Person{ private int age; private String name; public void setName(String n) { ...
2021-11-18 10:36:35
12629
1
原创 关系型数据库和非关系型数据库的区别
首先介绍一下什么是关系型数据库关系型数据库就是有二维表格组成,就比如我们常用的mysql数据库,用select语句查询,你会发现结果是以表格形式展示优点: (1).方便操作:使用SQL语句进行查询, 并可以在一个表以及多个表之间做非常复杂的数据查询。 (2).易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率 (3).安全性高:关系型数据库---数据库事务必须具备ACID特性(ACID是Atomic原子性,Co...
2021-08-19 16:10:37
244
原创 使用python读取json字符串,对应的value值以列表的形式输出
json字符串{ "total":527, "items":[ { "id":1, "appName":"抖音", "packageName":"com.ss.android.ugc.aweme", "categoryId":9, "createTime":"2021-07-20 ...
2021-08-16 12:02:07
4324
原创 使用python实现俩个csv文件内容对比
背景:实现一个csv文件内容对比的脚本,输入相同的数据总数,以及输出不相同的数据前期准备:data_detail.csv的数据11条2021-06-02,我好,1782,12,others,others,12102,7224,1486,327.72,21%,45.372021-06-02,你好,1782,24,others,others,8109,4041,782,180.97,19%,44.782021-06-02,他好,1782,294,others,others,7278,435..
2021-08-16 11:07:38
6017
3
原创 12.和为s得俩个数
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。返回值描述:对应每个测试案例,输出两个数,小的先输出。示例1输入复制[1,2,4,7,11,15],15返回值复制[4,11]import java.util.ArrayList;public class Solution { public ArrayList<Integer> FindNumber
2021-05-10 16:08:45
126
1
原创 11.数组中只出现一次得俩个数字
题目描述一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。示例1输入复制[1,4,1,6]返回值复制[4,6]说明返回的结果中较小的数排在前面 import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param ar.
2021-05-10 16:05:11
121
原创 10.链表中倒数第k个值
题目描述输入一个链表,输出该链表中倒数第k个结点。如果该链表长度小于k,请返回空。示例1输入复制{1,2,3,4,5},1 返回值复制{5}import java.util.*;/* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * } * } */
2021-05-08 18:29:25
114
原创 9.调整数组顺序,奇数位于偶数前
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。示例1输入复制[1,2,3,4]返回值复制[1,3,2,4]示例2输入复制[2,4,6,5,7]返回值复制[5,7,2,4,6]import java.util.*;public class Solution { /** * 代码...
2021-05-08 18:08:36
104
原创 8.数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任一一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1示例1输入复制[2,3,1,0,2,5,3]返回值复制2或3代码import java.util.*;public class Solution { /**
2021-05-08 17:03:43
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人