自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 SSM框架的官方文档链接

MyBatis官方文档:Spring官方文档全英版:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.htmlSpring中文文档:https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference

2021-08-01 22:27:48 922 1

原创 可视化学习数据结构和算法的网站(免费可用)

数据结构可视化https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

2021-08-01 22:27:32 255

原创 pytest入门笔记--目录

本篇为pytest学习笔记系列,目录根据官方文档的内容进行划分。后面会陆续更新新的学习笔记篇章,然后将链接集中贴在本篇博客上。官方文档的地址:https://docs.pytest.org/en/latest/getting-started.html#install-pytest一、入门https://blog.csdn.net/weixin_39618279/article/details/116228321二、...

2021-04-28 10:33:33 333

原创 pytest入门笔记--入门

本篇梗概,主要。。。

2021-04-28 10:32:34 186

转载 Java正则化表达式

一、使用正则表达式的好处有哪些?一个正则表达式就是一个描述规则的字符串,所以,只需要编写正确的规则,我们就可以让正则表达式引擎去判断目标字符串是否符合规则。正则表达式是一套标准,它可以用于任何语言。Java标准库的java.util.regex包内置了正则表达式引擎,在Java程序中使用正则表达式非常简单。1、要判断用户输入的年份是否是20##年一共有4个字符,分别是:2,0,0~9任意数字,0~9任意数字。对应的正则表达式就是:20\d\d,其中\d表示任意一个数字。把正则表达式转

2021-04-27 14:05:38 346

原创 Redis基础概念以及面试问题

1、什么是 Redis?Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:① Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。② Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。 Redis 支持数据的备份,即 master-slave 模式的数据备份。

2021-04-13 15:18:08 132

转载 PriorityQueue小根堆和大根堆里的方法

PriorityQueue的peek()和element()操作是常数时间,add(), offer(), 无参数的remove()以及poll()方法的时间复杂度都是log(N)。1、添加 add()和offer()add(E e)和offer(E e)的语义相同,都是向优先队列中插入元素,只是Queue接口规定二者对插入失败时的处理不同,前者在插入失败时抛出异常,后则则会返回false。对于PriorityQueue这两个方法其实没什么差别。2、获取队首元素 element()和peek()

2021-04-12 20:07:10 288

原创 JAVA调用小根堆和大根堆,求一组数中的第K小和第K大

小根堆就是小顶堆,大根堆就是大顶堆,一个意思。类型可以是Queue,也可以是PriorityQueue,这里直接用Queue也行新建一个小根堆Queue<Integer>A=new PriorityQueue<>();新建一个大根堆Queue<Integer> maxHeap = new PriorityQueue<>(()-> (y-x));1、求出一个数组中第K大的数解法思路:用小根堆,根堆有k个节点,最小的节点.

2021-04-12 19:42:34 401

原创 关于构建自动化手机兼容性测试平台的构想

第一阶段:以往的兼容性测试,需要手动使用不同厂商、不同型号和不同系统的手机设备进行兼容性的测试,但是这种固定且统一的操作需要在不同的设备上不停地重读,比较枯燥和浪费时间第二阶段:有腾讯WeTest和Testng等远程服务商,购买他们的远程服务,你能选择在不同的真机上进行代码的真机调试,也可以一键自动化跑兼容性测试,可以几百甚至上千台真机,但是服务费用比较高,而且可能有安装包代码泄露的危险思考可以优化和借鉴的地方:从资源整合服务商的模式可以借鉴,就是开发一个平台对公司内或者部门..

2021-04-08 16:05:44 207

原创 Fiddler使用自动回复AutoResponse功能模拟服务器应答

一、如果该条请求的返回是参数,则保存该条请求的回复文件未txt格式二、txt文件名称,如设为13_response.txt三、1.选中需要自动回复的请求 2.选中AutoResponser 3.Add Rule 4.勾选Enable rules 5.勾选Unmatcher requests passthrough(让其他请求通过) 6.选中新加入的请求链接 7.将链接前面的EXACT:去掉,直接确定唯一的请求,而不是匹配类似的请求,并且将连接中,?号后的参数去掉。...

2021-04-02 14:40:39 3356

转载 JAVA新建一个类的过程(从内存进行分析)

我们想要创建一个对象。基本上就是java虚拟机分配内存的过程。因此我们可以先回顾一下java程序的执行过程。一个例子去解释:我们测试一下:我们分析一下这个过程第一步,JVM去方法区寻找Test类的代码信息,如果有直接调用,没有的话使用类的加载机制把类加载进来。同时把静态变量、静态方法、常量加载进来。这里加载的是(“冯冬冬的IT技术栈”,“冯XX”);这是因为字符串是常量,age中的18是基本类型。第二步,jvm进入main方法,看到Person person=new Pers

2021-04-01 16:15:17 404

转载 Trie树基本原理(字典树,单词查找树)

https://blog.csdn.net/forever_dreams/article/details/81009580【介绍】Trie树是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。(这是从百度上找来的,本蒟蒻连哈希树是什么都不知道)【基本思想】那么首先,Trie树长什么样子呢?上图.

2021-04-01 11:10:33 169

转载 JAVA中BufferredReader的简单用法

BufferedReader可以用来读取文件或者接收来自键盘(控制台)的信息。它比Scanner更加快捷,能够大幅度缩短程序运行时间。它下面的readline()方法可以一次性读取一行文字(String),非常方便。需要注意的是,使用BufferedReader对象的readLine()方法必须处理java.io.IOException异常(Exception)。以及,在使用完BufferredReader以后,需要用close()方法关闭流。BufferedReader的初始化方法如下:1、接收

2021-03-30 23:51:19 2639

原创 关于非对称加密中的公钥和私钥的思考

非对称加密中,A和B都各自拥有一套公钥和私钥在A给B发信息时,A先得到B的公钥,然后用B的公钥加密,将加密好的消息发给B,此时就算其他人截获了A发给B的信息,他没有A的私钥,同样不能解密。但是为什么一定要A的私钥呢?由此,我猜想,公钥和私钥肯定存在着某种对应关系,且这种关系是不可逆的,就类似于MD5的加密,某串字符能加密成MD5格式,但是很难从MD5转回原密码,而在springsecurity中,通过MD5加密的登录验证过程,就是将密码加密成MD5格式存在数据库中,用户登录时,输入账号和密码,然

2021-03-24 02:00:14 580

转载 Linux三剑客

我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能更好的处理文件呢?这就要用到我们上面的三剑客命令。在说这三个命令前我们要插入一个小插曲就是“正则表达式”。转载:https://blog.csdn.net/sj349781478/article/details/82930982一、正则表达式 所谓的正则表达式我个人理解就是正规的表示方法。他是用简单的方法来实现强大的功能,所以深受计算机爱好者的使用。三剑客与正则表达式是什么关系呢?...

2021-03-23 14:15:50 412

转载 乐观锁和悲观锁的含义-实现方式-应用场景

何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据(修改)的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操...

2021-03-15 11:12:26 463

转载 HTTP中的无状态、无连接是什么意思呢?超详细

以前http、https、IP、TCP、UDP、TCP/IP都是靠背的,特别是http中的各种无连接无状态都是死记硬背的,过阵子又忘了,直到看到这篇文章,直接拍手叫好,转载给大家一起看原为地址:https://www.cnblogs.com/bellkosmos/p/5237146.html引子:最近在好好了解http,发现对介绍http的第一句话【http协议是无状态的,无连接的】就无法理解了:无状态的【状态】到底指的是什么?!找了很多资料不仅没有发现有一针见血正面回答这个问题的,而且有些

2021-03-14 17:35:26 1462

原创 Kafka的简单原理以及和rabbitMq的区别

RabbitMQ和kafka的区别1.应用场景方面RabbitMQ:用于实时的,对可靠性要求较高的消息传递上。kafka:用于处于活跃的流式数据,大数据量的数据处理上。2.架构模型方面producer,broker,consumerRabbitMQ:以broker为中心,有消息的确认机制kafka:以consumer为中心,无消息的确认机制3.吞吐量方面RabbitMQ:支持消息的可靠的传递,支持事务,不支持批量操作,基于存储的可靠性的要求存储可以采用内存或硬盘,吞吐量小。kafka:内部

2021-03-13 14:41:50 1344

转载 SpringBoot + Redis 实现分布式缓存以及可能出现的问题

缓存概念缓存(Cache):指将程序或系统中常用的数据对象存储在像内存这样特定的介质中,以避免在每次程序调用时,重新创建或组织数据所带来的性能损耗,从而提高了系统的整体运行速度。以目前的系统架构来说,用户的请求一般会先经过缓存系统,如果缓存中没有相关的数据,就会在其他系统中查询到相应的数据并保存在缓存中,最后返回给调用方。本地缓存:指程序级别的缓存组件,它的特点是本地缓存和应用程序会运行在同一个进程中,所以本地缓存的操作会非常快,因为在同一个进程内也意味着不会有网络上的延迟和开销。本地缓存适

2021-03-13 14:17:22 348

原创 微服务和分布式的区别,个人看法

分布式:一个业务分拆多个子业务,部署在不同的服务器上微服务:在设计一个商城系统的时候,比如有用户模块,支付模块,购物车模块,订单模块等,此时可以采用SOA(面向服务的架构)模型,把这些功能模块拆分出来,做成一个个服务,如用户服务,支付服务等。这样就成了多个服务组成一个完整的商城系统。分布式:上边拆分出来的一个个服务就是微服务,这些服务之间通过良好的接口和协议联系起来。此时就要考虑如何部署这些微服务了,是选择部署到一个服务器上呢,还是部署到不同的服务器上。前者是微服务与分布式的细微区别,后者就是.

2021-03-13 11:36:40 1461 1

转载 zookeeper面试题常考和高频

推荐一位博主写的https://www.cnblogs.com/lanqiu5ge/p/9405601.html

2021-03-13 11:03:30 74

转载 分布式Zookeeper集群的Leader选举详细过程

最近在复习Zookeeper,leader选举过程,这位博主写的很好,转载一下https://www.cnblogs.com/leesf456/p/6107600.html一、前言  前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举。二、Leader选举  2.1 Leader选举概述  Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下两种情况之一

2021-03-13 10:54:38 524

原创 SpringSecurity的内部执行流程

SpringSecurity是用来保护网页或者接口不被所有用户随意访问,因此它包含两个功能,认证和授权,认证就是登录,授权就是根据登录的用户的角色而给与不同的系统权限,比如你们的校园网,一般氛围管理员、教师和学生,你登录和老师登录系统后,得到的权限是不一样的,这就是权限管理。在不用SpringSecurity等权限管理框架的情况下,我们设计的登录系统的基本逻辑就是:前端表单输入用户名和密码——>通过用户名在数据库中查找该用户(queryByUsername)——>通过对比表单接收的密码和

2021-03-10 19:00:54 256 1

转载 fiddler过滤一些无效或者特定的包

这里有一篇写的挺好的,转载有需要可以看看。https://www.cnblogs.com/sjl179947253/p/7627250.html

2021-03-04 16:44:45 337 1

原创 数据库语句在编写时为什么要用小表驱动大表?

非常有道理。

2021-03-02 17:48:32 265

原创 MySql的常见操作方法和代码

一、基础mysql执行顺序1. from2. on3. join4. where5. group by6. with7. having8. select9. distinct10. order by11. limit1、说明:创建数据库 CREATE DATABASE database-name2、说明:删除数据库 drop database dbname3、说明:创建新表 create table tabname(col1 type1...

2021-03-02 17:47:17 430

原创 索引是什么?它的本质是什么?详细解剖

以前以为的索引,就是在表中的一个主键列,比如id,但其实如果id在没有加特殊意义的情况下,id列就仅仅是一个列,如select student where id = 1001;其实和select student where name = "小明";效率并没有差多少,本质上都需要遍历,而且是全表遍历完,找到where后面对应的条件的行进行返回。而加了主键的话,也只是加了一种约束,即id这一列是非空且唯一的,就是不能有其他学生的id相同,也不能为空,这就是主键约束。说了那么多,那究竟什么是索引呢,索引它是.

2021-03-02 10:40:05 1977

原创 利用Prometheus(普罗米修斯)&Grafana对机器群的运行时各项数据进行监控

架构这里我们用第三方的exporter采集机器数据,prometheus直接从exporter的实例pull数据,然后用grafana展现和告警。grafana可以选择多个数据来源,所以机器较多时,我们可以配置多个prometheus汇集数据,再统一由grafana展现,一般可以按照地域、业务、机房等维度进行划分。...

2021-03-01 15:46:39 351

原创 快速排序算法原理和Java实现。详细版

一下是原始的数组,一共是10位 72 6 57 88 60 42 83 73 48 85 0 1 2 3 4 5 6 7 .

2021-02-25 15:17:30 101

原创 Java实现红黑树,你会手写?

Java实现红黑树package com.kun.kunspringbootweb.foo.tree; import java.util.ArrayList;import java.util.List;import java.util.concurrent.ConcurrentHashMap; /** * 红黑树-Java实现例子 */public class MyRBTree<T extends Comparable<T>, D> {

2021-02-24 15:20:48 1809

转载 java后端技术栈 基本齐全

java技术栈1 java基础:1.1 算法1.1 排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序 1.2 二叉查找树、红黑树、B树、B+树、LSM树(分别有对应的应用,数据库、HBase) 1.3 BitSet解决数据重复和是否存在等问题1.2 基本2.1 字符串常量池的迁移 2.2 字符串KMP算法 2.3 equals和hashcode 2.4 泛型、异常、反射 2.5 string的hash算法 2.6 hash冲突的解

2021-02-24 09:16:58 808 1

原创 多个if 和if elseif else情况的区别

多个if型:int a=0;if(a==0){ a++; printf("aaa");} if(a==1) printf("bbb");if(a==2) printf("ccc"); 最终输出:aaabbb,在多个if语句中,所有的if都会进行判断,无论是否满足情况.所以在满足a==0时,执行了a++,a就变成了1,当进行a==1判断时,也符合,故也执行了printf("bbb")-------------------------------------------.

2021-02-23 15:08:56 661

原创 简单和常用的设计模式的Java实现

1、单例模式单例模式(Singleton)的目的是为了保证在一个进程中,某个类有且仅有一个实例。因为这个类只有一个实例,因此,自然不能让调用方使用new Xyz()来创建实例了。所以,单例的构造方法必须是private,这样就防止了调用方自己创建实例,但是在类的内部,是可以用一个静态字段来引用唯一创建的实例的:单例模式的实现方式很简单:只有private构造方法,确保外部无法实例化; 通过private static变量持有唯一实例,保证全局唯一性; 通过public static...

2021-02-23 10:57:25 103 1

转载 redis简单操作

一、基本命令1、基础命令开启redis客户端: redis-cli2、二、发布订阅 开启本地 Redis 服务,开启两个 redis-cli 客户端。 在第一个 redis-cli 客户端输入SUBSCRIBE runoobChat,意思是订阅runoobChat频道。 在第二个 redis-cli 客户端输入PUBLISH runoobChat "Redis PUBLISH test"往 runoobChat 频道发送消息,这个时候在第一个 red...

2021-02-22 19:41:00 231

原创 编程菜鸟之SpringScurity的初体验

在不进行分布式的情况,在Springboot中配置SpringScurity很简单,只需要在创建spring boot项目时勾选SpringScurity依赖,或者在pom文件中添加依赖。1、引入SpringScurity或者在pom.xml文件中添加依赖。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta

2021-02-20 14:38:40 260

转载 Zookeeper Leader的选举原理

为转载其他教程:https://www.runoob.com/w3cnote/zookeeper-leader.htmlzookeeper 的 leader 选举存在两个阶段,一个是服务器启动时 leader 选举,另一个是运行过程中 leader 服务器宕机。在分析选举原理前,先介绍几个重要的参数。服务器 ID(myid):编号越大在选举算法中权重越大 事务 ID(zxid):值越大说明数据越新,权重越大 逻辑时钟(epoch-logicalclock):同一轮投票过程中的逻辑时钟值是相同的,

2021-02-20 10:24:38 149

原创 《剑指offer》48.求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号

《 剑指offer》第48题public class Solution { public int Add(int num1,int num2) { while(num2!=0){ int c = ((int)(num1 & num2))<<1; // 用来处理同位是1的情况,相当于1+1,和为0,然后进1 num1=num1^num2; //相同值为0,不同值为1,相当于同位没有1的情况下的加法

2021-02-09 15:38:41 161

原创 CSS 布局 对齐

1、CSS 布局 - 水平 & 垂直对齐1.1 元素居中对齐要水平居中对齐一个元素(如 <div>), 可以使用margin: auto;。设置到元素的宽度将防止它溢出到容器的边缘。元素通过指定宽度,并将两边的空外边距平均分配:<!DOCTYPE html><html><head><meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title&gt.

2021-01-29 10:51:36 448

原创 CSS基础知识(定位、overflow、浮动)

1、CSSPosition(定位)position 属性指定了元素的定位类型。position 属性的五个值:static relative fixed absolute sticky1.1static 定位HTML 元素的默认值,即没有定位,遵循正常的文档流对象。静态定位的元素不会受到 top, bottom, left, right影响。1.2fixed 定位(常用于网站导航头)元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动:p....

2021-01-29 10:35:04 561

原创 CSS基础知识(尺寸、Display)

1、CSS尺寸 (Dimension)height 设置元素的高度。 line-height 设置行高。 max-height 设置元素的最大高度。 max-width 设置元素的最大宽度。 min-height 设置元素的最小高度。 min-width 设置元素的最小宽度。 width 设置元素的宽度。 1.1 设置高度和宽度img.big{ height:220px; width:170px;}1.2 按..

2021-01-29 00:37:01 364

空空如也

空空如也

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

TA关注的人

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