凯耐
码龄6年
  • 1,420,741
    被访问
  • 157
    原创
  • 849,984
    排名
  • 2,435
    粉丝
  • 33
    铁粉
关注
提问 私信

个人简介:高调做事,低调做人

  • 加入CSDN时间: 2016-09-30
博客简介:

凯耐的博客

查看详细资料
个人成就
  • 获得1,599次点赞
  • 内容获得434次评论
  • 获得8,702次收藏
创作历程
  • 6篇
    2020年
  • 15篇
    2019年
  • 63篇
    2018年
  • 74篇
    2017年
成就勋章
TA的专栏
  • 测试框架
    2篇
  • 面试题目
    1篇
  • 测试篇
    1篇
  • 数据结构与算法
    3篇
  • 计算机网络
    1篇
  • Java并发编程
    4篇
  • SpringBoot知识总结
    7篇
  • Rocketmq消息中间件
    1篇
  • Dubbo
    1篇
  • Spring MVC
    7篇
  • Mybatis
    9篇
  • Spring
    7篇
  • Git的使用
    1篇
  • Quartz
    1篇
  • Java项目源码
    1篇
  • JDBC
    7篇
  • Java技术
    10篇
  • Java-Swing
    8篇
  • Java基础
    13篇
  • Java Web
    30篇
  • Python
    32篇
  • SSM项目
    3篇
  • 工具安装及报错解析
    1篇
  • MySQL
    1篇
  • Java8新特性
    2篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Java自动化框架配置监听器生成测试报告邮件发送

一、接口自动化测试框架结构ExtentTestNGIReporterListener代码如下:package com.wang.edu.listener;import com.aventstack.extentreports.ExtentReports;import com.aventstack.extentreports.ExtentTest;import com.aventstack.extentreports.ResourceCDN;import com.aventstack
原创
发布博客 2020.09.05 ·
615 阅读 ·
2 点赞 ·
0 评论

pytest单元测试框架详解+Pytest+Allure环境的搭建

参考:https://blog.csdn.net/liuchunming033/category_3193659.html
原创
发布博客 2020.03.26 ·
3700 阅读 ·
2 点赞 ·
0 评论

Python selenium各个组件的操作

(一)操作文本输入框常用方法 说明 sendkeys() 设值 clear() 清空文本框内容 get_attribute() 获取文本框中的值 is_display() 判断元素是否显示 案例演示:from time import sleepfrom selenium import webdriverdriver = webdr...
原创
发布博客 2020.03.23 ·
2396 阅读 ·
2 点赞 ·
0 评论

unittest单元测试框架总结

(一)unittest简介 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。参考:https://www.cnblogs.com/yufeihlf/p/5707929.html#test0(二)代码演示1.Calculator.p...
原创
发布博客 2020.03.18 ·
503 阅读 ·
0 点赞 ·
1 评论

python装饰器的详细解析

参考:python装饰器的详细解析
原创
发布博客 2020.02.09 ·
272 阅读 ·
1 点赞 ·
0 评论

数据结构之二叉树

(一)前言数据结构面试常问的几种类型:递归算法、链表操作、栈操作、队列操作、二叉树、动态规划、搜索的知识点(二)二叉树基础参考:数据结构二叉树基础(三)java实现二叉树二叉树的存储结构分为:顺序存储--数组存储、链式存储--单向链表存储1.定义二叉树节点/** * 树的表示: * 1.树的双亲表示法 * 2.树的孩子表示法 * 3.树...
原创
发布博客 2019.11.19 ·
216 阅读 ·
0 点赞 ·
0 评论

数据结构之单向链表

(一)单向链表简介单向链表是指每个节点只由值域和一个指针域组成,指针域用来存储数据元素直接后继节点的位置。示意图数组和链表都是线性表的存储结构,在上一篇 数据结构之栈和队列 应用到了数组和链表实现栈和队列。下面分析数组和链表的优缺点。数组:事先设定存储单元的大小,在实际应用中局限线比较大,使用起来不够 灵活 预定过大的浪费空间,预定过小可能造成存储空间不足 查询效率高...
原创
发布博客 2019.11.13 ·
276 阅读 ·
0 点赞 ·
0 评论

数据结构之栈和队列

(一)栈的定义示意图:栈:是一种只能在一端插入或删除操作的线性表栈的几个重要概念:运行进行插入、删除操作的一端称为栈顶 表的另一端称为栈底 当栈中没有元素时,称为空栈 栈中插入元素称为入栈 栈中删除元素称为出栈栈的主要特点:先进后出,既后进的元素先出栈。(二)栈的代码实现栈的实现方式有2种:静态栈--数组实现 动态栈--链表实现1.静态栈--数组实现...
原创
发布博客 2019.11.11 ·
254 阅读 ·
0 点赞 ·
0 评论

计算机网络知识汇总

1.第一章:应用层 1.1 HTTP详解 1.2 搞懂TCP的三次握手四次挥手 1.3TCP的三次握手与四次挥手理解及面试题
原创
发布博客 2019.11.08 ·
198 阅读 ·
0 点赞 ·
0 评论

Java中的3个常用并发工具类

(一)等待多线程完成的CountDownLatchCountDownLatch允许一个或多个线程等待其他线程完成操作。 假如有这样一个需求:我们需要解析一个Excel里多个sheet的数据,此时可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完 成。在这个需求中,要实现主线程等待所有线程完成sheet的解析操作,最简单的...
原创
发布博客 2019.11.06 ·
470 阅读 ·
0 点赞 ·
0 评论

java线程安全性-原子13个操作类

(一)原子类简介 当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i=1,A线程更新i+1,B线程也更新i+1,经过两个线程操作之后可能i不等于3,而是等于2。因 为A和B线程在更新变量i的时候拿到的i都是1,这就是线程不安全的更新操作,通常我们会使 用synchronized来解决这个问题,synchronized会保证多线程不会同时更新变...
原创
发布博客 2019.11.05 ·
297 阅读 ·
0 点赞 ·
0 评论

java并发编程总汇

章节总汇第一章:并发编程的优缺点第二章:线程的状态转换以及基本操作第三章:Java内存模型以及happens-before规则第四章:彻底理解synchronized第五章:彻底理解volatile第六章:你以为你真的了解final吗?第七章:三大性质总结:原子性、可见性以及有序性第八章:初识Lock与AbstractQueuedSynchronizer(AQS)...
原创
发布博客 2019.11.05 ·
437 阅读 ·
0 点赞 ·
0 评论

深入理解Spring的事务传播行为

前言Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,它不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多,你一定也听过“service方法事务最好不要嵌套”的传言。要想正确的使用工具首先需要了解工具。本文...
原创
发布博客 2019.10.22 ·
551 阅读 ·
1 点赞 ·
1 评论

Spring事件机制的使用

(一)、事件发布1.启动SpringBoot项目@SpringBootApplicationpublic class SpringEventApplication { public static void main(String[] args) throws Exception { SpringApplication.run(SpringEventApplic...
原创
发布博客 2019.09.18 ·
545 阅读 ·
0 点赞 ·
0 评论

线程池的基本使用

(一)线程池简介1.什么是线程池?使用线程池的优势体现在哪?为了避免频繁重复的创建和销毁线程,我们可以让这些线程进行复用,在线程池中,总会有活跃的线程在占用,但是线程池中也会存在没有占用的线程,这些线程处于空闲状态,当有任务的时候会从池子里面拿去一个线程来进行使用,当完成工作后,并没有销毁线程,而是将将线程放回到池子中去。作用:第一:降低资源消耗.通过重复利用自己创建的线程降低线程...
原创
发布博客 2019.09.18 ·
446 阅读 ·
0 点赞 ·
0 评论

Mybatis工作知识总结

1.遍历list查询List<InvestDetailPO> getByPayOrderIds(@Param("payOrderIds") List<String> payOrderIds); <select id="getByPayOrderIds" resultMap="BaseResultMap"> SELECT <include refi...
原创
发布博客 2019.10.21 ·
132 阅读 ·
0 点赞 ·
0 评论

java8之Stream API

(一)Stream API简述Java8中有两大最为重要的改变。第一个是 Lambda 表达式,另外一个则是 Stream API(java.util.stream.*)。 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对 集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 使Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数 据库查...
原创
发布博客 2019.08.16 ·
163 阅读 ·
1 点赞 ·
0 评论

java8之Lambda表达式

(一)Java 8 新特性简介速度更快 代码更少(增加了新的语法 Lambda 表达式) 强大的 Stream API 便于并行 最大化减少空指针异常 Optional 其中最为核心的为 Lambda 表达式与Stream API(二)Lambda 表达式为什么使用 Lambda 表达式?Lambda 是一个 匿名函数,我们可以把 Lambda表达式理解为是 一段可以...
原创
发布博客 2019.08.03 ·
166 阅读 ·
0 点赞 ·
0 评论

第八篇:SpringBoot整合Redis实现分布式缓存

(一)前言 实际开发中缓存处理是必须的,不可能我们每次客户端去请求一次服务器 ,服务器每次都要去数据库中进行查找,为什么要使用缓存?说到底是为了提高系统的运行速度。将用户频繁访问的内容存放在离用户最近访问速度最快的地方,提高应用的响应速度,提升用户的体验。(二)项目环境及结构环境:JDK1.8,Maven3.5.4,SpringBoot 1.5.21.RELEASE、Red...
原创
发布博客 2019.07.07 ·
2147 阅读 ·
2 点赞 ·
3 评论
加载更多