5 echo6120

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

【性能测试】jvm垃圾回收的新生代/老年代/永久代

Java的一大特性就是内存的分配和回收都是自动进行的。当程序规模不大时,我们完全可以不考虑内存的使用情况。但是一旦程序的规模足够大,对性能的要求足够高时,了解Java垃圾收集(GC)的内部机制并根据具体的应用特征来调整使用的垃圾收集算法就显得十分重要了;顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。对于绝大...

2020-05-07 15:46:02

【python设计模式】python设计模式之构建者模式

当我们想要创建一个由多个部分构成的对象,而且他们的构建需要一步接一步的地完成,只有当各个部分都创建好,这个对象才算完整。 -- 这正是 建造者设计模式的用武之地。比如建造一个抽象的类Builder,定义画六个身体部位的方法,每画一种人,就新建一个继承Builder的类,这样新建的类就必须要实现Builder的所以方法,这里主要运用了抽象方法的特性,父类定义了几个抽象的方法,子类必须要实...

2020-04-30 11:49:02

【python设计模式】python设计模式之工厂模式

本质:根据传入参数的不同,返回对应的不同对象(类似鸡生蛋),方便造对象,但不做任何动作。工厂模式的目的是为了解耦:1.把对象的创建和使用的过程分开。就是Class A 想调用 Class B ,那么A只是调用B的方法,而至于B的实例化,就交给工厂类。2.工厂模式可以降低代码重复。如果创建对象B的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。我们可以这些...

2020-04-30 11:48:32

【python算法】图的遍历与最小路径

数据结构中,图的应用场景非常广泛,与我们的生活息息相关,在基于图做的应用中,比较典型的有:在交通规划中的最小生成树,用于导航的最短路径等。比如下图这里,我们介绍邻接表表示方法。在表示图的时,我们一般使用如下的两个实例属性,表示邻接表的字典nodeNeighbors,标志是否已访问的字典visited。针对如下的图:来实现广度优先遍历以及深度优先遍历:简述思想:1...

2020-04-16 18:05:10

【接口自动化框架】测试数据部分增加替换变量功能

我们的接口自动化框架的测试数据放到json文件中,但是有些参数是动态生成的;解决这个问题我想到两个解决方法:1,通过测试case的文件中生成变量后再赋值给json文件中的变量(缺点:重复代码多)2,在json文件中直接引用函数,在case读取json文件时,运行函数更改变量(此文介绍这种方法)...

2020-04-07 18:48:18

【性能测试】性能分析与调优之配置优化

配置优化的关键词:JVM,连接池,线程池,缓存机制,CDN等优化手段,这些优化提高了资源利用率,有大限度的压榨服务器性能。一.JVM配置优化:合理的分配堆和非堆堆内存,配置适合堆内存回收算法,提高系统服务的能力二.连接池:数据库连接池可以节省建立连接和关闭连接的资源消耗三.线程池:通过缓存线程的状态来减少新建线程与关闭线程的开销,一般是在中间件中进行配置,比如在Tomcat...

2020-03-24 16:00:14

缓存导致的三个问题-缓存穿透/缓存雪崩/缓存击穿

一.缓存穿透缓存穿透是指查询一个一定不存在的数据,因为缓存中也无该数据的信息,则会直接去数据库层进行查询,从系统层面来看像是穿透了缓存层直接达到db,从而称为缓存穿透,没有了缓存层的保护,这种查询一定不存在的数据对系统来说可能是一种危险,如果有人恶意用这种一定不存在的数据来频繁请求系统,不,准确的说是攻击系统,请求都会到达数据库层导致db(DataBase)瘫痪从而引起系统故障二.缓存雪崩...

2020-03-12 19:57:50

介绍mysql/redis/mongodb的异同

MongoDB:它是一个内存数据库,数据都是放在内存里面的。对数据的操作大部分都在内存中,但MongoDB并不是单纯的内存数据库。MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构...

2020-03-07 20:58:33

简要介绍nginx的使用

Nginx已经成为主流的静态web容器、转发器、cache。在web容器上完全超越apache、在转发上代替传统硬件设备、在cache已经可以媲美squid。加之大量的开源社区不断地贡献,使nginx功能不断完善和强大,已经有逐步成为统一平台的趋势。...

2020-03-07 18:23:08

简单了解互联网常见的系统架构

一.简单了解互联网目前常见的系统架构一台普通服务器的处理能力是有限的。但若能将多台这样的服务器组成一个系统,并通过软件技术将所有请求平均分配给所有服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。这就是负载均衡最初的基本设计思想。负载均衡(Load Balance)——有两台或者以上的服务器或者站点提供服务,服务将来自客户端的请求,靠某种算法,去尽量...

2020-03-04 17:09:03

【python-requests】实现文件上传

def upload_file(host, api,filepath, **kwargs): url = host + api querystring = { "app_id": "10000", "region": "en", "lang": "zh-cn" } headers = { } ...

2020-03-03 23:22:57

【python算法】买卖股票的最佳时机问题之一二三

买卖股票的最佳时机问题一给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入 : [7, 1, 5, 3, 6, 4]输出 : 5解释 : 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时...

2020-02-23 13:56:47

【python算法】在无序列表中寻找第k大的数

#利用的是插入算法def find_k(testlist,k): for i in range(1,k): for j in range(i,0,-1): if testlist[j] > testlist[j-1]: testlist[j],testlist[j-1] = testlist[j-1],te...

2020-02-19 23:21:03

【python算法】判断字符串/链表是否是回文

一.判断字符串是否为回文def huiwen(teststring): len_s = len(teststring) flag = True for i in range(len_s//2): if teststring[i] != teststring[len_s-1-i]: flag = False ...

2020-02-17 22:53:51

python 多线程模版用于制造大规模测试数据

from queue import Queueimport randomimport threadingimport timefrom mysql_client import MysqlManagermysql_config ={ "database": "xiaoyuteacher", "host": "127.0.0.1", "p...

2020-02-11 16:39:52

数据库的操作--存储过程

在平时压力测试时,造测试数据,会常用到存储过程。第一步:连接数据库:mysql -uroot -p第二步:创建测试用的table:CREATE TABLE IF NOT EXISTS `index_user`( `id` INT UNSIGNED AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `email` VARCHA...

2020-02-11 11:10:35

【python算法】比较两个版本号的大小

def versionCompare(v1, v2): v1_check = re.match("\d+(\.\d+){0,2}", v1) v2_check = re.match("\d+(\.\d+){0,2}", v2) print(v1_check.group()) if v1_check is None or v2_check is None or v1...

2020-02-06 19:14:53

【python算法】队列的操作

# encoding=utf-8#定义节点类class Node(object): def __init__(self,val): self.val = val self.next = None#定义队列类class Queue(object): def __init__(self): self.first = ...

2020-02-03 11:59:16

【python算法】插入排序

关于插入排序,其算法的核心思想是:将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数。即:序列的第一个元素,肯定是有序的,把第二个元素和第一个元素相比,插入到合适的位置,这样前两个元素就有序了,接着,把第三个元素插入到前面包含两个元素的有序列表中,以此类推,直至插完第n个数据。细节说明:将多个数字进行升序排序时,每次基于有序的列表进行插入,方法类似冒泡排序...

2019-11-06 11:28:31

python面试170个知识点

持续更新中,目前更新到50了..1.谈谈对 Python 和其他语言的区别答:Python 是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库,他是一门强类型的可移植、可扩展,可嵌入的解释型编程语言,属于动态语言。拿 C 语言和 Python 比: Python 的第三方类库比较齐全并且使用简洁,很少代码就能实现一些功能,如果用 C 去实现相同的功能可能就比较复...

2019-10-26 14:26:32

查看更多

勋章 我的勋章
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。