自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

越努力越幸运

  • 博客(138)
  • 收藏
  • 关注

原创 【Java】---GC垃圾回收详解

垃圾回收器与内存分配策略程序计数器、虚拟机栈、本地方法栈的生命周期与相关线程有关,随线程生而生,死而死。这三个区域的内存分配与回收具有确定性,因为当线程结束,内存就跟着线程被回收了。判断对象已死的三种方法1.引用计数法:给对象增加一个引用计数器,每当有一个地方引用他时,计数器就加一,当引用失效就减一,任何时刻计数器为0的对象就是不能再被使用,判定对象已死。python语言采用引用计数法进行...

2019-09-03 08:43:50 317

原创 正则表达式

例如,"o{2,}“不匹配"Bob"中的"o”,而匹配"foooood"中的所有 o。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与"\n"或"\r"之前的位置匹配。“匹配"do"或"does"中的"do”。例如,"zo+"与"zo"和"zoo"匹配,但与"z"不匹配。例如,"o{2}"与"Bob"中的"o"不匹配,但与"food"中的两个"o"匹配。例如,”[^abc]“匹配"plain"中"p”,“l”,“i”,“n”。例如,”[abc]“匹配"plain"中的"a”。

2023-05-22 20:25:32 430

原创 python脚本环境搭建问题总结

这一步如果我用python -V会显示没有装python,用python2 -V会显示没有装python2。2、更新python3的指向(选择python3执行的是python3.7还是python3.6)update-alternatives用于在多个同功能的软件,或软件的多个不同版本间选择。三、使用update-alternatives管理软件版本。使用python 3.7环境执行命令。二、安装python3.7。一、查看python版本。3、查看python版本。

2023-03-22 10:48:44 656

原创 踩坑无数后的最全的charles抓包app安装教程

一、安装:1、建议安装使用最新版,官方下载地址 https://www.charlesproxy.com/download2、安装完成之后,需要破解:破解方法打开破解地址:https://www.zzzmode.com/mytools/charles/输入RegisterName(此名称随意,用于显示 Registered to xxx),点击生成计算出注册码,打开Charles输入注册码即可二、配置环境开启Charles http代理设置Charles代理。如果只是抓取手机端APP

2022-03-17 14:29:51 9288

原创 python--面向对象进阶

@property装饰器对于受保护的(单下划线)和私有的属性(双下划线),外界不能直接访问,如果想访问属性可以通过属性的getter(访问器)和setter(修改器)方法进行对应的操作。如果要做到这点,就可以考虑使用@property包装器来包装getter和setter方法,使得对属性的访问既安全又方便class Person(object): def __init__(self, name, age): self._name = name self._age

2022-02-11 17:41:41 424 1

原创 GIT常用命令

git强制覆盖:git fetch --allgit reset --hard origin/mastergit pull推送代码到新的远程分支提交代码git add .git commit -m " "1.新建一个本地分支:$ git checkout -b dbg_lichen_star2.查看一下现在的分支状态:星号(*)表示当前所在分支$ git branch3.将dev分支推送到远程git push origin dev:dev 冒号前面的

2020-12-14 14:05:23 109

原创 Jmeter安装与使用

Jmeter安装配置教程:https://my.oschina.net/niepanLs/blog/3012286Jmeter功能1.多线程框架,支持并发操作2.对服务器模拟负载3.支持web,数据库,ftp服务器系统的性能测试4.开源,纯java,可二次定制化开发创建接口测试流程:1 添加线程组右键点击“测试计划” -> “添加” -> “线程(用户)” -> “线程组”这里可以配置线程组名称,线程数,准备时长(Ramp-Up Period(in seconds))循环

2020-12-14 11:40:45 212

原创 性能测试工具---LoadRunner(三)

创建运行场景运行场景描述在测试活动中发生的各种事件。一个运行场景包括一个运行虚拟用户活动的Load Generator 机器列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组。创建运行场景使用 Controller。在新建场景的窗口,选择一种场景类型。下面对三种类型进行简单的说明。1 、手动场景:该项要完全手动的设置场景。1.1 使用百分比模式在脚本间分配Vuser:该项只有在“手动...

2019-11-25 19:00:01 281

原创 性能测试工具---LoadRunner(二)

LoadRunner组成:LoadRunner主要包括三个前台功能组件,分别为VuGen(虚拟用户脚本生成器)、Controller(测试控制器)和Analysis(结果分析器)。系统会自动调用后台功能组件LG(负载生成器)和Proxy(用户代理)来完成性能测试工作。LoadRunner原理:客户端通过LG模拟成千上万的用户向服务器进行请求,Agent对服务器进行监视,观察服务器的各项指标...

2019-11-25 18:18:04 385

原创 性能测试工具---Loadrunner(一)

性能测试范围:应用程序是否能够很快的响应用户的要求?应用程序是否能处理预期的用户负载并有盈余能力应用程序是否能处理业务所需要的事务数量?在预期和非预期的用户负载下,应用程序是否稳定是否能确保用户在真正使用软件时获得舒服的体验在性能测试中应该关注:并发用户数/吞吐量平均响应时间服务器资源占用情况可靠性、可扩展性发现引起系统问题的原因,关注采用何种技术提高系统性能软、硬件...

2019-11-22 19:28:41 442

原创 python基础(四)---异常处理

Python 有两种错误很容易辨认:语法错误和异常。Python 的语法错误或者称之为解析错即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。python采用try...except...finally...的错误处理机制,当我们认为某些代码可能会出错时,就可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处...

2019-11-14 17:51:01 156

原创 python基础(三)---面向对象

理解对象和引用在python中,当创建一个a=2时,内部的创建流程是先根据Integer class在内存中开辟一段内存空间,得到对象ID后填充对象的类型和值2,然后将变量a的引用指向这个对象,因此在便宜python中变量只是访问对象的一把钥匙而已。动态强类型语言动态类型:一个变量在程序运行过程中类型发生改变(适合小型项目)静态类型:一个变量在程序运行过程中类型不能发生改变(适合大型语言)...

2019-11-13 16:39:08 100

原创 python基础(二)---函数与文件

函数Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。ret...

2019-11-12 16:15:28 284

原创 Python基础(一)---列表、元组、字典详解

列表序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0在一个列表中可以赋值不同类型的数据,也可以嵌套列表序列都可以进行的操作包括索引,切片,加,乘,检查成员。list1 = ['Google', 'Runoob', 1997, 2000]元组Python 的元组与列表类似,不同之处在于元组的元素不能修改python中对一个变量...

2019-11-11 17:48:07 358

原创 【Java】---Lock体系与AQS详解

AQS-同步器同步器是用来构建锁(Lock体系)以及其他同步组件的基础框架,他的实现主要依赖一个int状态变量以及通过一个FIFO队列共同构成同步队列。子类必须重写AQS用protected修饰的来改变同步状态的方法,其他方法主要是实现排队与阻塞机制。int状态的更新使用getState()、setState()以及compareAndSetState()。子类推荐使用静态内部类来继承AQS...

2019-09-03 08:48:57 421

原创 【Java】----对象的深浅拷贝

对象的深浅拷贝如果一个类要调用clone方法,需要实现Cloneable接口。深拷贝:会同时拷贝一个实例化对象,实现深拷贝需用序列化实现(类实现序列化接口)浅拷贝:拷贝的对象虽然是双份的,但是其对象的引用是共享的,没有被拷贝,因此若拷贝对象改变原对象的属性,会真实改变此对象。//深拷贝public class CloneTest2 { public static void mai...

2019-09-03 08:44:32 94

原创 【JavaSE】生产者消费者模型

生产者消费者模型生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队 列来进行通讯,生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从 阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力与生产者消费者模型相关的两个方法: wait()与notify()方法wait()-痴...

2019-08-28 09:54:43 146

原创 【JavaSE】线程池的概念及使用

线程池Java线程池是运用最多的并发框架,线程池的优点如下:1.降低资源消耗:通过重复利用已创建的线程降低线程的创建和销毁带来的消耗。2.提高响应速度:当任务到达时,任务可以不需要等待线程创建就能立即执行。3.提高线程的可管理性:由线程池统一管理调度进行线程分配和监控。线程池的处理流程:1.首先判断核心线程池里的线程是否都在执行任务。若不是,则创建一个新的工作线程来执行任务,如果核心线...

2019-08-19 10:04:07 193

原创 python简介与基本语法

Python是一种解释型语言:开发过程中没有编译的环节Python是一直交互式语言:可以在一个 Python 提示符 >>> 后直接执行代码。

2019-07-22 15:46:33 165

原创 Git安装配置教程

背景git是一个版本控制工具. 主要解决三个问题代码被喵星人吃掉了.产品经理反复修改需求, 需要同时维护多个版本代码.多人协同开发.Github 是 “全球最大的同性社交网站”. 通过 git 可以把代码上传到 Github 上给全球的用户分享.下载安装安装 git for windows这个是一个git的windows系统的命令行版本https://git-scm.com/...

2019-07-17 17:18:06 149

原创 软件测试之测试工具Postman

Postman介绍Postman是一款能模拟http请求的工具软件,支持get/post两种方式,对于程序开发人员来说提供了一种测试工具。Postman能够保留用户的请求历史记录,方便下次请求时直接查找.Postman主界面:Collections:在Postman中,Collection类似文件夹,可以把同一个项目的请求放在一个Collection里方便管理和分享,Collection里...

2019-07-12 11:12:34 1527

原创 【数据结构】---栈和队列的应用

1.实现循环队列class MyCircularQueue { private int size; private int rear; private int front; private int[] array; /** * Initialize your data structure here. Set the size of the qu...

2019-07-01 08:59:14 139

原创 【数据结构】---二叉树的应用

求叶子节点个数public static int countLeaf(Node root){ if(root!=null){ return countLeaf(root.left)+countLeaf(root.right); } return 0;}求二叉树的高度 private static int height(Node root) {...

2019-07-01 08:58:38 184

原创 【数据结构】----顺序表与链表的应用

!!!排列组合问题 古典概型现在面试的主趋势单向链表中最重要的是节点,真正有用的值是value,next是维持结构用的1 第一个节点有特殊性,1)没有前驱2)代表整个链表2 插入删除节点时需要前驱节点,除非是第一个节点3 凡是解引用的地方,需要考虑引用是否为null4 方便断开方便接上public class LinkedNode { /** * @Descrip...

2019-07-01 08:58:11 175

原创 javaEE-----Mybatis框架

Mybatis框架几乎消除了所有JDBC代码,也基本不需要手工设置参数和获取检索结果。MyBatis能够使用简单的XML格式或注解进行配置。Mybatis对于数据库的连接采用托管的方式,对于缓存采用两级缓存,对于结果映射采用自动映射的方式,程序的可维护性高。而JDBC对于数据库的连接是采用编码的方式,而且不支持缓存,对于结果映射采用硬编码,程序的可维护性低每个基于MyBatis的应用都是以一个...

2019-06-30 15:14:26 221

原创 网络基础(三)TCP/UDP详解

传输层传输层负责端与端之间的数据传输,决定数据怎么传,什么时候传,传多少的问题。端口号端口号用来特定标记一台主机上的网络进程,并且和特定的应用层协议捆绑保证将传输层数据交给应用层。端口号由16个bits(两个字节构成)端口号范围是0–65535,0–1023是知名端口号,1024–65535可以由客户端使用ssh服务器, 使用22端口ftp服务器21http服务器:80https:...

2019-06-25 10:27:01 1341

原创 JavaWeb---jsp基础

JSP文件中的模板元素模板元素jsp技术是基于模板的文件,这个模板一般是html,JSP页面需要遵循模板元素,在这个基础之上进行编程。使用Java语言注释1.普通注释,能被客户端查看源码时看到<!--普通注释-->2.隐藏注释,只有后台编写代码时能够看见<%--隐藏注释--%>3.代码注释// 单行注释 /* * 多行注释 * */...

2019-06-23 11:38:30 183

原创 【软件测试】--测试分类

按开发阶段划分UI界面层:1.功能验证测试2.兼容性:浏览器的兼容,系统的移植型3.用户测试业务逻辑层:1.客户端模拟测试2.内外接口测试3.SDK接口测试数据处理层:1.单元测试2.CodeReview单元测试(模块测试)简单来说就是代码测代码。测试对象是软件设计的最小单位:模块。测试阶段:编码后或编码前(测试驱动开发:测试人员先编写测试用例,然后开发人员根据测试用例开发程序...

2019-06-03 11:22:32 498 1

原创 JavaWeb---Servlet

Servlet API有以下4个Java包:javax.servlet:其中包含定义Servlet和Servlet容器 之间的锲约类和接口javax.servlet.http:其中包含定义HTTP Servlet和Servlet容器 之间的契约类和接口javax.servlet.annotation:其中包含标注Servlet,Filter,Listener的标注 ,它还为被标注元件定义元数...

2019-06-03 11:20:17 209

原创 【软件测试】---文件压缩项目测试实践

1.项目启动,测试介入了解需求项目背景:磁盘空间不够,需要一个压缩、解压缩文件 目标:完成所有文件类型的压缩、解压缩。 时间: 2018-6-1 到2018-6-7 项目成员:项目经理:唐僧产品经理:孙悟空开发:猪八戒测试:沙和尚项目进行可行性研究和项目开发计划,明确要解决的问题,根据需求制定项目计划,制定项目周期(是否涉及周末与节假日),分配项目开发测试管理人员测试在...

2019-06-02 12:19:46 340

原创 【软件测试】-----自动化测试

自动化测试:将手工测试需执行的一系列操作转换为机器测试。自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行 结果。将人为驱动的测试行为转化为机器执行的过程自动化测试按照测试对象来分,还可以分为接口测试、UI测试(功能测试)等。接口测试的ROI(产出投入比)要比UI测试高常见的自动化测试工具:QTP、selenium、Rational Rob...

2019-06-02 09:22:31 228

原创 【数据库】---详解mysql索引的数据结构

目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构B-树B-树是一种多路搜索树,其特点是:关键字分布在整棵树中任何一个关键字出现且只出现在一个节点中搜索有可能在非叶子节点中结束搜索性能等价于在关键字全集内做一次二分查找具有自动层次控制B树中每一个内部节点会包含一定数量的键值。通常,键值的数量被选定在d和2d之间。在实际中,键值占用了节点中大部分的...

2019-06-01 19:15:01 4648

原创 【数据结构】----利用join进行查询优化

1.如何正确使用join从句1.Inner join内连接Inner join基于连接谓词将两张表AB的列组合在一起取它们的交集,产生新的结果表内连接子句出现在FROM子句之后。 在ON关键字之后指定表A和表B之间匹配的条件。这种情况称为连接条件,即B.n = A.n2.left joinLEFT JOIN左外连接子句出现在FROM子句之后。 ON关键字后面的条件称为连接条件B.n =...

2019-06-01 18:23:53 462

原创 【读书笔记】多线程编程核心技术

多线程与单线程的区别?单线程下,任务是排队执行的,也就是同步,就像是在cmd下输入一条命令后, 必须等这条命令执行完才可以执行下一条命令;而多线程是异步的,线程被调用的时机是随机的,因此代码的运行结果与代码的执行顺序或是调用顺序(执行start()方法的顺序) 是无关的。实现多线程编程的方式:一共有两种: 1.继承Therad类 2.实现Runnable接口使用Thread类的方式...

2019-06-01 16:56:02 96

原创 【数据结构】---搜索

搜索树任意节点的左子树的值都小于节点的值,右子树的值都大于节点的值,二叉搜索树中没有重复的节点。平衡搜索树:插入删除 查找的时间复杂度O(log(n))因为搜索树的高度不确定,所以时间复杂度不确定平衡树:为了解决搜索树高度不确定的缺憾1.AVL树:要求树中每个节点的左子树的高度和右子树的高度差的绝对值不超过1在AVL树中,每个节点会记录一项属性:平衡因子(左子树的高度-右子树的高...

2019-06-01 12:48:36 140

原创 JavaWeb----web简介与Http简介

Web程序是一种可以通过浏览器访问的应用程序。web应用是用户只需要有浏览器就可以访问的应用程序,无需安装其他软件。B/S模型B/S模型也称为浏览器-服务器模型。优点:具有分布式的特点,可以随时进行查询、浏览等业务处理。业务扩展简单方便,通过增加网页即可增加服务功能。维护简单方便,只需要改变网页。开发简单,共享性强。C/S模型C/S模型是客户端-服务器模型(数据库也是C/S模型)。...

2019-05-29 22:02:18 270

原创 JavaWeb---HttpServlet会话管理

javaEE的三层架构:web层、Service层、Dao层。web层JSP:获取用户信息,展示数据(利用重定向、请求转发),使用EL表达式展示页面Service层具体的业务层(用Servlet)调用Dao层Dao层(Data Access Object:数据访问对象)查询数据库Session:一个闭环 Session于Session之间没有关系会话技术程序中...

2019-05-25 11:28:20 158

原创 JDK1.8新特性之Stream数据流

Stream数据流Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性当我们需要使用一个流时,通常包含三个基本步骤...

2019-05-23 15:57:16 173

原创 JavaEE------SpringCore

spring是一站式开发框架,即Spring在JavaEE的三层架构:表现层(Web层)、业务逻辑层(Service 层)、数据访问层(DAO即Data Access Object ) 中,每一层均提供了不同的解决技术。spring框架的特点:轻量级: Spring在大小和透明性方面绝对属于轻量级的,基础版本的Spring框架大约只有2MB控制反转 :Spring使用控制反转技术实现了松耦合...

2019-05-19 20:31:17 225

原创 【软件测试】selenium与webdriver详解

1.基本配置:安装火狐浏览器,工具–选项–高级–停止更新,版本为54位的(56 装3.6的IDE)2.安装IDE附件:工具–附加组件–扩展—搜索selenium IDE,Firebug, FireBug,安装插件selenium IDE使用1.进入火狐浏览器–工具–selenium IDE,进入自动化测试脚本录制界面(有小红点显示默认录制开始)2.在浏览器中操作,操作完成,回到录制界面,停...

2019-05-10 16:52:46 1794

空空如也

空空如也

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

TA关注的人

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