摘要:
自定义注解 4个原注解:最基本的用来标记注解的注解 @Documented:当前程序如果生成javadoc文档是否将当前注解添加进去 @Target:当前注解的标记范围 ElementType.ANNONTATION_TYPE:当前注解可以标记其他注解 ElementType.CONSTRUCTOR 阅读全文
摘要:
自定义注解 4个原注解:最基本的用来标记注解的注解 @Documented:当前程序如果生成javadoc文档是否将当前注解添加进去 @Target:当前注解的标记范围 ElementType.ANNONTATION_TYPE:当前注解可以标记其他注解 ElementType.CONSTRUCTOR 阅读全文
摘要:
Redis主从复制 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 完整复制与部分复制 主从复制作用: 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余 阅读全文
摘要:
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型 阅读全文
摘要:
RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。支持消息的持久化、事务、拥塞控制、负载均衡等特性,使得RabbitMQ拥有更加广泛的应用场景。 场景1:单发送单接收 使用场景:简单的发送与接收,没有特别的处理。 package com.qa.util; import c 阅读全文
摘要:
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.qa.utils.*; import org.testng.annotations.DataProvider; impo 阅读全文
摘要:
import unittest import json import requests import ddt from pymysql import connect def getMySqlData(): try: db = connect(host="xx.xx.xx.xx", user="xxx 阅读全文
摘要:
思路:Excel管理测试用例,JSONPath做预期结果数据处理,测试结果回写Excel import com.alibaba.fastjson.JSONObject; import com.qa.utils.*; import org.testng.Assert; import org.testn 阅读全文
摘要:
G1垃圾收集器 为解决CMS算法产生空间碎片和其它一系列的问题缺陷,HotSpot提供了另外一种垃圾回收策略,G1(Garbage First)算法,通过参数-XX:+UseG1GC来启用, G1垃圾收集算法主要应用在多CPU大内存的服务中,在满足高吞吐量的同时,竟可能的满足垃圾回收时的暂停时间,该 阅读全文
摘要:
CMS垃圾回收器的全称是Concurrent Mark-Sweep Collector,从名字上可以看出两点,一个是使用的是并发收集,第二个是使用的收集算法是Mark-Sweep。从而也可以推测出该收集器的特点是低延迟并且会有浮动垃圾的问题。下面详细介绍一下这个收集器的特点。 CMS收集器 CMS( 阅读全文
摘要:
Serial收集器 Serial收集器是最基本,发展最悠久的收集器,在JDK1.3.1之前是虚拟机新生代垃圾回收的唯一选择。这个收集器是一个单线程的。它的单线程的意义并不仅仅说明它只会使用一个CPU或者一条收集线程去完成收集工作,最重要的是,它进行垃圾收集时,其他工作线程会暂停,直到收集结束。这项工 阅读全文
摘要:
标记-清除算法: 最基础的收集算法是标记-清除算法,如同它的名字一样,分为标记和清除两个阶段。第一步标记出所要回收的对象,在标记完成后统一回收所有被标记的对象。如何标记已经在上面说过了,之所以说它是最基本的垃圾收集算法,原因在于其他的算法也是基于这种思路并对其不足做以改进得到的。 主要问题有两个 阅读全文
摘要:
在堆里面存放着各种各类的Java对象,垃圾收集器在对堆进行垃圾回收时,首要就是判断哪些对象还活着,哪些对象已经死去(即不被任何途径引用的对象)。 标记清除算法: 标记清除算法简单概括为:给对象添加一个引用计数器,每当有一个地方引用该对象时,计数器+1,当引用失效时,计数器-1,任何时刻,当计数器为0 阅读全文
摘要:
由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程: 如上图所示,首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类 阅读全文
摘要:
import threading import time # 通过函数方法创建多线程 def run(n): print('%s 线程开始了' % threading.current_thread().name) time.sleep(n) print('%s 线程结束了' % threading. 阅读全文
摘要:
环境:python3 + unittest + requests Excel管理测试用例, HTMLTestRunner生成测试报告 测试完成后邮件发送测试报告 jsonpath方式做预期结果数据处理,后期多样化处理 后期扩展,CI持续集成 发送邮件效果: 整体结构: common模块 class 阅读全文
摘要:
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONOb 阅读全文
摘要:
Collections 中有一个方法叫做sort可以对集合中的内容进行排序,要使用这个sort方法进行排序的集合,里面的泛型必须实现Comparable接口,实现这个接口的对象才具备排序的功能,这种排序自然排序。 第一种:Comparable 排序接口,若一个类实现了Comparable接口,就意味 阅读全文
摘要:
List中字典指定元素排序 array = [{"score": "98", "name": "lili", "age": 19}, {"score": "98", "name": "chenming", "age": 18}, {"score": "88", "name": "wangxin", 阅读全文
摘要:
# 位置传递, 只有一个*时表示元组 def func_1(*args): print(args) func_1(1) # (1,) func_1(1, 2) # (1, 2) func_1(1, 2, 3) # (1, 2, 3) list = [4, 5, 6] func_1(list) # ( 阅读全文
摘要:
可变对象:地址不变,里面内容可以改变 (list,dict,set) 不可变对象:只要内容改变,必须改变地址 (int,str,float,tuple,frozzenset) # 可变 list1 = [1, 3, 5, 6, 7, 8] list2 = list1 list1.remove(1) 阅读全文
|