2 即心即佛

尚未进行身份认证

暂无相关简介

等级
TA的排名 25w+

Java Condition实现BlockingQueue

题目:实现BlockingQueue代码:package com.primer.demo;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.locks.Condition;import java.util.concurrent.l...

2020-02-20 12:05:03

Java三个线程交替输出0到75

题目:三个线程交替输出0到75,即线程A输出0,线程B输出1,线程C输出2,线程A输出3…思路:由于三个线程一次只能有一个在打印数字,所以需要用一个锁来进行同步。打印时需要保证线程的执行顺序,所以,线程A执行完之后 不能唤醒全部线程,只能唤醒线程B。利用Condition实现,代码如下:package com.primer.demo;import java.util.concurren...

2020-02-20 11:27:50

Java多线程交替打印奇数和偶数

问题:java面试中经常会遇到这个问题,如何用两个线程交替打印奇偶数。线程A打印1,线程B打印2。我们常用的实现方式是采用wait/notifyAll方法。思路:要两个线程交替打印奇偶数,必须让两个线程共享一个count,当数字是奇数是线程A打印,当数字是偶数时线程B打印,执行完打印操作后自增count,并利用wait/notifyAll方法去阻塞和唤醒线程。代码如下:public cl...

2020-02-14 17:15:02

策略模式消除IF ELSE

问题描述:在你的代码中是否会出现这种情况,用很多的if else语句来执行对应的功能模块,并且各个分支模块中共同的部分也还不少,当后续迭代量上来后,随之而来的模块分支可能也会增多,有什么方法可以消除分支吗?public String sayHello(String type) { //不同的类型有不能的业务处理,导致if else太多太多。宝宝心里苦啊................

2019-11-22 16:21:12

Springboot + Redis相同类进行转换出现ClassCastException异常

现象:用户登入后,把User放入Redis,对从Redis中取出User对象时出现ClassCastException解决办法:POM文件删除spring-boot-devtools引用<!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--&gt...

2019-07-04 15:29:12

代码提交到GitLab后自动触发Jenkins构建

1.GitLab中创建Access Token2.Jenkins创建Gitlab API Token

2019-07-03 09:42:47

Nginx + Sprinboot + Swagger出现no response from server错误的解决办法

问题现象Spring boot + Swagger在本地一切正常。部署到服务器上使用Nginx后,访问http://127.0.0.1:9999/test/swagger-ui.html(Nginx)跳转到http://127.0.0.1:7001/swagger-ui.html,可以正常显示Swagger的首页,点击“Try it out”按钮访问工程包含的接口时,返回no response ...

2019-05-07 09:34:03

多线程解决缓存穿透问题

缓存穿透: 所谓的缓存穿透,简单来讲就是查询某些不存在的key时,缓存和数据库查询结果都为空,而空的结果又不被缓存起来,而导致每次查询都去请求数据库层的情况。如果接口的并发足够大,那么同时有N多线程直接访问数据库的压力可想而知。 解决思路: 如果缓存未命中,那么只有一个线程访问数据库。示例代码如下:package com.primer.demo.util;import java.ut...

2018-09-13 22:55:02

Spring boot + Quartz实现分布式定时任务

在实际项目中经常会用到定时任务,且有些定时任务同时只能运行一个实例,下面介绍一下通过Spring boot + Quartz框架实现分布式定时任务。 1. 定时任务持久化到Mysql 2. 名称为JobA的定时任务每10秒执行一次@ScheduledJob(name = “JobA”, cronExp = “/10 * * * ?”) 3. @DisallowConcurrentEx...

2018-08-29 23:01:18

Java多线程之运行多个任务并处理所有结果

执行器框架给我们提供了一个方法,让我们可以发送给执行器一个任务列表,并等待任务列表中的所有任务执行完毕。然后它将返回一个与任务列表对应的Future列表。packagecom.primer.demo.util;importlombok.extern.slf4j.Slf4j;importjava.util.ArrayList;importjava.util.List;impo...

2018-08-23 23:13:47

有序队列比较

场景: 找出两个有序队列的相同值与不同值,数据库中存在队列A,需要更新为队列B,队列A包含且队列B不包含的删除,队列A不包含且队列B包含的插入,队列A包含且队列B包含更新。以下以古代一个男从娶多个老婆为例:public void update(Integer manId,List<Integer> paramList){ List<Integer>...

2018-08-23 22:27:03
勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。