- 博客(33)
- 资源 (4)
- 收藏
- 关注
原创 Python-线程-循环顺序打印abc
import threadingdef showa(): while True: lockc.acquire() # 获取对方的锁,释放自己的锁 print('a', end='') locka.release()def showb(): while True: locka.acquire() print('b', end='') lockb.release() #.
2020-08-03 11:57:10 1218
原创 Linux - 基础正则表达式、扩展正则表达式、grep使用正则表达式
BRE(基础正则表达式): ^ 匹配行首 $ 匹配行尾 ^$ 空行 . 匹配任意单个字符 * 匹配0个或者多个字符 .* 代表任意多个字符 [] 匹配括号内的字符 [^] 匹配不包含^后的任意字符 BRE(基础正则表达式)只承认的元字符有^$.[.
2020-07-14 17:24:13 298
原创 Linux命令 - grep 命令格式 及 简单使用
格式: grep [OPTIONS] PATTERN [FILE..]OPTIONS:--color==auto-v 显示不被匹配到的行-i 忽略大小写-n 显示匹配的行号-c 统计匹配的行数-o 仅显示匹配到的字符串-A #after 后n行-B #before 前n行-C #context 前后各#行-e 实现多个选项的逻辑or关系 grep –e ‘cat ’ -e ‘dog’ file-h 查询多文件时不显示文件名称。-l 查询多文件时仅仅...
2020-07-14 16:41:34 630
原创 Jmeter 分布式性能压测
1.为什么要用分布式? 大家在使用 jmeter 压测过程中,可能会度遇到内存溢出的错误,这是为什么呢? 因为 jmeter 是 java 写的应用,java 应用 jvm 堆内存 heap 受负载机硬件限制,虽然我们可以 调整堆内存大小,但是单机无法支撑数以万计大并发,此时,需要多个负载机进行分压测试, 这样性能瓶颈就不会是我们的负载机了。 假设我们的测试计划会产生 100 个 threads,我们使用 6 台机器进行分布式测试的时候,一 共会产生 100 * ...
2020-07-14 15:15:07 906
原创 性能测试压测结果导入监控平台 - Jmeter、Influxdb、Grafana
主要用于Jmeter的非UI执行时的监控。总结了一下为什么要费力搞这个:Jmeter非UI执行脚本过程中,结果要写入jtl文件中不能做到实时查看(就算是cat、vim命令看起来也是很费劲) 如果使用Jmeter进行分布式运行脚本(多机执行),就连打印的执行结果也要写入一个文件中,没办法做到实时查看环境准备 Jmeter: 5.0以上版本Influxdb简介 InfluxDB 是一个时间序列数据库,用于处理海量写入与负载查询。InfluxDB旨在用作涉及大量时...
2020-07-13 20:36:43 670
原创 Python基础 - 深复制、浅复制
对象:被分配的一块内存,存储其所代表的值 引用:是自动形成的从变量到对象的指针 不可变对象:一旦创建就不可修改的对象,包括字符串、元组、数值类型 可变对象:可以修改的对象,包括列表、字典、集合 赋值: 只是复制了新对象的引用,不会开辟新的内存空间。 浅拷贝: 创建新对象,其内容是原对象的引用,只复制顶层。 深拷贝:和浅拷贝对应,深拷贝拷贝了对象的所有元素,包括多层嵌套的元素。深拷贝出来的对象是一个全新的对象,不再与原来的对象有任何关联。 不可变对象的深浅拷贝 - 不...
2020-07-13 18:32:16 144
原创 Python基础 - 字典(dictionary)定义、方法、遍历
Python字典可存储任意类型对象,如字符串、数字、元组…… 优点:取值方便,速度快1.创建字典字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。基本语法如下:dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}key 必须唯一2.基本操作dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}元素访问:print(dict[.
2020-07-13 16:48:51 567
原创 Python基础 - 切片
切片操作表达式: object[start:end:step]object: python3支持切片操作的数据类型有list、tuple、string、unicode、rangstart: 起始索引,默认为0。end:终止索引,默认取到最后一个元素。step:正负数均可,绝对值大小决定了切取数据时的‘‘步长”;正表示“从左往右”取值,负表示“从右往左”取值。默认为1。注意:1.这三个参数都是可选参数2.切片的范围是左闭右开,即[start,stop)3. start、e...
2020-07-13 16:02:11 116
原创 Python基础-list
1.定义:使用中括号 [ ] ,里面元素可以是任意类型,也包括列表本身,也可以是字典、元组等。li = [1, 4, 8, 0, 2]l = ["a", "b", "c", (12, 24)]2. 基础操作:
2020-07-13 11:45:48 128
原创 LeetCode_无重复字符的最长子串
题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的...
2020-04-10 15:24:48 98
原创 Java中对象的初始化
class Text{ { System.out.println("父类非静态代码块"); } static { System.out.println("父类静态代码块"); } public Text() { System.out.println("父类构造方法"); }}class Text1 extends Text{ { System.out.pr
2014-06-19 22:37:30 739
原创 八皇后问题递归解发
#include #include using namespace std;int count=0;//记录总的放法int judge(int i,int j,int a[][8])//冲突检查{ int m,n; for(m=0;m<8;m++)//判断列是否有皇后 if(a[i][m]==1 && m!=j) return 0; for(m=0;m<8;m++)//判
2014-05-24 20:15:10 639 2
原创 求数组元素的最大值最小值
这是编程之美上的一个题目:一般的做法:void main(){ int a[5]={78,63,78,67,18}; int min=0,max=0; min=max=a[0]; for(int i=0;i<5;i++) { if(min>a[i]) min=a[i]; if(max<a[i]) max=a[i]; }
2014-05-21 22:26:42 1109 2
原创 归并排序
#include #include void merge(int *a,int low,int high,int mid){ int *b,i=low,j=mid+1,k=0; b=(int *)malloc(4*(high-low+1)); while(i<=mid && j<=high) { if(a[i]<a[j]) b[k++]=a[i++]
2014-05-19 15:06:32 497 1
原创 字符串中去掉多余空格
问题叙述:编写一个函数,从一个字符串中去除多余的空格。函数原型如下: Void deblank( char string[] ) ;当函数发现字符串中如果有一个地方由一个或多个连续的空格组成,就把它们改成单个空格字符。例如:字符串:asd fgh erty gbn。 修改后的字符串:asd fgh erty gbn。
2014-05-18 18:03:58 1207 1
原创 指针理解
运行结果会是怎样呢?上面的代码会出现内存泄露。 对于它的理解我们可以和函数传参的传值改值结合起来理解。在GetMemory()函数内的确给p在堆上开辟了内存,但执行完该函数后,p将不再指向该段已开辟好的内存。该如何改正呢? char *GetMemory(void){ char p[]="hello word"; return p;}
2014-05-15 16:00:43 564 2
原创 STL<list stack queue 模板类>
#include #include using namespace std;void main(){ stack s; int k; while(scanf("%d",&k)==1) s.push(k); cout<<s.size()<<endl; while(!s.empty()) { cout<<s.top()<<" "; s
2014-04-30 21:21:10 749 4
原创 动态创建数组
int m=6; int *p; p=(int *)malloc(sizeof(int)*m); for(int i=0;i cin>>p[i]; for(i=0;i cout cout free(p); int m=2,k=3; int **p; p=(int **)malloc(sizeof(int*)*m); for(int i=0;i
2014-04-26 09:09:50 563
原创 string字符串相关函数 math.h相关函数
标准库类型string表示可变唱的字符序列,使用string类型必须首先包含string头文件。 1.初始化 string对象会自动忽略开头的空白(即空格符、换行符、制表符等)并从第一个真正的字符开始读起,直到遇到下一个空白为止。 string=“asdf”,string("asdf") 这两种初始化效果一样。 string(n,'c'),将n个字符c赋给string。
2014-04-24 15:04:05 894
原创 递归全排列
如0 1 2 3的全排列: 编程思想:如 0 1 2 3 的全排列=(0+1 2 3的全排列)+(1+0 2 3的全排列)+(2+1 0 3的全排列)+(3+ 1 2 0的全排列)。1 2 3 的全排列=(1+2 3的全排列)+(2+1 3的全排列)+(3+1 2的全排列)在求几个数的全排列时,每次使后面的元素和第一个交换后,再求出剩余元素的全排列。如 0123 0132 02
2014-04-12 12:47:45 1773 4
原创 大数相乘 C++
#include #include #define MAX 100int main(){char a[MAX],b[MAX];int a1[MAX],b1[MAX];int length_a,length_b,m=0,len;int result[MAX*2]={0},t;printf("请输入第一个大整数:");scanf("%s",a);
2014-04-05 18:36:27 510
原创 大整数相加 C++
思想:1.将两个大整数存放在数组里,由于整数相加存在进位问题,因此倒置数组进行相加。2.考虑到两整数相加后位数最多为两整数最大位数加一,因此倒置两整数数组时,使两个数组的长度为和的最大为数。采用补0的思想。 如:12000+3400 倒置后应为:000210004300 注意不要倒置为:000021000043
2014-04-05 13:33:38 688
原创 词频统计
题目描述:做一个词频统计程序,该程序具有以下功能:(1)可倒入任意英文文本文件(2)统计该英文文件中单词数和各单词出现的频率(次数),并能将单词按字典顺序输出。(3)可能的话可否将单词及频率写入数据库(文件) 基本要求:1.系统有界面,有功能选择,帮助等2.要求程序设计风格良好,有必要的文档注释,函数注释和重要语句注释。3.需要调试和测试,并在doc文档中完成调试和
2014-04-05 10:45:01 1142
原创 学习笔记-文本编辑
文本插入符的创建: 利用CWnd类提供的函数CreateSolidCaret()函数来完成。该函数的参数要求指定插入符的宽度和高度。并利用函数ShowCaret()函数显示插入符。 如果想让插入符的大小适合当前所选字号的大小,需要调用CDC类的成员函数GetTextMetrics得到设备描述表中当前字体的度量信息。该函数的参数要求是一个TEXTMETRIC结构体的指针。因此在使
2013-12-29 13:41:21 704
原创 区域绘图、绘图路径、裁剪区域
区域CRgn区域CRgn是有多边形、椭圆或而这组合形成的一种闭合图形,可以利用它来填充、裁剪某个区域,并且这些区域还可以组合成新的区域。结果如下左图: 如果将语句中rgn2.CombineRgn(&rgn2,&rgn1,RGN_DIFF)的前两个参
2013-12-29 08:56:28 1612
原创 画笔和画刷
画笔和画刷是GDI中两种重要的绘图工具。画笔用于绘制各种直线曲线,画刷用于填充封闭图形的内部区域。绘图工具的使用包括创建GDI对象,选择GDI对象,使用GDI对象绘图和使用后释放GDI对象等步骤。画笔 CPen类有三个构造函数。如果创建一个红色画笔。即一种是调用一个带参数的构造函数创建 一个画笔对象,另一种是首先构造一个没有初始化的画笔对象,然后调用CPen类的成员函数Cre
2013-12-23 10:49:24 1788
原创 绘制连续线条 改变鼠标形状
在前一个练习中,我们绘制的是线段,即鼠标按下时的位置坐标为线段的起点,鼠标左键弹起的位置坐标为线段的终点,线段的位置与这两个操作中间的操作无关。 如果绘制连续的线条,我们必须考虑这一中间操作,即鼠标左键按下与鼠标左键弹起这两个行为中间的操作,鼠标移动。因此我们必须添加鼠标消息移动的响应函数。这样做还不够,你会发现只要鼠标移动,就会绘图。为了满足:只有鼠标左键按下,才可以绘图,因此我们
2013-12-22 10:36:39 1326 1
原创 绘制线条
Windows是一个与设备无关的操作系统,任何向屏幕上进行输出的功能都要间接的用过一个叫做设备描述表DC的对象来完成。不同类型的设备描述表类(绘图类):CDC、CPaintDC、CClientDC、CWindowDC、CmetafileDC。所有的CDC类调用两个函数BeginPaint()\EndPaint()。1、调用CDC类实现绘制线条的功能:在视图类中添加m_ptOrig
2013-12-21 17:49:43 1148 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人