自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(358)
  • 资源 (5)
  • 收藏
  • 关注

原创 idea使用jar包依赖,替换掉项目依赖

idea使用jar包依赖,替换掉项目依赖最近遇到了个问题,父子项目中,原本一个项目在idea下默认是项目依赖于另一个子项目,但是由于当前开发分支里不包含相应的代码,最新代码在别的分支,导致项目依赖时,编译报错。如果可以通过jar包依赖的方式,就能解决当前的困境。具体配置方式如下:idea中选中项目,右键–>Open Module Setting打开如下页面,将相应的module移除掉即...

2019-12-11 16:02:49 4445

原创 JVM解惑:消失的异常堆栈,log中打印异常堆栈为空

最近线上发现很多异常没有堆栈信息,只有一句描述,如下:java.lang.NullPointerException: null排查问题时受到了一些阻碍。然后发现无论是在本地环境还是测试环境,堆栈信息都可以正常打印,使用的是同一份日志配置文件。百思不得其解,遂Google之,发现一篇文章:https://blog.csdn.net/fz13768884254/article/details...

2019-11-29 14:55:17 1715

原创 记一次应用配置的数据库连接被打满问题

线上应用,配置的数据库连接数为50,正常情况是已经够用了,但是有天发现50个连接全部被占满,并且长时间无法恢复,重启服务后会好一段时间。1、问题现象Druid获取MySQL数据库连接超时,超时时间设置的为60s2019-09-23 15:38:24.627-|XNIO-3 task-80-|ERROR-|7fba6a1c917f42878b43f937df37e575-|10.123.18....

2019-10-09 16:45:52 1874

原创 开发问题记录

Waiting for table metadata lock :Alter table `qimao`.`qimao_content_distribute` drop index `idx_content_id`, add UNIQUE ind直接kill id

2019-07-18 21:13:18 357

原创 使用MyBatis Generator自动生成实体、mapper和dao层

https://www.cnblogs.com/hyyq/p/7087620.html

2019-07-17 12:51:42 487

原创 删除排序链表中的重复元素

题目描述给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解法很简单,递归前序遍历即可public boolean isSameTree(TreeNode p, TreeNode q) { if...

2019-07-09 15:05:59 237

原创 删除排序链表中的重复元素

题目描述给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解法public ListNode deleteDuplicates(ListNode head) { ListNode cur = h...

2019-07-09 14:56:42 219

原创 x 的平方根

题目描述实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。解法二分法之前都有写过,这里就不写了。这里使用牛顿迭...

2019-07-09 13:00:37 286

原创 二进制求和

题目描述给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"解法public String addBinary(String a, String b) { int max = ...

2019-07-09 11:44:29 276

原创 搜索插入位置

题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0...

2019-07-09 10:06:17 207

原创 移除元素

题目描述给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前...

2019-07-07 18:07:38 284

原创 存在重复元素 II

题目描述给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums = [1,2,3...

2019-07-07 17:25:56 271

原创 同构字符串

题目描述给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t = "bar"输出: f...

2019-07-07 16:29:53 665

原创 移除链表元素

题目描述删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5解法使用哑结点,只需要变更next指针即可。/** * Definition for singly-linked list. * public class ListN...

2019-07-04 14:59:49 278

原创 快乐数

题目描述题目解法解法1通过使用Set去重,判断是否出现了循环public boolean isHappy(int n) { if(n<1) { return false; } int count=0, wei=0; Set<Integer> set = new HashSet<Integer>(); while(true) { count=0...

2019-07-04 14:37:22 254

原创 缺失的第一个正数

题目描述给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1说明:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。解题题目要求时间复杂度O(n),空间复杂度O(1)。只需要原数组做位图即可,代码如下:...

2019-06-28 23:07:53 385

原创 一些技术方案

延迟队列:https://juejin.im/post/5b5e52ecf265da0f716c3203

2019-06-26 12:58:44 241

原创 大样本统计

题目描述我们对 0 到 255 之间的整数进行采样,并将结果存储在数组 count 中:count[k] 就是整数 k 的采样个数。我们以 浮点数 数组的形式,分别返回样本的最小值、最大值、平均值、中位数和众数。其中,众数是保证唯一的。我们先来回顾一下中位数的知识:如果样本中的元素有序,并且元素数量为奇数时,中位数为最中间的那个元素;如果样本中的元素有序,并且元素数量为偶数时,中位数为...

2019-06-24 16:46:24 716

转载 相同类方法之间调用,注解失效的问题

问题:在Spring管理的项目中,方法A使用了Transactional注解,试图实现事务性。但当同一个class中的方法B调用方法A时,会发现方法A中的异常不再导致回滚,也即事务失效了。原因:Transactional是Spring提供的事务管理注解。重点在于,Spring采用动态代理(AOP)实现对bean的管理和切片,它为我们的每个class生成一个代理对象。只有在代理对象之间进行调...

2019-06-19 23:02:50 1005

转载 TCP的三次握手和四次挥手

1、TCP报文TCP报文由首部和数据两部分组成。首部一般由20-60字节(Byte)构成,长度可变。其中前20B格式固定,后40B为可选。因为,TCP报文还得传给下层网络层,封装成IP包,而一个IP包最大长度为65535,同时IP包首部也包含最少20B,所以一个IP包或TCP包可以包含的数据部分最大长度为65535-20-20=65495B。TCP报文中数据部分是可选的,即TCP报文可以不包...

2019-06-18 20:37:18 347

原创 Spring boot 启动过程

先Mark,https://www.cnblogs.com/trgl/p/7353782.htmlhttps://blog.csdn.net/zl1zl2zl3/article/details/79765725https://blog.csdn.net/u010811939/article/details/80592461https://www.jianshu.com/p/dc12081b...

2019-06-18 11:25:04 500

原创 ReentrantLock可重入锁使用及原理

使用场景:https://www.cnblogs.com/XJJD/p/8758713.html原理实现:https://blog.csdn.net/weixin_39910081/article/details/80147754

2019-06-15 23:23:06 699

原创 Dubbo 常见服务治理策略

1、Dubbo体系结构2、Dubbo容错机制Dubbo集群容错架构图各节点关系:这里的Invoker是Provider的一个可调用Service的抽象,Invoker封装了Provider地址及Service接口信息。Directory代表多个Invoker,可以把它看成List,但与List不同的是,它的值可能是动态变化的,比如注册中心推送变更。Cluster将Director...

2019-06-15 22:55:33 1043

原创 二叉树的锯齿形层次遍历

1、题目描述给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]2、解题使用二叉树的...

2019-06-15 12:03:54 398

原创 二叉树的最近公共祖先

1、题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [...

2019-06-15 11:05:11 740

原创 合并K个排序链表

题目描述合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6解法归并排序法public ListNode mergeKLists(ListNode[] lists)...

2019-06-14 09:36:30 158

原创 相交链表

1、题目描述编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 ...

2019-06-13 22:51:41 169

原创 Memcached

memcache是互联网分层架构中,使用最多的的KV缓存。面试的过程中,memcache相关的问题几乎是必问的,关于memcache的面试提问,你能回答到哪一个层次呢?画外音:很可能关乎,你拿到offer的薪酬档位。1、第一类问题:知道不知道这一类问题,考察用没用过,知不知道,相对比较好回答。关于memcache一些基础特性,使用过的小伙伴基本都能回答出来:mc的核心职能是KV内存管理...

2019-06-13 10:17:18 678

原创 使用两个队列实现一个栈

栈:先进后出队列:先进先出思路:利用一个队列做主队列,另一个队列作为辅助队列,把元素翻转过来即可。public class Test { class QueueStack { private Queue<Integer> queueA = new LinkedList<Integer>(); private Queue<Integer&...

2019-06-12 19:40:33 383

原创 环形链表II

1、题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node inde...

2019-06-12 19:06:16 672

原创 排序链表

题目描述在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5解法思路1,归并排序public ListNode sortL...

2019-06-12 11:44:03 381

原创 朋友圈

1、题目描述班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈...

2019-06-11 17:02:46 180

原创 MySQL索引

1、MySQL索引简介索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。从MySQL逻辑架构来看,MySQL有三层架构,第一层连接,第二层查询解析、分析、优化、视图、缓存,第三层,存储引擎。索引通过分开查询片,节省了扫描查找时间,大大提升查询效率。大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构。索...

2019-06-11 07:33:26 382

原创 第k个排列

1、问题描述给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。2、解法2.1 找规律public ...

2019-06-10 16:52:24 576

原创 最长连续序列

1、问题描述给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。2、解法2.1 排序时间复杂度O(n log(n))public int longestConsecutive(int[] nums) { i...

2019-06-10 14:54:56 225

原创 Redis缓存雪崩、缓存穿透、热点Key

我们通常使用 缓存 + 过期时间的策略来帮助我们加速接口的访问速度,减少了后端负载,同时保证功能的更新。1、缓存穿透缓存系统,按照KEY去查询VALUE,当KEY对应的VALUE一定不存在的时候并对KEY并发请求量很大的时候,就会对后端造成很大的压力。(查询一个必然不存在的数据。比如文章表,查询一个不存在的id,每次都会访问DB,如果有人恶意破坏,很可能直接对DB造成影响。)由于缓存不命中...

2019-06-10 09:08:51 210

原创 搜索旋转排序数组

1、题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2...

2019-06-09 16:24:38 134

原创 岛屿的最大面积

1、题目描述给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], ...

2019-06-09 13:32:14 232

原创 复原IP地址

1.题目描述给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]2.解法2.1 回溯剪枝法private int n; private String s;private LinkedList<String> segments =...

2019-06-09 12:55:05 446

原创 简化路径

题目描述以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须...

2019-06-06 18:42:18 484 1

Docker技术入门与实战

Docker经典学习教程,介绍了docker的核心概念:镜像、容器、仓库,以及一些实战经验

2018-05-07

codetemplates.xml

eclipse里的java 注释模板。

2016-07-07

一个简单的贪吃蛇游戏

这个是个人近期写的贪吃蛇,实现了随机生成食物,按键按下加速,松开减速,撞壁死亡等功能

2015-02-26

数据结构与算法上机题目及答案

数据结构上机的参考题目以及优质代码,有兴趣的同学可下载作为参考

2012-10-20

PL0编译原理实践

大连理工软甲学院小学期编译课程代码及详解

2012-07-17

空空如也

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

TA关注的人

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