自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (6)
  • 收藏
  • 关注

原创 srping boot 监听器中ServletContextListener 注入空指针异常问题

spring boot 中quartz任务会在job服务器重启的时候,job任务就会失效了,所以得配置一个监听器ServletContextListener,在监听器启动的时候把还没有跑的任务重启add到job里面去,具体可以看我上一篇博文,这里主要记录springboot监听器注入空指针问题,autowired的类在启动的时候,由于相应的beanfactory还没有加载,所以会出现空指针问题,解

2018-01-26 09:54:31 4299 1

原创 canvas跨域完美解决,微信头像解决跨域

最新的需求中需要把微信头像作为截图的一部分,但是涉及到跨域解决方案:location ^~ /wechat_image/ { add_header 'Access-Control-Allow-Origin' "$http_origin" always; add_header 'Access-Control-Allow-Credentials' 'true' always; ad

2018-01-25 17:49:05 11108 2

原创 Spring boot 集成Quartz的使用(解决quartz的job无法注入spring对象的问题)

Spring Boot 整合 Quartz 实现定时任务1,添加Maven依赖 org.quartz-scheduler quartz 2.2.1 org.springframework spring-context-support 2,新建一个MyJobFacto

2018-01-19 14:57:25 7477 4

原创 cranberry病毒导致mycat应用都崩溃解决办法

mycat用了半年,突然某天发现服务挂掉了.ERROR  | wrapper  | 2018/01/18 16:00:23 | JVM exited while starting the application.STATUS | wrapper  | 2018/01/18 16:00:23 | JVM exited in response to signal SIGKILL (9).FATAL 

2018-01-18 17:28:01 701

禅道Linux一键安装版,官网的有可能用不了,但是这个亲测可用

官网的有可能用不了,但是这个亲测可用

2017-05-22

springmvc下的mybatis的sharding分表

springmvc下的mybatis的sharding分表

2017-04-19

7天学会spring cloud教程

7天学会spring cloud教程

2017-04-17

jedis for java use

111

2016-04-12

银行家算法—操作系统

银行家算法的JAVA代码实现 /** * 安全性算法 */ public boolean safety(Treads[] TDSO) { Work work = new Work(available.getA(), available.getB(), available.getC()); Work works[] = new Work[TDSO.length]; for (int i = 0; i < works.length; i++) { works[i] = new Work(0, 0, 0); } for (int i = 0; i < TDSO.length; i++) { // Need[i,j]<=work[j]; if (work.getA() >= TDSO[i].need.getA() && work.getB() >= TDSO[i].need.getB() && work.getC() >= TDSO[i].need.getC()) { work.A += TDSO[i].allocation.getA(); work.B += TDSO[i].allocation.getB(); work.C += TDSO[i].allocation.getC(); works[i].A = work.A; works[i].B = work.B; works[i].C = work.C; if (i == TDSO.length - 1) { System.out.println("\tWork.A\tWork.B\tWork.C"); for (int j = 0; j < works.length; j++) { System.out.println(TDSO[j] + " \t" + works[j].getA() + "\t" + works[j].getB() + "\t" + works[j].getC()); } return true; } } else { return false; } } return false; } /** * 请求资源 */ public void Request(Treads[] TDSO, int i) { Scanner S = new Scanner(System.in); int A = 0, B = 0, C = 0; System.out.println("请输入进程" + i + "请求资源的数目"); System.out.print("请求资源A:"); A = S.nextInt(); System.out.print("请求资源B:"); B = S.nextInt(); System.out.print("请求资源C:"); C = S.nextInt(); System.out.println(); System.out.println(); if (A <= TDSO[0].need.getA() && B <= TDSO[0].need.getB() && C <= TDSO[0].need.getC() && A <= available.getA() && B <= available.getB() && C <= available.getC()) { // 修改Allocation的值 TDSO[0].allocation.setA(TDSO[0].allocation.getA() + A); TDSO[0].allocation.setB(TDSO[0].allocation.getB() + B); TDSO[0].allocation.setC(TDSO[0].allocation.getC() + C); // 修改Need的值 TDSO[0].need.setA(TDSO[0].need.getA() - A); TDSO[0].need.setB(TDSO[0].need.getB() - B); TDSO[0].need.setC(TDSO[0].need.getC() - C); // 修改available的值 available.setA(available.getA() - A); available.setB(available.getB() - B); available.setC(available.getC() - C); } }

2013-06-05

空空如也

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

TA关注的人

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