自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Evan_QB的博客

守护繁华,必先远离繁华

  • 博客(509)
  • 资源 (4)
  • 收藏
  • 关注

原创 【redis进阶】Redis String数据类型为什么不好用

String内存的主要开销,RedisObject结构、SDS结构、dictEntry结构的内存开销。可以使用压缩列表来保存数据,只需将单值数据拆分成两部分,分别作为Hash集合的key和value,即以二级编码的方式存入集合中。二级编码类似分库,将主键多后三位作为分库的依据,后三位相同的主键会被映射到同一个哈希表中,再在这个哈希表内查询。第一层采用压缩列表的方式,降低了直接存储字符串单值数据的元数据冗余,第二层则采用保存具体的数据。

2023-09-10 23:01:06 371

原创 【redis进阶】基础知识简要回顾

使用list集合的差集、并集来统计Redis 会使用装载因子(load factor)来判断是否需要做 rehash。装载因子的计算方式是,哈希表中所有 entry 的个数除以哈希表的哈希桶个数。Redis 会根据装载因子的两种情况,来触发 rehash 操作:装载因子≥1,同时,哈希表被允许进行 rehash;装载因子≥5。在第一种情况下,如果装载因子等于 1,同时我们假设,所有键值对是平均分布在哈希表的各个桶中的,那么,此时,哈希表可以不用链式哈希,因为一个哈希桶正好保存了一个键值对。

2023-09-10 18:25:31 304

原创 【数据结构】你不知道的“二分查找”

二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。普通版代码实现:public static int binarySearch(int[] arr,int num){ int left = 0; int right = arr.length - 1; while (left <= right){ //防止两者之后导致类型值溢出

2021-04-28 10:24:08 429 1

原创 常见排序算法汇总(下)

开篇问题:如何根据年龄给100万用户数据排序以下几种排序就比较适用这种数据量比较大的场景。桶排序核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排完序之后,再把每个桶里的数据按照顺序依次取出,组成的序列就是有序的了。如果每个桶的数据分布不均匀,可以在数据比较多的桶里继续划分数据。桶排序比较适合用在外部排序中。所谓的外部排序就是数据存储在外部磁盘中,数据量比较大,内存有限,无法将数据全部加载到内存中。容器版public static voi.

2021-04-22 19:47:51 311

原创 常见排序算法汇总(中)

上篇文章讲到了:冒泡排序、插入排序、选择排序,这篇文章我们讲归并排序和快速排序。常见排序算法汇总(上)归并排序归并排序主要把数组从中间分成两部分,然后对前后两部分进行排序下,再将排好序的两部分合并在一起,这样整个数组就有序了。代码实现:public static void mergeSort(int[] arr) { sort(arr, 0, arr.length - 1);}public static void sort(int[] arr, i...

2021-04-21 09:30:10 232

原创 常见排序算法汇总(上)

排序对于任何一个程序员来说,可能都不会陌生。你学的第一个算法,可能就是排序。大部分编程语言中,也都提供了排序函数。在平常的项目中,也经常会用到排序。排序算法非常多,我们这次只总结部分常用的排序算法:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。冒泡排序冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复n次,就完成了n个数据的排序工作。.

2021-04-20 15:33:00 175 2

原创 【leetcode之旅】栈 - 155.最小栈

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出:[

2021-04-19 22:15:29 99

原创 【leetcode之旅】栈 - 20.有效的括号

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2021-04-18 22:16:02 127

原创 【leetcode之旅】字符串 - 415. 字符串相加

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。提示:num1 和num2 的长度都小于 5100num1 和num2 都只包含数字 0-9num1 和num2 都不包含任何前导零你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式题目解析:给定两个非负整数的字符串num1和num2,计算它们的和,不能将字符串转化为数字再进行计算。解题思路:我们可以使用常规暴力方法,从最后开始遍历字符,定义一个进位符号,当两个字符相加的数据超过10

2021-03-26 14:05:27 120 1

原创 【leetcode之旅】字符串 - 387. 字符串中的第一个唯一字符

s = "leetcode"返回 0s = "loveleetcode"返回 2

2021-03-25 08:44:15 110

原创 【leetcode之旅】字符串 - 345. 反转字符串中的元音字母

需求描述:编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入:“hello”输出:“holle”示例 2:输入:“leetcode”输出:“leotcede”提示:元音字母不包含字母 “y” 。解题解析:该题的目的很明确,即将元音字母进行反转即可,那么问题来了,什么叫元音字母呢?a、e、i、o、u 5个字母就是元音字母,所以我们只需反转这几个字母即可,其他字母不变。思路解析:我们可以定义两个下标left和right,分别从头往后、从最后往前进行遍历。

2021-03-23 23:01:38 177

原创 【leetcode之旅】字符串 - 344.反转字符串

编写一个程序,其作用是将输入的字符串反转过来。示例1:输入: "hello"输出: "olleh"示例2:输入: "A man, a plan, a canal: Panama"输出: "amanaP :lanac a ,nalp a ,nam A"题目解析:该题的目的很明确,就是将所有输入的字符串全部进行反转,例子如示例。解题思路:将字符串拆分成单个的字符数组,然后逐一进行交换。代码实现:public String reverseString(char[]

2020-11-02 09:51:18 170

原创 六一快乐,盘点童年那些经典的小玩意

不知不觉,就到了六一儿童节了。我都快记不清楚,上一次我们有资格过的六一儿童节是什么时候。都忘记了最后一次过六一是什么时候,它就已经是别人的节日了。 虽说岁月一去不复返,但还是给我们留下了一段段美好而已好玩的回忆。那么我们这一期就来盘点一下,我们以前玩过的那些有趣的玩意。一、纸青蛙 你别看它小,它跳得可远了。当年为了折出这玩意,我还各种向别人请教折法,然后把作业本都撕了,就为了折出最厉害的纸青蛙。二、画片 这个小时候就像小孩的货币一样,...

2020-06-01 23:44:47 425

原创 【python实战系列】让别人替你操作浏览器-selenium(八)

日常生活中,我们无时无刻都在访问浏览器,有时用它来看看新闻;有时用它来查查资料,还可以用它看视频等等。浏览器的功能无比广泛,几乎我们想要的很多东西,都可以在浏览器上找到。 我们很多时候都会用到浏览器,且很多人会用它来做很多重复而又无聊的事情,例如,每天在浏览器上打个卡,或者签个到什么的。极其无聊,但每天又不得不重复。 各位是不是在想我是不是这次要将怎么让自己每天自动签到?想多了,我也觉得很无聊~。不过我用的这个工具Selenium却可以做到这些。让它来代替我们进行操作。...

2020-05-20 09:31:26 447

原创 【python实战系列】批量下载喜欢的漫画(七)

最近一段时间迷上了看漫画,所以一不小心就拖更,哈哈,漫画的魅力实在是太大了,没办法,我也控几不住我记几啊。 不过最近家中网络老是不好,严重影响我看漫画的心情,于是就想着提前把漫画在公司下载下来,等到了没网或者网络不好的时候再看。但一个个下载漫画太慢了,有下载这功夫,我还不如直接看完。人呐,就是一个懒惰而又矛盾的生命体啊。没办法,只能另外想办法了。 虽说生活已经如此地艰难,但我还是想到了办法,可以通过一个程序对漫画进行批量下载,并将每个系列归类到各个文件夹中。 ...

2020-05-18 13:53:57 1821 8

原创 【python实战系列】方便的工具-网络爬虫(六)

今天晚上就在我刚刚学了一点python的爬虫时,我的室友找到了我,说他最近关注了一个很有意思的博主,想把他的文章内容全部抓取下来,方便查看。听说我最近学点一点点爬虫的小技巧,于是想让我帮帮忙。 正好我学了爬虫没地方去使用,于是我拿起键盘就敲起了代码。首先找到那位博主,分析分析他文章的结构: 进入该网页:https://blog.csdn.net/evan_qb/article/...

2020-03-30 17:48:20 259

原创 【python实战系列】论文备份的重要性(五)

最近,小浩同学因为论文的事天天在和我抱怨。他的论文已经修改了n遍了,他的导师还是不满意,动不动就重写,着实无情。 看着他我笑而不语,仿佛就回到了当时我改论文的时候,因为我们的论文刚好被抽到,可能会被教育局抽查,所以导师抓的特别严,改论文改得怀疑人生。 印象特别深刻,有个哥们查重率都达到5%以下了,导师依然不肯放过他。很多论文到最后时刻都胶装好了,依然没什么用,统统回炉重...

2020-03-12 10:39:23 275

原创 【python实战系列】寻找失踪的文件(四)

相信很多小伙伴有过这样的困扰,每次你在编辑文件时,将文件保存后就不知道文件到哪里去了,找了半天也找不到,最后没办法,只能将好不容易做好的文档进行重做,很是苦恼。 这时候你肯定就想用window自带的搜索功能来搜索你要找的文件,然后window的搜索功能本身就是一个很鸡肋,也许你等了几十秒搜索的东西还不会搜索得到,甚至电脑还会就此卡住。这时候你就迫切需要一个好的搜索软件来...

2020-03-09 21:55:31 189

原创 【python实战系列】多重剪切板(三)

2020年是个不幸的一年,由于疫情,各种事情都遭到了延迟,复工、开学似乎成为了一种愿望。各大企业为了降低风险,都纷纷出现了裁人、降薪的现象。大量人员在家中待业,入不敷出,还面临着房贷车贷的压力。在这里也真心希望,疫情早点过去,还我们一个纯净的世界。 由于疫情,我的一个朋友小浩都差点延期毕业了,不过还好,由于疫情相关政策的调整,他现在可以在家进行远程答辩,避免了延迟答辩的尴尬。...

2020-03-09 21:52:02 1185 4

原创 【python实战系列】生成随机的考试试卷(二)

最近我的一个好朋友小杨拿到了她的教师资格证,马上就要成为一名老师了,虽说以前不怎么喜欢老师,但随着长大发现,老师还真是一个很好的职业。假期又多,又受人尊重,而且工作也很稳定。看来以后要叫她杨老师了。最近在疯狂地为当老师做着准备。最近遇到了一些困惑,就是她不想像以前那样古板,每次都准备很多份一样的卷子,答案和题目都一样,这样就大大提高了学生作弊的可能。所以想制定一份特殊的考卷,让每个学生拿到...

2020-03-09 21:43:34 883 2

原创 【python实战系列】python实现邮件收集(一)

我们经常会有这样的困扰,当别人需要你帮忙手机某个网页上或某个文献里面的所有邮箱,这看起来是一个简单的活。但如果网站或文献上的数据杂乱又繁多,收集起来极其有难度。这时,我们可以使用python来解决这一问题话不多说,接下来我们就来实战一波列出解题思路: 为邮件创建一个正则表达式 在剪切板文本中找到所有匹配 将符合的数据收集起来 将所有邮箱输出...

2020-03-09 21:37:24 776 1

转载 【linux】nfs共享磁盘

一:概念:NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。最早由sun公司开发,是类unix系统间实现磁盘共享的一种方法。缺点:1:nfs属于本地文件系统,在高并发场景和大存储量下,需要使用分布式存储mfs,...

2019-11-27 14:02:52 1008

原创 【mysql】mysql触发器实现不同数据库表的数据同步

首先建立两个库并创建两个表,一个备份库用于原始库,用于存储数据,一个备份库用于同步数据。备份库原始库我们在test库中的t_user中创建触发器:开始建立触发器同步数据-- 插入操作DELIMITER $CREATE TRIGGER tr_insert_t_user AFTER INSERT ON t_user FOR EACH ROWBEGIN -- 插入目标表...

2019-06-24 13:36:36 3144 3

原创 【git】git添加多个ssh密钥访问项目

在对项目用git进行远端操作时,我们可以使用两种协议进行交互,分别是HTTPS和SSH协议交互,我们今天不探讨其区别,只研究如何通过ssh和github进行交互首先我们需要安装git命令,这个就不详细说明使用git bash进行系统根目录,并使用git生成私钥和公钥cd ~ssh-keygen -t rsa -C '填写自己的邮箱@qq.com' -f ~/.ssh/github_rs...

2019-05-06 16:42:25 566

原创 【maven】使用maven分环境打包

在开发时,我们总会在开发环境,测试环境、以及生产环境之间进行切换,每次打包时,我们都需要修改对应的配置,这样的方法不仅繁琐,而且容易犯错。基于这种情况,我们可以通过传入参数,打不同环境的包,来对不同环境进行发布我们首先准备三个环境的配置文件: dev 、test、pro,目录结构如下:接下来我们在pom.xml中使用profiles对不需要的文件进行exclude、默认加载文件的配置以及...

2019-05-06 10:17:33 848 2

原创 【maven】制作maven插件统计文件数量

编写一个maven插件,install到本地仓库,其他项目通过引用这个插件来统计文件的数量准备一个编写插件的类引入相关的依赖,并将改pom的打包方式改成<!--自定义插件所需依赖--> <dependency> <groupId>org.apache.maven</groupId> <artifact...

2019-05-06 09:49:14 414

转载 【git】gitlab用户权限说明

2019-04-18 13:55:08 829

原创 【elasticsearch】elasticsearch常见操作

1. 新增索引PUT /megacorp/employee/1{ "first_name":"qb", "last_name":"evan", "age":23, "above":"我喜欢爬山", "interests": ["运动","听音乐","编程"]}PUT /megacorp/employee/2{ "first_name":"qb2", "las...

2019-04-02 16:27:39 312

转载 【elasticsearch】简介、安装&配置、集成Ikanalyzer

一、ES简介1.ES是什么?Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。Elasticsearch 不仅仅只是一个全文搜索引擎。 ...

2019-04-02 14:31:09 398

原创 【设计模式】UML类图关系总结

总结一下UML中各种关系的画法继承(空心三角形+实线)实现(空心三角形+虚线)关联(实线箭头)聚合(空心菱形+实线箭头)聚合表示一种弱的‘拥有’关系,体现是A对象可以包含B对象,但B对象不是A对象的一部分合成(组合)(实心菱形+实线箭头)合成是一种强的‘拥有’关系,体现了严格的部分和整体的关系依赖(虚线箭头)...

2019-01-31 16:07:07 191

转载 【javaWeb】SonarQube的安装、配置与使用

SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装、配置以及使用。准备工作;1、jdk(不再介绍)2、sonarqube:http://www.sonarqube.org/downloads/3、SonarQube+Scanner:https://sonarsource.bintray.com/Distributi...

2019-01-31 14:25:55 685

原创 【javaWeb】postman测试登录的接口

一般,每个系统都会有一个登录过滤器或者拦截器,当用户登录后,用户信息存入session或redis中,这样就能调用对应的接口,但这也给接口测试带来麻烦,一般测试时都是将拦截器或过滤器关闭,不过好在postman提供了一个添加session或者请求头的方法,下面我们来介绍一下首先我们先进入系统,使用账号进行登录,同时打开F12开发者工具,选中network如图我们点击header找到co...

2019-01-17 09:27:06 1490

转载 【linux】Centos7创建用户并授予sudo权限

实测环境:centos7.4 x64。sudo权限说明:允许普通用户执行一些或者全部的root命令。创建用户: #adduser username设置密码: #passwd username 回车,顺序录入新密码及确认密码授权sudo权限,需要修改sudoers文件。 a. 首先找到文件位置,示例中文件在/etc/sudoers位置。 whereis sudoersb....

2019-01-11 11:03:48 410

转载 【Html5】H5常见标签

&lt;!DOCTYPE html&gt; &lt;!-- 使用 HTML5 doctype,不区分大小写 --&gt;&lt;html lang="zh-cmn-Hans"&gt; &lt;!-- 更加标准的 lang 属性写法 http://zhi.hu/XyIa --&gt;&lt;head&gt; &lt;!-- 声明文档使用的字符编码 --&gt; &l

2019-01-10 13:56:17 467

原创 【js】腾讯视频接口调用

有时我们想在我们的网站上的宣传页引入一段视频,但又不想自己写,这时我们可以调用其他视频的接口,从而达到需求首先引入js文件&lt;script src="http://qzs.qq.com/tencentvideo_v1/js/tvp/tvp.player.js" charset="utf-8"&gt;&lt;/script&gt;准备一个div,用于放置视频&lt;div ...

2019-01-05 10:13:40 32138 2

转载 【html5】解决rem布局文字闪动的问题

css样式加上@media (min-width: 320px){html{font-size: 42.6667px;} }@media (min-width: 360px){html{font-size: 48px;} }@media (min-width: 375px){html{font-size: 50px;} }@media (min-width: 384px){html{fon...

2019-01-03 14:52:13 1392

转载 【好文】一位资深程序员大牛给予Java初学者的学习路线建议

 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。  在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java...

2018-12-14 11:23:39 305

转载 【安全】什么是Base64算法?

转载自&amp;nbsp;玻璃猫 程序员小灰&amp;nbsp;Value Char &amp;nbsp; Value Char &amp;nbsp; Value Char &amp;nbsp; Value Char 0 A 16 Q 32 g 48

2018-11-28 17:39:59 363

转载 【javaSE】HashMap在jdk1.7与jdk1.8中的原理及不同

整理笔记1  hashMap为何采用hash表存数据。如果不用hash表,集合中数据是无序的,当我们向集合中添加一个数据时需要同集合中所有的数据进行equals比较,当集合数据比较大时效率是非常的低。因此用hash表存储数据效率非常高。hash表的底层是数组,数组中存的是entry对象,默认长度是16.      当我们往hash表中添加一个对象时,会调用对象的hash code方法,...

2018-11-28 11:47:20 477

原创 【leetcode之旅】字符串 - 383.赎金信

给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruct("a", "...

2018-11-26 17:56:25 279

将集合转换为Json的相关jar包

可以直接将集合的类型,直接转换为Json的格式,方便实现ajax数据的读取

2017-12-28

webservice相关jar包

使用webservice可以调用各种外部提供的接口,同时自己也可以提供服务给别人

2017-12-27

SpringSecurity

是spring一类的包,用于中跳转网页之间的权限管理,可以快速进行权限管理

2017-12-18

H2数据库驱动包

该文件为h2数据库的驱动包,可以用于测试进行数据库的链接,方便快捷

2017-12-17

空空如也

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

TA关注的人

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