- 博客(41)
- 收藏
- 关注
原创 python 基础
正在上传…重新上传取消"""hello python""" #支持换行'''hello python''' #支持换行data = [ 1, 2, 3, "root","北京",True]data1 = [11,22,33,44,44] # 列表data3 = (11,22,33,44,44) # 元组info = { "k1":123, "name":"极光", "age":18 }下面就介绍用python发邮件,然后再由此引出函数编程。邮件提醒是自动化测试必备知识注册邮箱。
2023-05-23 07:58:53 756
原创 多线程高级(线程状态、线程池、volatile、原子性、并发工具)
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程状态被定义在了java.lang.Thread.State枚举类中,State枚举类的源码如下:/* 新建 */NEW ,/* 可运行状态 */RUNNABLE ,/* 阻塞状态 */BLOCKED ,/* 无限等待状态 */WAITING ,/* 计时等待 *//* 终止 */
2023-01-05 21:25:35 1393
原创 JAVA 多线程
概述生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻。所谓生产者消费者问题,实际上主要是包含了两类线程:一类是生产者线程用于生产数据一类是消费者线程用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为Object类的等待和唤醒方法方法名说明。
2022-12-26 20:52:02 371
原创 IO流(字符流)
可以用来表示Unicode标准中任意字符,它是电子邮件、网页及其他存储或传送文字的应用 中,优先采用的编码。BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可以指定缓冲区大小,或者可以接受默认大小。BufferedReader:从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取,可以指定缓冲区大小,或者可以使用默认大小。这种机制就是使用一个字节序列表示一个对象,该字节序列包含:对象的类型、对象的数据和对象中存储的属性等信息。
2022-12-25 11:14:18 270
原创 Map HasNap 集合Strem流
HashMap底层是哈希表结构的依赖hashCode方法和equals方法保证键的唯一如果键要存储的是自定义对象,需要重写hashCode和equals方法TreeMap底层是红黑树结构依赖自然排序或者比较器排序,对键进行排序如果键存储的是自定义对象,需要实 现C omparable接口或者在创建TreeMap对象时候给出比较器排序规则。
2022-12-22 10:30:25 274
原创 Mysql 数据库高级
事务简介数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同时成功,要么同时失败事务是一个不可分割的工作逻辑单元。
2022-12-18 17:03:29 67
原创 集合(高阶)
boolean hasNext(): 判断当前位置是否有元素可以被取出 E next(): 获取当前位置的元素。aaa node = Node(null,aaa,null ) a 的节点信息 就是 null aaa null。而重写hashCode()方法,可以实现让不同对象的哈希值相同。Iterator iterator(): 返回此集合中元素的迭代器。if (student.getName().equals("张三")){如果返回值为负数,表示当前存入的元素是较小值,存左边。
2022-12-12 21:53:49 104
原创 常用API & 异常
Ctrl Alt T 选中后 快速生成 循环System类的常用方法 2.3 Object类的toString方法(应用)Object类概述 Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类, 换句话说,该类所具备的方法,所有类都会有一份 查看方法源码的方式 选中方法,按下Ctrl + B重写toString方法的方式 alt +7 选中某个类可以看具体有哪些方法。cttl +
2022-12-06 23:09:40 205
原创 面向对象高阶(接口-多态)
1.5接口的成员特点(记忆) 只能是常量 默认修饰符:public static fifinal 只能是抽象方法 默认修饰符:public abstract 关于接口中的方法,JDK8和JDK9中有一些新特性,后面再讲解 1.6类和接口的关系(记忆) 接口与接口多继承, 如果有同名默认方法,继承者则需要重写该方法。 多态的前提 父类引用指向子类对象就是向上转型 通俗的理解:判断关键字左边的变量,是否是右边的类型,返回bool
2022-12-03 20:40:58 264
原创 Git 学习
分支由每次提交的代码,串成的一条时间线使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线分支的使用场景1.周期较长的模块开发假设你准备开发一个新功能,但是需要一个月才能完成 第一周写了20%的代码,突然发现原来已经写好的功能出现了一个严重的Bug 那现在就需要放下手中的新功能,去修复Bug 但这20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。2.尝试性的模块开发业务人员给我们提出了一个需求,经过我们的思考和分析该需求应该可以使用技术手段进行实现。
2022-11-29 20:00:27 66
原创 JAVA--集合基础
修改,是对list Student 对象集合进行修改,因为元素都是对象,所以修改的时候需要输入修改的信息后,再次调用学生类生成对象,最后通过集合set方法进行修改;创建一个存储Sting 的集合,内部存储(test,张三,李四,test.test)字符串。需求:定义一个方法,方法接受一个集合对象(student),方法的内部将年龄低于18的学生对象找出来。新增,录入sid的时候需要调用查看索引的方法,如果索引存在,则提示账户已存在;传入的sid调用看索引的方法, 索引值不为-1,则进行修改,删除;
2022-11-28 21:08:37 706
原创 JAVA - API
什么是APi应用程序编程接口java中的API指的就是 JDK中提供的各种功能的Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。
2022-11-27 22:16:28 109
原创 JAVA 类与对象(基础)
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐信息的操 作和访问 成员变量private。成员变量(类中方法外)局部变量(方法内部或方法声明上(形参))行为:指事物能执行的操作,例如:手机事物(打电话,发短信)属性:指事物的特征,例如:手机事物(品牌,价格,尺寸)是一个修饰符,可以用来修饰成员(成员变量,成员方法)是面向对象三大特征之一(封装,继承,多态)修饰的变量指的是形参,而不是成员变量。方法,用于获取成员变量的值,方法用。方法,用于设置成员变量的值,方法用。
2022-11-25 20:52:17 183
原创 性能测试案例
在最后一行添加在文件末尾,添加以下参数保存文件,执行以下命令让修改生效TCP的三次握手和四次挥手三次握手:客户端和服务端建立链接时,要进行三次握手四次挥手:客户端和服务端断开链接时,要进行四次挥手默认会持续2分钟左右,如果再次期间,没有产生新的tcp请求,链接才会彻底断开。每个tcp链接要占用服务器一个端口,服务端端口号固定是65535,如果老的tcp链接没有快速释放,会造成端口号不足,新的tcp链接没有办法申请端口。多线程模式下的数据安全问题。
2022-11-20 11:40:36 991
原创 JVM 内存溢出
• -XX:SurvivorRatio=8:年轻带中Eden区和Survivor区的比例,默认为8:1,即Eden(8),– 类的一些信息,如类名、访问修饰符、字段描述、方法描述等,所占空间大于永久代最大。4、找到某些怀疑的类后,找开发一起看代码,看看代码中哪些地方创建了这个类。1、找跟业务类有关的对象(一般是以com/cn开头)2、或者第三方框架相关的对象(一般是以org*)[C :代表的是Char[][B :代表的是Byte[][I :代表的是Int[]
2022-11-19 20:13:22 1132
原创 JVM 原理:
jvm:Java虚拟机,是一个提供Java代码运行的虚拟环境,每一个Java程序在运行时,都有自己的一个jvmJava核心3大区域:栈内存、堆内存、方法区(永久代)
2022-11-19 20:07:45 129
原创 Redis 数据库
◼Redis是一个开源的、基于C语言开发的内存数据库◼Redis是一种key-value存储系统,支持数据类型包括String、List、Set、Hash等◼Redis是当前最热门的NO-SQL系统之一◼Redis提供了多种语言的API◼性能非常高,单节点TPS可达10w◼支持持久化。
2022-11-16 21:39:25 207
原创 环境部署(物理手工部署):
1、找开发了解下项目使用的一些组件,比如说jdk、数据库、缓存、中间件2、搭建这些依赖组件的环境:jdk、mysql、tomcat3、将项目需要用到的数据库sql导入到数据库里4、把项目包传到tomcat的目录下5、修改项目包中的配置文件,配置数据库相关的信息(ip、端口、用户名、密码、库名)6、启动tomcat1、 将群文件中的 mysql-community-5.7-all.zip 文件上传到 Linux 下的/usr/local/src 目录下(其他目录也可以)2、 对压缩包进行解压u
2022-11-16 21:28:31 1204
原创 jmeter 在Linux 环境实现。
测试计划处定义的变量是全局变量,每个线程组都可以使用。3、线程组中的每个线程,都是从上往下按照一个顺序去执行请求,完成一轮循环后,会继续进行下一轮的循环,一直到设置的循环次数或者是设置的循环时间到了。7,在主jmeter的机器上,执行jmeter -n -t pinter.jmx -l result.jtl -r(示例,具体目录和路径自定义)6,在主jmeter的bin目录下,修改jmeter.properties,将其中的remote_hosts修改为作为压力机的两台机器ip,
2022-11-14 00:49:36 1868
原创 jmeter - 各类型接口及beanshell
2、客户端在调用tcp接口时,必须配置接口返回数据的最后一个字符,作为传输结束的标识符。客户端接受到服务端返回数据时,如果最后一个字符和配置的标识符相一致,则认为服务端数据传输完毕,关闭链接,否则,就会一直等待。如果采用HTTP协议,为了保证实时性,只能使用客户端轮询的策略来实现,这种策略会对服务器产生很大的压力。1、调用tcp接口时,只需要配置接口的ip和端口号即可,不需要url和路径。一种安全可靠的协议,很多其他协议,比如HTTP,底层使用的就是TCP。
2022-11-12 23:37:11 838
原创 HTTP协议接口
HTTP数据包根据Http协议的要求,无论是客户端发起的请求,还是服务端返回的响应,传输的数据都是以数据包的形式进行通信。一个数据包可以分为两部分:头(header )和身体(body)
2022-11-10 20:22:37 1682
原创 Flask 请求上下文、应用上下文
将请求相关的数据environ封装到了RequestContext对象中。# ctx.request # Request对象(封装请求相关东西)# 再讲对象封装到local中(每个线程/每个协程独立空间存储)都会执行相应LocalProxy对象的 __str__# app_ctx = AppContext对象。# ctx.app # 当前APP的名称。# ctx.session # 空。1. 请求到来 ,有人来访问。3. 终止,全部pop。
2022-11-09 17:10:45 230
原创 Flask 路由系统
return '公司老首页'return '公司新首页'return '登录'return '登录'PS: hosts文件。
2022-11-08 19:21:50 114
原创 Falsk——数据库连接池
如:0 = None = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed 执行query前检测 , 7 = always 一直检测 一般用4和7。maxshared=3, # 链接池中最多共享的链接数量,0和None表示全部共享。mincached=2, # 初始化时,链接池中至少创建的空闲的链接,0表示不创建。
2022-11-08 19:17:02 436
原创 flask - app.__call 调用原理(上下文)
会执行request_content方法 ,其实是个返回了一个RequestContext 类, 进行实例化后,执行Inint 的初始,再调用Request 类;只要执行 request 就会执行LocalProxy中 _get_current_object的 def _lookup_req_object(name) 函数。3、auto_pop() ——pop() —— LocalStack()的pop。__call__ —— request_context ——Request 类。
2022-11-08 18:25:09 358
原创 flask - 配置文件
需要在项目根目录下创建一个settings.py 文件,写一个class Config 基础类,将基本的配置参数写入,再写几个其他环境的config类,继承class Config 基础类,如果配置参数有改动,则重写;app 程序执行文件调用配置文件。
2022-11-07 23:24:37 171
原创 一 Flask学习(基础)
1:{'name':'张桂坤','age':18,'gender':'男','text':"当眼泪掉下来的时候,是真的累了, 其实人生就是这样: 你有你的烦,我有我的难,人人都有无声的泪,人人都有难言的苦。2:{'name':'主城','age':28,'gender':'男','text':"高中的时候有一个同学家里穷,每顿饭都是膜膜加点水,有时候吃点咸菜,我们六科老师每天下课都叫他去办公室回答问题背诵课文,然后说太晚啦一起吃个饭,后来他考上了人大,拿到通知书的时候给每个老师磕了一个头"},
2022-11-05 16:31:06 574
原创 面向对象(继承,多态,单态,魔术方法)
obj2.property = "喜欢看lol,dnf,wow,跑跑卡丁车,ddo,霸王大陆,澄海3c"property = "风流倜傥,才华横溢,玉树临风,才高八斗,学富五车,英姿洒窗"property = "倾国倾城,貌美如花,沉鱼落雁,闭月羞花,婀娜多姿,前凸后翘"property = "风流倜傥,才华横溢,玉树临风,才高八斗,学富五车,英姿洒窗"property = "倾国倾城,貌美如花,沉鱼落雁,闭月羞花,婀娜多姿,前凸后翘"print("蹦野迪,社会摇,打麻将,网红勾引小鲜肉")
2022-10-31 21:16:53 109
原创 随机模块1
lst = ["孙凯喜","王永飞","于朝志","须臾间","含税小"]tup = ("孙凯喜","王永飞","于朝志","须臾间","含税小")lst = ["孙凯喜","王永飞","于朝志","须臾间","含税小"]#randint() 随机产生指定范围内的随机整数 (了解)#choice() 随机获取序列中的值(多选一) **# 验证码里面有大写字母 65 ~ 90。# 小写字母 97 ~ 122。# 数字 0 ~ 9。# ### 验证码效果。# ### 随机模块。
2022-10-28 18:01:11 86
原创 内置函数:
tup = ( ("赵万里",100) , ("赵沈阳",101) , ("孟凡伟",99) )dic = {"赵万里":100,"赵沈阳":200,"孟凡伟":-5000}# strvar = "a=3" error eval的局限性 不能创建变量。"""如果是三个参数,前两个运算的结果和第三个参数取余""""""奇进偶不进 n.5的情况特定发生;# hex 将10进制数据转化为16进制。print("文件校验成功")print("文件校验失败")res = input("输入内容")
2022-10-28 17:50:05 269
原创 高阶函数()
"""# (1) 把列表中的元素都变成整型# 用map改写"""代码解析:第一次调用迭代器先把列表中的第一个元素"1"拿出来扔到int中做强转,变成整型1返回出来第二次调用迭代器先把列表中的第一个元素"2"拿出来扔到int中做强转,变成整型2返回出来第三次调用迭代器先把列表中的第一个元素"3"拿出来扔到int中做强转,变成整型3返回出来第四次调用迭代器先把列表中的第一个元素"4"拿出来扔到int中做强转,变成整型4返回出来"""# 1.调用迭代器 next。
2022-10-27 00:35:11 148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人