自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凌凌小博客

笨鸟先飞,厚积薄发

  • 博客(211)
  • 资源 (3)
  • 收藏
  • 关注

原创 redis的事务与管道

redis的事务与管道一、redis的管道##1. 使用管道技术的原因redis是一个客户端-服务器(CS)模型和请求/响应协议的TCP服务器,使用和http类似的请求响应协议。一个client可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完请求命令后会将结果通过响应报文返回给client。所以,如果一个业务逻辑...

2018-12-25 18:02:18 6960

原创 基于Token的WEB后台认证机制(会话机制)

几种常用的认证机制HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放的RESTful API时,尽量避...

2018-11-07 09:14:35 5118

原创 MySQL InnoDB中脏读引发的select查询原理思考

一、MySQL InnoDB事务隔离级别脏读、可重复读、幻读MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ)。·        1)未提交读(READUNCOMMITTED)。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)( 隔离级别最低,并发性能高 )。·        2)提交读(READ...

2018-09-26 17:39:45 2822

原创 @Service、@Repository注解是放到service或者dao类的实现类还是接口类中

@Service、@Repository注解是放到service或者dao类的实现类还是接口类中应该很多刚开始接触Spring和springMVC的小白,都会像我当时学习的时候一样,心理都会有这么一个问题,@Service、@Repository注解是放到service或者dao类的实现类还是接口类上面?会提出这个问题,一说明你是一个会思考的人,而说明你对接口的概念以及对Spring的IOC思...

2017-08-14 16:04:07 42443 16

原创 人生第一份跳槽面试经历

一. 叮咚买菜1. 一面跳槽的第一面,问的比较简单,当时也没有记录面试过程中的问题2. 二面叮咚买菜公司现场面,面试官面试是跳跃性问的,没有交互的过程,问一个问题,我回答后,没有任何反应,不确定回答的对不对,他就是机械性的回应:嗯,那我们再来下一个问题,,,并且问的问题偏向实战经验。自己实现一个线程池大量网络timeout怎么排查发版导致cpu上涨怎么排查数据库组合索引a= and b between () and c哪些用到了索引把数据库大量数据同步到redis,怎么快速导入

2021-06-27 23:08:27 936

原创 mac上安装go环境

一、安装go环境方法一:使用brew安装go1、安装命令:brew install go2、检查:终端,输入brew info go或者go env即可查看当前安装的golang版本信息3、配置go路径环境变量添加用户环境变量,只需要修改 ~/.bash_profile(Bourne Shell)或 ~/.zshrc(zsh)或其他用户级配置文件即可。如果Mac终端使用的shell脚本是默认的,就是修改 .bash_profile 文件;如果Mac安装使用的是zsh,则修改 .zshrc 文

2021-03-29 20:34:55 9775

原创 人生第一次跳槽总结

从学校出来,参见人生的的一份工作——PDD Java后端开发,迄今为止,已有一年半的工作时间。在PDD工作期间,有开心的事,也有悲伤的事。但不管怎么说,这一年半时间,不管是技术能力上,还是待人处世上,都有了很大的进度,感谢PDD的栽培。换工作原因想要更换工作,提升自己的能力以及提升涨薪的速度,具体源于就不细说了。跳槽准备既然已经打算跳槽更换工作,那就需要为面试做好充足准备,很多知识点,平常并没有使用到,如果不及时复习,面试过程中能回答出的概率几乎为零。所以一定要提前准备刷面试题。接下来说说,我.

2021-03-17 16:36:13 667 1

原创 46. 全排列

46. 全排列1. 题目题目链接2. 题目分析没有重复的数字,说明不需要考虑结果中出现重复的数字排列。依题可知,需要遍历找到所有的排列结果,知道目的后,根据所学的算法,可以很快锁定方案:回溯法。3. 解题思路4. 代码实现(java)class Solution { private List<List<Integer>> result; public List<List<Integer>> permute(int[] nums.

2020-11-09 01:05:53 152

原创 234. 回文链表

234. 回文链表我胡汉三又回来了,时隔一年零三个月,清晰记得去年七月份毕业入职人生第一份正式工作,凭借刷算法,刷基础,以及刷面经,在当时还算找到一份满意的工作。因为部分原因,希望换个工作环境,呼吸新鲜空气。所以重拾算法,重拾基础,重拾面经,所以2021新年伊始,可以得到一份让自己满意的工作,与君共勉!!!其实已经回归两个星期了,只是之前忙着刷题,没有写博客记录,工作后,越来越发现,好记性不如烂笔头,所以再次写博客,并且希望自己能坚持把刷题记录,以及基础准备都梳理出来。1. 题目题目链接2..

2020-11-04 01:23:11 731

原创 Mac Java程序员必备开发环境

chrome浏览器intellij ide 2019.1.4 破解教程jdk1.8 阿里云镜像sublime text3 下载地址安装homebrew 教程homebrew安装git、oh-my-zsh

2020-07-18 12:24:03 394

原创 mac使用brew安装mysql的坑

## 记录一次Mac上用brew安装mysql遇到的坑 ## brew安装mysql的步骤:brew search mysql 查看远程仓库中有哪些mysql的版本选择一个合适的mysql版本然后安装它, brew install mysql安装好后,启动mysql,如果不知道怎么启动mysql,可以使用命令查看提示,brew info mysql,根据提示,有两种启动方式:brew s...

2020-04-20 01:51:09 3550

原创 从老库切换到新库的数据写入问题

1、背景原先把部分数据data写入到老的数据库table_a,然后要把table_a废弃了,希望把这部分数据daba写入到新数据库table_b。2、没有经验的我,刚开始的想法是,这还不简单,直接把数据写入table_a的代码换成写入到table_b?3、在生产环境上,这样做太草率了,那你怎么处理接下来的两个问题:问题一:怎么保证写入table_b的数据是正确的?问题二:万一写入t...

2020-04-03 00:41:21 317

原创 微信小程序开发填坑记录

最近因为需要帮女朋友实现一个微信小程序,所以去了解了一下小程序的开发。对于微信小程序的开发,之前完全没接触过(但有一些前端开发经验),作为完全的新手,入手资料肯定是微信小程序开发文档,根据这些天的开发过程的经验来看,最好先详细的过一遍官网的文档,大部分的坑是因为没有详细阅读文档,而另一部分坑是因为文档没有写。。。注:项目架构是:C/S架构,前后端完全分离,前端:微信小程序,后端:springbo...

2020-02-13 21:56:38 1661

原创 java后端学习资料整理

java后端学习资料整理《这是我之前收集的一些java开发的资料(全是GitHub上的大神整理的知识点)》找工作的可以查缺补漏,工作了的可以跟着技术路线继续学习https://github.com/Snailclimb/JavaGuidehttps://github.com/xingshaocheng/architect-awesomehttps://github.com/CyC2018/...

2019-08-16 00:18:38 821 1

原创 拼多多一面

拼多多一面自我介绍根据我分布式项目,怎么并发下安全扣除库存,单机下和分布式下并发安全可以通过数据库的事务实现并发安全吗?看你有用到redis集群,那我有100台机器,怎么实现key的映射关系如果我想对每台机器实现加权呢?比如说,有两台机器,机器A,机器B,但因为机器A的cpu处理性能比机器B强很多,所以我希望70%的key映射到A,30%的映射到B?那如果我有50台机器,并且对每台机器...

2019-08-13 10:25:33 906

原创 1108. IP 地址无效化

1108. IP 地址无效化 1. 题目题目链接2. 题目分析3. 解题思路可以手动遍历,然后替换字符串。也可以通过正则表达式,或者直接调用java的api,replaceAll方法,需要注意的是正则表达式中各种标点符号具有特殊意义,需要添加反斜杠号进行转义。4. 代码实现(java)class Solution { public String defangIPaddr(...

2019-08-03 23:59:25 330

原创 1021. 删除最外层的括号1021. 删除最外层的括号

1021. 删除最外层的括号1021. 删除最外层的括号 1. 题目题目链接2. 题目分析题目这么长,意思就是将每一组的括号的最外层一对括号去除,保存里面的括号组成新的字符串。3. 解题思路方法一:像这种括号匹配,如果写过计算器功能的算法,就知道需要使用栈来匹配每一对括号。遍历括号字符串S时,用startIndex记录每一组原语的第一个"("的下标,用endIndex记录原...

2019-08-03 23:55:14 359

原创 617. 合并二叉树

617. 合并二叉树 1. 题目题目链接2. 题目分析合并两个二叉树,如果重复的就两个节点的值加起来。3. 解题思路本题主要考验对二叉树的遍历。二叉树的遍历就两种,一是递归,二是迭代。递归遍历两个二叉树就好了。4. 代码实现(java)class Solution { public TreeNode mergeTrees(TreeNode t1, TreeNode t2...

2019-08-03 23:25:51 172

原创 461. 汉明距离

461. 汉明距离 1. 题目题目链接2. 题目分析计算两个数字对应二进制位不同的位置的数目,这题比较简单,正常的思维的是,将两个数字先转化成二进制,然后逐一比较统计不同的二进制位数。这种方法的时间复杂度log2X + log2Y + n;另一种方法:先求x和y异或运算的值xor,然后求出xor的二进制中的1的个数,即是x和y的二进制不同的数的个数,这个方法的时间复杂度是主要在计算x...

2019-08-03 23:11:51 217

原创 闲话杂料--入职后的第一份杂谈

闲话杂料–入职后的第一份杂谈 好久没有写博客了,今天重新捡起来,本来感觉内心有很多东西要记录,但动手后,却不知道从哪里说起,尴尬! 2019.7.3入职人生的第一份正式工作,至今已经过去三个星期,慢慢的也熟悉了公司的文化制度、项目技术架构(小组的项目)、组内成员(部分),从入职前的期待和担忧,再到刚入职的忐忑和小心翼翼,再到现在的归于平静,其中的变化只有亲身经历才会懂。重新捡起博客的原...

2019-07-28 00:52:01 247

原创 springboot使用h2数据库对dao层进行单元测试

springboot使用h2数据库对dao层(mybatis)进行单元测试 此博客用于记录项目对dao层进行操作数据库的单元测试走过的坑,因为考虑到程序员自己进行白盒测试,如果直接操作数据库(虽然也是测试数据库),但会扰乱测试人员辛苦制造的数据,所以直接使用h2内存数据库进行测试。这是我入职的第一份任务,给原有项目写单元测试。一、h2的配置创建配置文件test/resource/appl...

2019-07-10 21:54:11 3608

原创 724. 寻找数组的中心索引

724. 寻找数组的中心索引1. 题目题目链接给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, ...

2019-05-16 23:53:10 207

原创 收到浦发银行总行的体检通知

2019.5.8 18:48收到浦发银行总行信息科技岗位2019年春季校园招聘体检通知(第二批)的邮件。##作为一只小菜鸡,虽然不是直接offer,但体检通知也说明了我笔试和面试结果是达标的,也是小激动了一下,但远远没有在四月份收到拼多多的offer call那么激动人心。不是说,浦发银行不如拼多多,而是,作为19届毕业生,经历过秋招的重重打击,以及春招的3月份的笔试、面试的失败的煎熬,到了四月...

2019-05-08 20:36:08 7446 6

原创 515. 在每个树行中找最大值

515. 在每个树行中找最大值1. 题目题目链接2. 题目分析找出二叉树中每一行中的最大值,如果知道二叉树的层次遍历的实现过程,那么这题肯定so easy。3. 解题思路根据二叉树的层次遍历bfs思路,即,因为队列是先进先出的数据结构,所以可以通过使用一个队列保存每一行的节点,然后找出这一行的最大值。4. 代码实现(java)/** * Definition for a bi...

2019-04-19 21:10:58 405

原创 114. 二叉树展开为链表

114. 二叉树展开为链表 开篇闲话:之前一直准备春招,感觉刷题后,补博客很耗时间,所以中断博客记录刷题历程。2019.4.11拿到拼多多offer已经过去一个星期了,也是躺着放松了一星期,今天开始继续刷leetcode,希望自己可以保持对算法的敏感度,同时继续开启刷题写博客的模式,菜鸡加油。因为太菜,又过了一星期没动过脑子,所以挑了两题深度遍历的二叉树相关题目练手,思路比较明显直接,两题...

2019-04-19 21:06:07 156

原创 528. 按权重随机选择

528. 按权重随机选择 1. 题目题目链接给定一个正整数数组 w ,其中 w[i] 代表位置 i 的权重,请写一个函数 pickIndex ,它可以随机地获取位置 i,选取位置 i 的概率与 w[i] 成正比。说明:1 <= w.length <= 100001 <= w[i] <= 10^5pickIndex 将被调用不超过 10000 次示例1:输...

2019-04-11 16:46:08 2153

转载 关系型数据库的设计范式 1NF 2NF 3NF BCNF

第二范式(1NF):符合1NF的关系中的每个属性都不可再分;第二范式(2NF):2NF在1NF的基础之上,非主属性完全函数依赖于主属性。消除了非主属性对于码的部分函数依赖。成绩表中:学号分数课程号课程名主属性是:学号+课程号,但由于课程名部分依赖于课程号,所以违背了2BF。第三范式(3NF):满足2NF,消除了非主属性对于候选键的传递函数依赖。学生表中:学...

2019-04-02 21:35:40 366

原创 java后端知识点收集整理

在纸上写一个一个链表排序/** * Created by 凌 on 2019/1/18. * 注释:148. Sort List */public class SortList { /** * 将两个有序链表合并 * 链表的二路归并排序 * @param head * @return */ public ListNod...

2019-03-23 14:49:58 1513

原创 旋转排序数组问题---153. 寻找旋转排序数组中的最小值&&33. 搜索旋转排序数组&&81. 搜索旋转排序数组 II

开篇闲话,由于忙于准备找工作,其实我是有每天刷算法题的,但感觉写博客很耗时间,所以一直没有在博客中记录。春招找的让我差点得抑郁症了,贼难受。投了40多家公司了,但目前只有六七家提供了笔试机会,学历以及自己简历的项目经历没有优势,另外互联网寒冬更是雪上加霜。。。许愿:希望春招能拿个让自己满意的offer!!!哈哈哈,开始迷信一把了!!!旋转排序数组问题—153. 寻找旋转排序数组中的最小值&am...

2019-03-20 22:07:10 296

原创 hashmap相关的问题

hashmap相关的问题hashmap源码 https://blog.csdn.net/ooo123lll/article/details/81103234#335-gethashmap扩容、为什么是2n(2的n次方)扩容 https://www.cnblogs.com/williamjie/p/9358291.html扩容或者初始化容量时,都是以2的n次方扩容,这主要原因是,hashma...

2019-03-19 22:09:50 289

原创 漫画算法:无序数组排序后的最大相邻差值

一、题目:有一个无序整型数组,如何求出这个数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。例如:无序数组 2,3,1,4,6,排序后是1,2,3,4,6,最大差值是6-4=2。解法一:解法一:用一种较快的稳定排序算法(比如归并算法,时间复杂度NlogN)给原数组排序,然后遍历排好序的数组,每两个相邻元素求差,最终得到最大差值。**注:该解法的时间复杂度是O(Nl...

2019-03-09 21:35:36 13086

转载 Tomcat 类加载器之为何违背双亲委派模型

原文来自:https://juejin.im/post/5a59f2296fb9a01ca871eb8c今天来研究类加载器。我们分为4个部分来探讨:什么是类加载机制?什么是双亲委任模型?如何破坏双亲委任模型?Tomcat 的类加载器是怎么设计的?我想,在研究tomcat 类加载之前,我们复习一下或者说巩固一下java 默认的类加载器。楼主以前对类加载也是懵懵懂懂,借此机会,也...

2019-03-06 10:22:18 291

原创 设计模式(一)---设计原则

设计模式(一)- - - 六大设计原则 一. 单一职责原则解释:一个类,应当只有一个引起它变化的原因,即一个类只有一个职责。优点:降低类的复杂性提高类的可读性提高代码的可维护性和复用性降低因变更引起的风险二. 里式替换原则解释:所有引用街垒的地方必须能透明的使用其子类对象。即,只要雷飞痴线的地方子类就可以出现,而且替换为子类也不会产生任何错误和异常。但反过来则不...

2019-03-03 17:30:13 139

原创 为什么mysql用B+树做索引而不用B-树或红黑树

为什么mysql用B+树做索引而不用B-树或红黑树注:首先如果不了解B+树和B-树的童鞋,可以先阅读这位博主的博文B-树、B+树、红黑树,都是平衡查找树,那么查询效率上讲,平均都是O(logn)。使用什么哪种数据结构,肯定是出于提高数据库的查询效率的考虑。一、B+树做索引而不用B-树那么Mysql如何衡量查询效率呢?– 磁盘IO次数。一般来说索引非常大,尤其是关系性数据库这种数据量大的索...

2019-03-01 21:19:31 11327 2

原创 448. Find All Numbers Disappeared in an Array && 442. Find All Duplicates in an Array

给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 有些元素时重复出现的。找出重复出现的元素或者找出缺失的元素,这其实是同一个问题,只是换个说法而已。所以把这两题放到一起整理。448. Find All Numbers Disappeared in an Array 1. 题目448. Find All Numbers Disappeared in an ArrayG...

2019-02-19 22:04:51 214

原创 154. Find Minimum in Rotated Sorted Array II

154. Find Minimum in Rotated Sorted Array II 1. 题目154. Find Minimum in Rotated Sorted Array IISuppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., ...

2019-02-16 15:28:39 308 1

原创 300. Longest Increasing Subsequence

300. Longest Increasing Subsequence 1. 题目300. Longest Increasing SubsequenceGiven an unsorted array of integers, find the length of longest increasing subsequence.Example:Input: [10,9,2,5,3,7,10...

2019-02-16 12:48:31 147

原创 209. Minimum Size Subarray Sum

209. Minimum Size Subarray Sum1. 题目209. Minimum Size Subarray SumGiven an array of n positive integers and a positive integer s, find the minimal length of a contiguous subarray of which the sum ...

2019-02-16 12:42:59 188

原创 153. Find Minimum in Rotated Sorted Array

153. Find Minimum in Rotated Sorted Array 1. 题目153. Find Minimum in Rotated Sorted ArraySuppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., [0,1,...

2019-02-16 11:34:53 160

原创 349. Intersection of Two Arrays

349. Intersection of Two Arrays 1. 题目349. Intersection of Two ArraysGiven two arrays, write a function to compute their intersection.Example 1:Input: nums1 = [1,2,2,1], nums2 = [2,2]Output: [2]...

2019-02-16 11:06:17 152

LCalendar时间插件

LCalendar是一款移动端的时间选择插件,非常简单实用,可以自适应屏幕,而且调用很方便,,,,,,,,,,,,,

2017-09-02

swipter轮播图需要引用的外部css和js文件

swipter是一款非常好用的轮播图插件,基本满足各种自定义需求,并且还能自适应屏幕,不管是pc端开发还是移动端开发都非常的适用。

2017-09-01

liuyankefu

留言客服,识别pc端,移动端,即安卓,ISO端对QQ客户端的直接调用

2017-01-20

空空如也

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

TA关注的人

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