自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 JVM内存结构

为什么要了解JVM?在开发环境或者生产环境,你是否遇到过OutOfMemoryError(OOM)内存溢出问题?你是否遇到过tomcat容器中加载项目过多引起的OOM,导致web服务无法正常启动。这就是JVM引发的问题。运行时数据区java虚拟机在执行java程序的过程中会把它管理的内存划分为若干个不同的数据区域。分析JVM内存结构,主要就是分析JVM运行时数据存储区域。JVM运行时数据区域主要包括:堆、栈、方法区、程序计数器等。JVM优化问题主要集中在线程共享的数据区中:堆、方法区程序计数器程

2021-06-23 15:11:54 124

转载 cookie、session、token的区别

**贪心算法**求解最优化问题的算法通常要经过一系列的步骤,在每个步骤都面临多种选择,对于许多最优化的问题,使用动态规划算法求最优解有些杀鸡用牛刀了,可以使用更

2021-06-18 15:15:32 181

原创 python re运行时报错相关模块不存在(AttributeError: module ‘re‘ has no attribute ‘XXXXX‘)

python re运行时报错相关模块不存在(AttributeError: module ‘re’ has no attribute ‘XXXXX’)命名py脚本时,不要与python预留字,模块名等相同,即Python文件名不要使用Python系统库的名字,就是因为使用了Python系统库的名字,所以在编译的时候才会产生.pyc文件。正常的Python文件在编译运行的时候是不会产生.pyc文件的!这类问题的解决方法则是:更改python脚本的命名,不要与python系统库重合即可...

2021-06-02 09:14:11 1319

原创 python中*args和**kwargs的区别

1. *args的用法*args用于将参数打包成tuple给函数体调用。def function(*args): print(args,type(args))function(1)输出结果:D:\App\Python\python.exe D:/pytest/exercise/test_args.py(1,) <class 'tuple'>def function(x,y,*args): print(x,y,args)function(1,2,3,4,5)

2021-06-02 09:13:27 82

原创 pytest--测试的参数化

导言实际测试过程中,测试用例可能需要支持多种场景,可以把场景强相关的部分抽象为参数,通过对参数赋值来驱动用例的执行。参数化对的行为表现在不同的层级上:fixture的参数化测试用例的参数化:使用@pytest.mark.parametrize可以在测试用例、测试类甚至是测试模块中标记多个参数或者fixture的组合也可以通过pytest_generate_tests这个钩子方法自定义参数化的方案。源码:#_pytest/python.pydef parametrize(self, argna

2021-05-26 10:49:40 927

原创 pytest-捕获告警信息

1.告警信息的默认捕获行为pytest可以自动捕获测试中产生的告警信息,在测试结束后进行展示import warningsdef api_v1(): warnings.warn(UserWarning('请使用新版本的api')) return 1def test_one(): assert api_v1() == 1返回结果:D:\pytest\exercise\chapter8>pytest -q test_show_warning.py.

2021-05-25 19:18:08 952

原创 负载均衡集群中的session解决方案

问题出在哪里?当用户首次访问登录在服务器A上后,服务器A上保留了用户的登录信息。用户的下次请求可能被负载均衡代理器发送到服务器B,服务器B上没有用户的登录信息,如何将session同步到服务器B,使用户对该过程“无感知”?在负载均衡中,针对session的处理,我们一般有以下几种方式:session保持session复制session共享session保持session保持是在负载均衡层实现,在负载请求时将用户请求分发到同一台服务器实现。nginx的session保持nginx可以选择

2021-05-24 09:22:08 480

原创 pytest--临时目录和文件

1.相关的fixture1.1 tmp_pathtmp_path是一个用例级别的fixture,其作用是返回一个唯一的临时目录对象(pathlib.Path)CONTENT = "content"def test_create_file(tmp_path): d = tmp_path / "sub" d.mkdir() #创建一个子目录 p = d/"hello.txt" p.write_text(CONTENT) assert p.read_text()

2021-05-19 20:08:46 865

转载 python中yield理解

def foo(): print("starting...") while True: res = yield 4 print("res:",res)g = foo()print(next(g))print("*"*20)print(next(g))程序输出:starting...4********************res: None4*号下边下一次调用,yield没有给res传参,所以res为空,又进入while循环中,“re

2021-05-11 09:27:40 92

原创 pytest-在测试用例中编写和上报断言

pytest支持在测试用例中编写和上报断言使用断言语句def f(): return 3 * 3 *3def test_function(): assert f() == 4执行结果如下, 从执行结果中可以看出函数返回的具体值collected 1 item test_assert2.py F

2021-05-07 20:18:28 368

原创 python3.9新特性

1. 数字类型python除了支持原有的int和float类型,新增了支持Decimal或者Fraction。python还内置支持复数,后缀j或者J用于标识虚数。2. 字符串如果字符串中有单引号而没有双引号,该字符串外将加注双引号,反之,则加注单引号。print() 函数输出的内容更简洁易读,它会省略两边的引号,并输出转义后的特殊字符。>> '"Isn\'t," they said.''"Isn\'t," they said.'>>> print('"Isn\'t

2021-04-27 21:22:37 258

原创 python的垃圾回收机制和内存泄漏场景

python和java一样,都是面向对象的语言。高级语言比如java、C#等都采用了垃圾回收机制自动管理内存使用,C、C++等语言需要用户自己分配、释放内存。自己管理内存的优点是灵活、可以任意申请内存,但是缺点就是可能会造成内存泄漏。python的存储机制python是面向对象原因,python的存储问题就是对象的存储问题。对于每个对象, python会分配一块内存空间去存储;对于整数和短小的字符串,python会执行缓存机制,赋值给其他对象,只是新增该对象的引用;容器对象,比如列表、元组、字典等

2021-04-27 20:36:22 256

原创 删除有序数组的重复项

题目描述:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。java实现:public class removeDuplicates { public int rd(int[] nums){ if(nums.length == 0 || nums == null ) { return 0;

2021-04-26 09:33:39 168

原创 pytest入门

一、pytest入门?pytest框架使编写小型测试变得容易,但可以扩展以支持应用程序和库的复杂功能测试。特点:失败的assert语句的详细信息自动发现测试模块和方法二、使用步骤1.引入库代码如下(示例):'''只执行pytest,会查找当前目录及子目录下test_*.py和*_test.py文件如果想只执行某个文件,可以pytest start.py加上-q就是显示简单的结果pytest -q start.py'''def func(x): return x+1de

2021-04-26 09:12:31 241 3

原创 pytest入门

如何调用pytest通常,pytest命令会执行在当前文件夹或者子文件夹下所有test_.py或_test.py类型的py文件。1.通过Python -m pytest 调用pytestpython -m pytest [...]这种调用方式等同于直接调用pytest […],但是要注意这种通过python调用的方式会同时将当前目录添加到sys.path。1.1 退出码pytest有六种退出码:Exit 0:找到所有的测试用例并测试通过Exit 1:找到所有的测试用例并运行,但是部分用例

2021-04-25 22:39:23 199

原创 开始新的旅途

和大佬小菠萝交流之后,看了她的很多文章,发现自己的差距还是挺大的。所以从现在开始好好准备,哪怕要一年的时间,戒骄戒躁,认真学习,希望通过自己的努力实现梦想,可以有更好的发现。目前已经定下来的目标有两个,一个是pytest学习,另一个是编程语言的学习。决定每天要刷一道算法题,用java和python实现。pytest按照大佬的学习方法,自己去读官方的文档,看视频并且写博客记录,合理利用时间。估计刚开始博客会写的一塌糊涂,不过我会努力的,我觉得我不该止步于此。慢慢开始,只要坚持,就算达不到最终的目标

2021-04-25 10:03:22 77

原创 编程技巧-快速幂

快速幂算法——可迅速求出a^b。1,当b为偶数时,a^b可以转为a^2的b/2次方。2,当b为奇数时,a^b可以转为a^2的b/2次方,再乘以a。public static int fastPower(int a, int b ){ int result = 1; while(b>0){ ...

2019-08-06 08:50:36 154

原创 单链表倒置算法

遍历整个链表的同时,将正在访问的节点插入到链表头部。这样,当遍历结束后,同时完成了链表的倒置。主要步骤:1.定义两个指针*p,*temp2. p=head->next; //p指向当前正在处理的节点 temp = p->next; //temp是p指向节点的下一个节点 p->next = null;//将p设置为反转后链表中的最后一个节点...

2019-08-04 15:47:08 6331

原创 线程安全之volatile

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-08-02 16:34:57 142

原创 CAS机制

1.什么是CAS机制?CAS即CompareAndSwap的缩写,比较并替换。CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B。CAS执行执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做。整个比较并替换的操作是一个原子操作。从思想上来说,synchronized属于悲观锁,悲观的认为程序中的并发情况严重,所以严防死守,CA...

2019-08-02 15:36:51 227

转载 箱线图

箱线图是针对连续型变量的,解读时候重点关注平均水平、波动程度和异常值。 当箱子被压得很扁,或者有很多异常的时候,试着做对数变换。 当只有一个连续型变量时,并不适合画箱线图,直方图是更常见的选择。 箱线图最有效的使用途径是作比较,配合一个或者多个定性数据,画分组箱线图。 转自https://www.sohu.com/a/134414348_455817...

2019-03-15 09:36:35 461

原创 关于马尔科夫链

首先,马尔科夫链要能收敛,需要满足以下条件:1.可能的状态数是有限的。2.状态间的转移概率需要固定不变。3.从任意状态能够转变到任意状态。4.不能是简单的循环,例如全是从x到y再从y到x。以上是马尔可夫链收敛的必要条件。...

2019-03-14 11:26:18 1058 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除