自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis连接不上,查看进程gpg-agentd刷爆CPU,恭喜你,你被挖矿了

最近发现有一台测试服务器的redis连接不上,查看进程,发现CPU200%之前遇到过类似的,第一感觉就是被入侵了。IO 情况、网络流量、内存情况、系统日志、啥也不看了,直接看crontab 定时任务crontab -l 一下看定时任务列表把定时任务删掉 crontab -r杀掉所有进程 kill -9 25286 处理结束1.漏洞描述Redis 因配置不当存在未授权访问漏洞,可以被攻击者恶意利用...

2018-03-19 15:47:07 2231

原创 安装mycat,修改源码,根据最后两位的ASCII码分表

安装文件: Mycat-server-1.6.5-release-20180313162839-linux.tar.gz(基本路由的可以到官网下载)这是我自己编译生成的文件,新加了路由类:PartitionByAscii,(根据传入字段的最后两位的ASCII码分表,大写的先转成小写)。两个字符的ASCII码组合有105组,分别为下图:因为mycat源码接口中规定了/** * @author my...

2018-03-13 17:21:52 485

原创 centos7安装mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

1、解压 mysql-5.7.18-1.el7.x86_64.rpm-bundle.tartar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar2.解压出来得到一堆rpm-rw-r--r-- 1 7155 31415 25079412 Mar 20 2017 mysql-community-client-5.7.18-1.el7.x86_64.rpm...

2018-03-13 17:02:03 1584 1

禅道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关注的人

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