自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java 优先队列 使用compartor

方法一:PriorityQueue<Integer> queue = new PriorityQueue<>(10, Collections.reverseOrder());方法二:PriorityQueue<Integer> pq =new PriorityQueue<>((x, y) -> Integer.compare(y, x));方法三:PriorityQueue<Integer> maxPQ = new Priori

2021-01-15 12:23:43 273

原创 lambda小技巧:List变数组 reduce flatMap......

List< Integer > 变为int[]:list.stream().mapToInt(Integer::intValue).toArray()mapToInt 方法:就是让list这个stream中的每个元素,调用里面的这个转为int方法的方法(Returns an {@code IntStream} consisting of the results of applying thegiven function to the elements of this stream.).

2020-12-19 13:18:33 1470 2

原创 Optinal类整合

入门orElseGet 用法:Optional.ofNullable(categoryTreeModel.getSubCategoryList()).orElseGet(() -> { return new ArrayList<>(); }).forEach(child -> { categoryModel.getChildList().add(buildCategoryTree(child)); }

2020-11-07 15:31:31 480

原创 别用可能会出现的null值和基本类型比较:空指针!!

我用query.xxx = = intquery这里判断了不可能为null的但是就是报错空指针结果是query.xxx = = null 然后与一个int值比较,就报空指针了

2020-11-03 16:26:43 633

原创 自定义类的排序

首先搞懂comparable 和comparatorcomparable是一种能力,是一个接口,由类实现,然后重写这个接口的comareTo方法comparator是外部new出来,等于是用来排序的一种规则,用了comparator,这个类就不用实现comparable了用lambda 的方法写comparator:这里要注意:直接用这个list的sort方法,不要用Arrays.sort方法!!...

2020-09-27 14:53:33 286

原创 如何理解摩尔投票法(力扣的求众数),看了还不会的来砍我

力扣的求众数可以先看看解题榜第一名做出的摩尔投票法的动图,先存在脑海里2.看下这里理解:3.还看不懂?没关系,我来结合这两者进行补充:比如这个测试用例:将1,2,3,5,4想象成5个国家的士兵约定:1.每个国家的士兵不能内战2.每个国家的士兵都可以攻击不同国家的士兵3.每次攻击都是双方同归于尽的4.最终在战场上活下来的士兵归属的国家算胜利**那么假如有一个国家的士兵超过了参战人数的一半,请问哪个国家胜利?**那么显而易见,假如所有不同国家的士兵都去攻击这个大国的士兵(测试用例

2020-09-25 11:14:39 179 1

原创 mac结束指定端口

1.查看端口终端输入:lsof -i tcp:port 将port换成被占用的端口(如:8086、9998)将会出现占用端口的进程信息。2.kill找到进程的PID,使用kill命令:kill -9 PID(进程的PID,如2044),杀死对应的进程

2020-09-14 15:48:09 1597

转载 redis 发布订阅与springboot集成 demo

传送门demo:[email protected]:vanNo1/redis-pub-sub-demo.git

2020-08-25 15:09:24 123

原创 用lambda写排序(二维数组)

//[[1,2],[2,3],[1,3]] //[[1,3],[1,2],[2,3]]对于前面的元素,我想升序排列,但如果相等,则后面的元素降序排列,演示如上:public static void main(String[] args) { int[][]array=new int[][]{{1,2},{2,3},{1,3}}; Arrays.sort(array,(o1,o2)->o1[0]==o2[0]?o2[1]-o1[1]:o1[0]-o...

2020-08-11 16:37:02 1225

原创 mysql索引相关整理

什么是前缀索引什么是覆盖索引(包含索引结构图很nice)最左匹配原则很妙,全部串联起来了,而且讲解了索引下推

2020-08-11 12:33:25 108

转载 学习Comparator

Comparator详解

2020-08-10 16:01:50 52

原创 git 命令大解析

git branchgit branch branchName :效果:生成一个branch,名字为branchNamegit checkout -b branchName:可以快速创建branch并且把HEAD指针指向这个branchgit branch -f branchName location移动branchName 这个分支指针到某一个具体的位置,如果此时HEAD指针指向branchName指针,那么HEAD也会被一起移动.如果HEAD分离,那么branchName指针自己单独移动p

2020-08-09 18:41:06 134

转载 git commit 了之后撤回

这篇博客很完美

2020-08-06 17:13:38 133

原创 json转Object为null的情况,json字符串变成Object一定要加Getter,Setter!

如标题所示:不加getter,setter方法,解析出来的object属性就是null

2020-08-06 17:05:26 577

原创 @PostConstruct

如果想在生成对象时完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么久无法在构造函数中实现。为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。Constructor >> @Autowired >> @PostConstruct...

2020-08-05 10:27:47 69

原创 @Accessors lombok注解的含义

传送门主要用@Accessors(chain = true)这样的话可以链式调用:如:User user = new User().setId(1).setName(“name”);

2020-08-04 16:53:07 297

原创 docker生命周期以及自己操作docker常见的命令

总结:总的来说:对一个镜像能够开很多的容器,而容器关闭只是stoped状态,还是能够把它再启动起来的,用start命令,如果用run 的话,就是再去创建一个容器了.

2020-08-03 11:30:41 132

原创 阿里开发手册,foreach删除集合元素1不报错,2报错的原因

这篇博客很好解答了我的问题最后来总结一下:1.iterator的next方法一开始就会检查一下modCount和expectedModCount是否相等,不相等就报错.2.集合类的add,remove,clear只会让modCount++而不会让expectedModCount++3.由于foreach遍历底层用的就是iterator,所以用remove删除之后再调用iterator的next方法时,这里就会报错,检验通不过而为什么用这种方法去删除倒数第二个元素会成功呢?先看下hasNext的源

2020-07-28 11:43:14 159

原创 mockito使用入门,一个简单案例足以说明

先看我的controller@Controllerpublic class UserController { private UserDao userDao; public UserController(UserDao userDao) { this.userDao = userDao; } @RequestMapping("/login") public String login(HttpServletRequest request) thr

2020-07-27 21:22:16 527

转载 mac解决mysql的 bash not found

这篇博客很nice

2020-07-27 11:56:20 77

原创 github如何把别人的项目转存到自己的仓库里

首先假设刚刚从别人的仓库中clone了项目在本地现在你在自己的github上刚刚创建了一个仓库,想要去存放你clone下来的项目,那么,下面这几件事情是你要去做的1.取消掉与别人的仓库简历的远程链接git remote rm origin2.将本地库与我的远程仓库链接git remote add origin xxxxx3.pushgit push -u origin master...

2020-07-26 15:22:45 19327 3

原创 单元测试之h2数据库的快速使用!(附实例)

假设你现在是有一个能够链接数据库的项目,而你现在想用h2数据库去单元测试,那么下面几个步骤是你应该做的!(另外不想跟着步骤做的直接去我github上把实例clone下来自己看也行)1.pom加入h2依赖 <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <versio

2020-07-26 15:19:09 1571 1

原创 记录一次macOS安装mysql

1.一定下载5.6.39版本,有些版本会导致系统偏好设置里打不开mysql面板,而这个版本亲测可以2.后面安装,密码没有提示,导致没有密码:step1:苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server)step2:进入终端输入:cd /usr/local/mysql/bin/回车后 登录管理员权限 sudo su回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tab

2020-07-20 22:59:34 52

原创 安装zookeeper以及简单使用

macOS一定一定不要用brew装!!因为装完之后乱七八糟的文件分散到处都是总的来说:1.下载包2.解压包3.增加data目录4.把zoo.sample.cfg改为zoo.cfg 并且修改里面的内容,指向data目录5. ./zkServer.sh start6. ./zkCli.sh -server localhost:2181具体看博客linux这篇超级棒!linux装zk...

2020-07-19 12:30:54 74

原创 zk实现分布式锁和服务的注册与发现的原理

服务注册与发现分布式锁

2020-07-19 11:31:03 155

原创 MAC装maven

看这篇博客就够了其中复制的时候用:sudo cp -rp source destination 命令

2020-07-13 09:47:15 96

原创 mybatis-plus获取刚插入的主键值

首先bean对象写上@TableId注解,设置自增@Datapublic class AdminLogin { @TableId(type = IdType.AUTO) private int id; private String username; private String password;}2.插入bean对象的时候,插入进去之后bean对象的id自动会被填充,只要调用getId即可。...

2020-06-16 17:49:12 5518 1

原创 【类】二维dp:动态规划背包问题

**dp[n][m]含义就是:当有n种物品时且背包有m容量时,这个背包能产生的最大价值**状态转换关系是:dp[n][m]=dp[n-1][m],dp[n-1][m-新物品重量]意思就是,当面对新来的一个物品时,求这个情况下,背包能产生的最大价值 相当于求下面两个情况背包能产生的最大价值:1.无视这个新物品,不放入背包2.一定要把这个新物品放入背包思路:1.首先填满最上面一排和最左边一列接着搞个双重循环填满dp最后返回的是这个值:public static int knap..

2020-05-25 16:27:17 246

原创 回溯的通用解法

首先看看通用模板:这篇博客很棒一定要去看看for 选择 in 选择列表: # 做选择 将该选择从选择列表移除 路径.add(选择) backtrack(路径, 选择列表) # 撤销选择 路径.remove(选择)接下来入手两道题目就可以掌握其规律了:1.subset决策树:public List<List<Integer>> subsets(int[] nums) { List<List<Integ

2020-05-24 15:51:49 333

原创 用递归解决----组合问题(顺序无关)

直接用主逻辑可能分解的时候不好理解:但是看图应该问题不大,就是按这个例子,不断分解,每个分解出来的结果相加就是主函数。主逻辑的意义:curse,这个递归函数的意思就是:给定一个区间,[start,n],选取k个元素,有几种可能。public static List<List<Integer>> combine(int n, int k) { if (n < k) return null; return curse(

2020-05-20 11:54:07 338

原创 【类】用递归计算-----所有的排列顺序

这里可直接用主逻辑,求解这个数组的所有排列可能,等价于:排列好去除一个元素的这个数组,再与被去除的这个元素整合。把所有可能加起来就是结果public static List<List<Integer>> permute(int[] nums) { List<List<Integer>>result=new ArrayList<>(); if (nums.length==0) return .

2020-05-19 14:52:22 148

原创 【类】:使用递归解决-----排列出n×m×p×...×u种可能的情况

例:就如图所示,abc和def,一共有如上种可能。那么现在开始coding核心代码先放代码public static List<String>curse(List<String>input){ List<String>result=new ArrayList<>(); if (input.size()==0){ return result; } if (inpu

2020-05-19 09:04:11 101

原创 忘记mysql密码

这篇博客很不错但这个方法在电脑重启之后就不管用了

2020-05-16 17:01:29 61 1

原创 map按value排序,心得理解

这篇很不错,实现过程直接参考这篇博客理解:主要是把map转为了list,用Collections类给list排序,list每个元素是Map.entry理解2:comparator函数的理解:说实话还是有点绕。自己的理解:总的来说不就是想用某种方式(比较key或比较value等等),去排某种序(升序,降序)么。那么可以转换为:如果是想要升序,就直接o1-o2如果是想要降序,就直...

2020-05-07 17:07:41 84

原创 Hystrix 服务降级

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>服务降级:1.启动类加上@EnableCircu...

2020-05-03 15:20:47 125

原创 解决docker pull太慢的问题

step1这里是linux下:vim /etc/docker/daemon.jsonstep2:加上这个{“registry-mirrors”: [“https://fy707np5.mirror.aliyuncs.com”]}

2020-04-20 10:28:38 659

原创 熔断可视化,和springboot2.0后Unable to connect to Command Metric Stream的坑

使用:首先是最基本的熔断hystrix依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> ...

2020-04-19 12:38:50 122

原创 Hystrix熔断机制的理解:

先介绍下流程把:如果用户发了很多请求,并且调用的时候失败很多次,达到了熔断的条件,那么就会触发熔断,让降级逻辑变为主逻辑,所以在熔断的时候,就算你此次调用会成功,也会触发降级逻辑。过了一定的时间,状态会变为半开,此次如果有请求被正确调用,那么熔断就直接关闭了。如果此次请求还是不成功,那么再次变为熔断状态,过一会儿再半开,这样循环。下面展示下代码:package van.client.con...

2020-04-19 11:47:53 1363 1

原创 Zuul解决跨域问题

可以用注解:在controller的方法上加@CrossOrgin()这里用的是写一个@Configurationpackage van.gateway.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;...

2020-04-18 11:57:06 545

原创 Zuul的限流操作

算法:令牌桶Guava已经实现了这个算法:RateLimiter放上代码:package van.gateway.filter;import com.google.common.util.concurrent.RateLimiter;import com.netflix.zuul.ZuulFilter;import com.netflix.zuul.exception.ZuulEx...

2020-04-18 10:36:46 217

空空如也

空空如也

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

TA关注的人

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