自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sonarqube 集成 golangci-lint

1、在项目根目录下执行golangci-lint run --out-format checkstyle ./xxx/... > report.xmlxxx 表示 你想要扫描的文件路径,/... 表示递归扫描当前路径下的所有文件执行后在根目录下就会生成 report.xml 文件2、在项目根目录下执行sonar-scanner -Dsonar.go.golangci-lint.reportPaths=report.xml将 report.xml 上传到 sonarqube 就大功告成.

2020-11-10 14:34:20 34 8

原创 docker 搭建 sonarqube

Docker (docker-compose) 搭建 sonarqube一、需要Dockersonarqube 镜像postgres 镜像二、准备镜像1)Docker安装:略2)sonarqube 镜像拉取docker pull sonarqube3)postgres 镜像拉取docker pull postgres三、编写docker-compose分别新建两个文件夹 sonarqube 和 postgres 存储两者的 docker-compose 文件和环境变量

2020-10-21 15:56:37 27

原创 Linux 下文件权限查看

直接入题是个权限位第一位: 表示文件类型[-] : 普通文件[l] : link文件[d] : 目录文件剩下 2~10 位,每三位分别对应不同用户,2-4位代表所有者user的权限说明,5-7位代表组群group的权限说明,8-10位代表其他人other的权限说明。r :可读 代表数字 4w :可写 代表数字 2x :可执行 代表数字 1每三位看作一个数字,那么 -rwxrwxrwx 对应权限就是 777-rwxr--r-x 就是 745修改权限 ch

2020-07-14 11:08:12 29

原创 MySQL索引简介

索引索引什么是索引索引的目的索引的优劣势优势劣势索引分类单值索引唯一索引复合索引基本语法索引结构哪些情况需要建立索引哪些情况不要创建索引索引优化索引失效(避免)建议索引什么是索引索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质: 数据结构。可以简单理解为“排好序地快速查找的数据结构”。除数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现搞基查找算法。这种数据结构,就是索引。(典型B树索

2020-06-07 17:30:47 46

原创 Redis学习整合

RedisRedis1.关系型数据库CAP原理CAPCAP 的三进二BASE2. 分布式和集群简介分布式集群3. Redis入门是什么特点应用基本操作添加取值4. Redis数据类型StringListSetHashZset5. Redis三种特殊数据类型geospatial 地理位置Hyperloglog 基础统计Bitmaps6. Redis的事务事务7. Redis锁悲观锁乐观锁8. Jedis操作导入依赖连接redis数据库具体API操作事务9. Springboot整合Redis10. Redis

2020-06-07 17:28:21 93

原创 leetcode刷题(更新ing)

树1.二叉树前序遍历非递归用一个栈维护节点,插入顺序为右左根,那么弹出顺序为根左右,正好是前序顺序。class Solution { public List<Integer> preorderTraversal(TreeNode root) { Stack<TreeNode> st = new Stack<>(); List<Integer> ans = new ArrayList<>();

2020-06-07 17:22:23 79

原创 面试题专题一: Java基础

面试题专题一Java基础1. JAVA 中的几种基本数据类型是什么,各自占用多少字节int :4long:8float:4double:8boolean:2char:2byte:1short:22. String 类能被继承吗,为什么。不能。String类底层是一个由final关键字修饰的value数组,由final修饰的变量表示不可改变。同时Stirng类也是由final修饰的,不可被继承。3. String,StringBuffer,StringBuilder 的区别可变

2020-05-20 23:24:33 58

原创 MySQL性能优化的21个方法(个人理解)

1. 使用查询缓存优化查询我们知道,一条SQL语句的执行需要经过:解析、优化和截断过程。当有相同的查询SQL被执行了多次时,这些查询结果就会放到一个缓存中。后续相同的查询结果就不需要再次执行SQL语句,而直接从缓存中获取结果。加快了查询性能。目前大多数MySQL数据库自动开启了查询缓存。但是如果我们使用一些数据不固定的查询语句(例如使用rand()函数),这样就导致每次查询的结果都不固定,数据库就不会使用查询缓存。2. EXPLAIN 你的select 查询使用 explain 命令可以让你知道My

2020-05-20 11:28:37 98

原创 进程间的六种通信方式简记

管道管道在创建之初会开辟一块固定大小的内存区域,因此对于数据量较大的情况,管道是难以应付的。消息队列send Message发送消息, receive 读取消息。 其中有两次copy数据的过程,会有额外的CPU消耗,不适合频繁且数据量大的通信。共享内存多个进程共享一块共享内存。进程间是没有同步机制的,通过信号量可以去实现这么一个同步机制。套接字(Socket)单机情况下也能使用的通信方式,但是效率较低信号量本质上是一个锁机制,通过加锁来实现进程间互斥。信号本身并..

2020-05-09 18:25:30 76

原创 最大正方形 leetcode221

在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4思路:1、暴力O(n2∗m2)O(n^2*m^2)O(n2∗m2)就不说了2、动态规划dp[i][j]dp[i][j]dp[i][j]表示从(0,0)(0,0)(0,0)开始到(i,j)(i,j)(i...

2020-05-04 17:03:15 41

原创 链表专题 3. 删除链表节点

题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。思路对于头结点不好处理的题,通常设置一个哑结点作为 “头”/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * L...

2020-05-01 23:45:31 47

原创 链表专题 2. 求链表交点

leecode题目描述:给出两个单链表,求他们的公共交点思路:如果两条链表有交点x,那么他们在x后面的节点都是相同的。先求出链表长度差 dif,遍历其中一条链表使他们的长度相同,然后一顿乱搞。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNo...

2020-05-01 15:55:34 58

原创 链表专题:1、合并有序链表

题目描述:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4/** * Definition for singly-linked list. * public class ListNode { * ...

2020-05-01 14:52:32 40

原创 jdk14 新特性

Java14新特性1. instanceof 模式匹配旧:类型匹配后的使用,需要强制转换private static void old(Object obj) { if(obj instanceof String){ String str = (String)obj; System.out.println(str.contain("java")); ...

2020-04-30 17:08:54 194

原创 TCP相关问题极简分析

TCPTCP:全双工可靠传输,面向字节流传输Tcp三次握手① Server处于空闲监听LISTEN状态② Client发送SYN连接请求,然后处于SYS_SENT状态 (第一次握手)③ Server收到请求,发送ACK应答,表示收到了请求,同时间再发送SYN信号给Client,表示可以建立连接了。此时Server处于SYN_RECD状态 (第二次握手)④ Client收到Serv...

2020-04-27 12:30:54 52

原创 剑指offer 67题 10 链表中倒数第k个结点

题目描述输入一个链表,输出该链表中倒数第k个结点。思路遍历链表存到list中,然后使用Collections集合工具类翻转取值,注意判断一些边界条件/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}...

2020-04-26 23:44:28 38

原创 HashMap初始容量设置问题

HashMap初始容量设置问题我们都知道HashMap的默认容量为16,但是:HashMap<Object, Object> objectObjectHashMap = new HashMap<>(13); //13为自定义的hashmap容量为什么我们可以这样设置HashMap的容量而不报错呢?分析一下HashMap源码:调用了两个参数的构造方法我们注意...

2020-04-26 00:08:23 198

原创 关于JAVA动态代理的一些个人理解和实现(基于JDK)

跟着步骤来:1、首先创建一个UserDao接口public interface UserDao { public void add(); public void delete(); public void search(); public void change();}2、创建一个UserDaoImpl实现类public class UserDaoIm...

2020-04-25 15:31:24 60

原创 剑指offer 67题 9 矩形覆盖

牛客题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路很容易想到:21只有一种方法。22有两种方法。那 2 * 3, 2 * 4, 2 * n 呢?2*3的摆放方法可以看成:(2 * 2的摆放数,最后再摆一块) + (2 * 1的摆放数,最后再摆两块)那么我们设dp[n]dp[n]dp[n]表...

2020-04-23 10:22:44 37

原创 剑指offer 67题 8 变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路《跳台阶》那题是一次只能跳1级或2级,这题是一次可以跳任意级。思路和前一题一样dp[n]dp[n]dp[n]表示跳到nnn级的方案数dp[n]=dp[n−1]+dp[n−2]+.....+dp[1]+1dp[n] = dp[n-1]+dp[n-2]+.....+dp...

2020-04-23 09:40:21 27

原创 记一下redis(ubuntu)安装过程

1. 下载安装包$ wget http://download.redis.io/releases/redis-xxx.tar.gz#xxx改为对应的版本号,版本号可上官网看2. 解压$ tar -xzvf redis-xxx.tar.gz3. 安装进入解压出来的redis目录,然后执行$ make$ make install #这条命令需要在root权限下执行 4....

2020-04-22 17:46:38 43

原创 剑指offer 67题 7 跳台阶

牛客题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路设跳n级台阶的方案数为 dp[n]dp[n]dp[n]由于青蛙一次可以跳上1级或2级,那么:dp[n]=dp[n−1]+dp[n−2]dp[n] = dp[n-1] + dp[n-2]dp[n]=dp[n−1]+dp[n−2]dp[n]dp[n]dp[...

2020-04-21 23:20:16 47

原创 剑指offer 67题 6 斐波那契数列

<牛客> 斐波那契数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项为1)。n<=39思路没思路,直接迭代。public class Solution { public int Fibonacci(int n) { int a = 0,b = 1; int c ...

2020-04-21 10:16:16 51

原创 剑指offer 67题 6 旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路这题有一个时间复杂度更小的做法:二分旋转后的数组一定是前半部分非严格递增的,后半部分也是非严格递增,且...

2020-04-21 10:09:12 41

原创 剑指offer 67题 5 用两个栈实现队列

《牛客》用两个栈实现队列题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路明白栈是FILO(先入后出)的数据结构,队列是FIFO(先入先出)的数据结构。stack1先入的元素需要它先出,那么就需要将它的元素存入另一个栈stack2,这样最先入的元素就变成了stack2的栈顶,那么就可以先出了,实现了队列的操作。import java.uti...

2020-04-21 09:51:11 37

原创 剑指offer 67题 4 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路这题要稍微找下规律。首先根据前序序列,可以很容易知道,根节点一定是序列的第一个元素那么就可以找到中序序列中根节点的位置。知道了中序序列根节点...

2020-04-20 21:28:50 42

原创 剑指offer 67题 3 从尾到头打印链表

题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。思路遍历链表的同时将值插入ArrayList中然后使用Collections集合类的reverse方法进行翻转/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int...

2020-04-20 20:09:11 43

原创 剑指offer 67题 2 替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路replace()replace()replace() 方法或者 直接暴力遍历题外话网址中如果有空格等特殊字符,解析过程中会把这些字符替换成类似%20这样的字符串,保证计算机能识别。public class Sol...

2020-04-20 14:11:58 34

原创 剑指offer 67题 1 二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路一: N2N^2N2暴力,不谈思路二: 由于行从上到下递增,列从左往右递增,那么我们可以从最右上角的数字开始比较。如果当前array[x][y]<targetarray[x][y] &lt...

2020-04-20 09:48:49 32

原创 My线程池笔记

线程池的概念线程池,一种多线程的处理形式,处理过程中可以将任务添加到队列中,然后创建线程启动这些任务。 这里的任务就是实现了Runnable或Callable接口或继承Thread类的对象实例。线程池属于JUC( java.util.concurrent )包。使用线程池好处:重复利用已有的线程继续执行任务,避免线程在创建和销毁时造成的消耗。由于没有创建和销毁时造成的消耗,因此可以提高...

2020-04-10 18:20:42 52 3

原创 通过一个Socket连接的例子来认识 NIO

众所周知,NIO(new IO 也叫做 NoBlocking IO),非阻塞IO,是由BIO演变而来的,它的优势就在于数据传输过程中,由BIO的阻塞式变为非阻塞式,那么什么是阻塞和非阻塞?先来一个BIO的例子。/** * 服务端 */public class Server { static byte[] bytes = new byte[1024]; public sta...

2020-03-27 14:57:20 54

原创 springboot 实现发送邮箱验证码

这里使用的是QQ邮箱,其他邮箱类似。1.获取授权码进入QQ邮箱主页面,找到左上方设置 , 选择账户选项卡,往下拉看到把第一项POP3/SMTP服务开启,然后按照他的步骤获取授权码,并且记录下来。2.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> ...

2020-03-16 22:56:31 674

原创 知识汇总(更新中...)

网络1.TCP/IP协议Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。2.三次握手第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务...

2020-02-29 22:38:11 62

原创 快速访问某文件目录并执行命令

日常工作学习中经常会遇到需要打开某文件中某些.exe或者.bat程序,如果文件深度过深或不方便,这时候我们可以写一个.bat脚本通过命令行来快速执行。cmd /k "cd /d [指定目录]&&[想要运行的程序名或者命令]",...

2019-12-12 10:33:48 63

原创 springBoot项目使用templates返回html时无法访问静态文件的问题(已解决)

解决方法:在properties中加入:spring.mvc.static-path-pattern=/static/**

2019-12-11 10:48:17 106

原创 记录Springboot学习过程中遇到的一些坑

@Autowired注入为null的问题。①检查service类中是否加了@Service注解②在service类中注入Mapper类时,检查service类实例化对象是否是@Autowired实现的。

2019-12-05 10:31:48 50

原创 springboot+ElasticSearch遇到的一些问题(已解决)

1.插入数据时,调用ElasticsearchRepositoryElasticsearchRepositoryElasticsearchRepository中的save()save()save()方法一直无法将实体类插入eseses服务端实体类:控制类:,但是当我将实体类的私有成员改成公有成员后,es服务端就能正常显示数据。未更改前:(第一条数据是用postmanpostmanp...

2019-11-28 19:32:22 795 1

原创 codeforces 1148C - Crazy Diamond(思维+暴力模拟)

传送门题意:给定nnn个数,表示nnn的某个排列。现在你可以交换两个坐标差值大于等于n/2n/2n/2的数,最后使得序列从小到大有序。输出交换次数和交换的坐标。思路:设第iii个数所在位置为ididid,要从ididid复原到iii,有五种复原状态:①id−i①id-i①id−i②id−1−n−i②id-1-n-i②id−1−n−i③id−n−1−i③id-n-1-i③id−n−1−...

2019-11-15 16:09:10 46

原创 Educational Codeforces Round 76 (Rated for Div. 2) D(st表+二分)

传送门题意:mmm只怪物,每只怪物有个aaa值。nnn个勇士,每个勇士有ppp和sss,一天只能有一位勇士消耗其sss值去打怪,杀死一只怪消耗111点sss值(s−1)(s-1)(s−1), 第二天所有勇士的sss值都会复原,问需要几天才能杀光所有的怪物。(还有一些细节没描述,大概这个题意。)思路:我们直接二分以LLL为起点最多能杀多少只怪,假设为midmidmid,那么我们对怪物的ppp...

2019-11-14 11:43:47 24

原创 2019-2020 ICPC SEERC D - Cycle String?(思维+模拟)

传送门题意:给定长度为2∗n2*n2∗n的循环字符串,对其重新排列使得新字符串中不存在两个及以上长度为nnn的相同子串,问能否构造成功并输出任意新字符串。思路:首先容易发现新串是否合法与出现最多字符的数量有关,稍微打个表发现:出现次数最多的字符(一下称chchch)出现了xxx次.①①①如果x<=nx <= nx<=n,那么我们直接输出原串就好了。②②②如果字符种类数...

2019-11-12 21:46:20 524

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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