自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 课程表插件

在这里我替朋友打个广告,向大家推荐一个朋友自己开发一个款小程序插件,这个插件是一个课程表功能的插件,我放些效果图,大家自己看一下吧!使用该插件你的小程序就会拥有以下效果的课程表功能。插件功能不仅仅是课表展示,还有一些其他个性化功能。欢迎大家添加使用,插件ID:wxd4e6c7af049ae5ff,申请时备注蚂蚁,可快速通过申请。...

2021-05-11 14:36:24 348

原创 记一次docker中的haproxy服务在服务器重启后无法启动的问题

查看系统的网络转发是否开启sysctl net.ipv4.ip_forward若结果为0,则是系统转发关闭,开启即可vim /etc/sysctl.conf#修改系统转发配置net.ipv4.ip_forward=1#重启网络服务systemctl restart network#查看是否成功sysctl net.ipv4.ip_forward#重启docker中的haproxy容器#查看容器是否启动成功...

2021-01-06 17:04:36 922

原创 shardingsphere小记

分库分表时,对数据量大,业务压力比较大的表进行分库分表,例如订单表,订单明细表。对业务量不大且变化很小的表,可以采用广播表的方案,利用部分冗余来减少系统可能出现的跨库事务对于需要分库分表的数据表,根据业务情况判断是否需要在表中添加额外的字段作为分库键与分表键。若数据表添加分库键与分表键,对于分库键字段和分表键字段的取值,不仅要考虑生成路由时的负载问题若数据表添加分库键与分表键,要考虑大量数据查询时,使用这两个字段的效率问题若数据表添加分库键与分表键,并给这两个字段添加索引时,要考虑这两个字段的取值.

2020-07-14 11:22:21 333

原创 (十)IBMMQ集群与集群外的IBMMQ节点通讯 -集群对集群外部的同/异步消息 by java

前言:上篇博客描述的是集群外部节点对集群发送同/异步消息的解决方案,此篇主要是描述对集群向外部节点发送同/异步消息的解决方案,初一想,也没什么区别,但是结合集群的环境,考虑消息的路由,中间开始有区别的,而本篇博客主要就是为了解决这点区别带来的问题。1. 区别对比1.1 异步消息1.1.1 外部->集群程序将消息放入外部节点远程队列,远程队列将消息通过传输队列与发送方通道发送至集群网关,网关根据集群内部队列共享情况,对消息进行负载,发送到集群的某个节点,外部向集群发送异步消息结束。1..

2020-06-11 15:29:51 1128

原创 IBMMQ(基础)学习随笔-队列管理器别名

    在将消息发送到群集或从群集发送出去时,使用队列管理器别名隐藏队列管理器的名称,并平衡发送到群集的消息的工作负载平衡。    使用带有空白的远程队列定义创建的队列管理器别名RNAME有五种用途:1. 发送消息时重新映射队列管理器名称    队列管理器别名可用于将MQOPEN调用中指定的队列管理器名称重新映射到另一个队列管理器。它可以是集群队列管理器。例如,队列管理器可能具有队列管理器别名定义:DEFINE QREMOTE(YORK) RNAME(' ') RQMNAME(CLUSQM)  

2020-06-10 10:41:58 2624

原创 IBMMQ(集群高可用) 学习随笔-多实例队列管理器

1. 多实例管理器的作用  在两台或多台计算机上配置的同一队列管理器的实例。通过启动多个实例,一个实例将成为活动实例,而其他实例将成为备用实例。如果活动实例失败,则在另一台计算机上运行的备用实例将自动接管。您可以使用多实例队列管理器来基于IBM MQ配置自己的高可用性消息传递系统2. 多实例管理器结构  如图显示了队列管理器QM1的多实例配置的示例,IBMMQ安装在两台服务器上,其中一台为备用服务器。服务器上已创建队列管理器QM1。QM1的一个实例处于活动状态,并且在一台服务器上运行。QM1的另一个

2020-06-03 16:55:29 3743

原创 (九)IBMMQ集群与集群外的IBMMQ节点通讯 -集群外部对集群的同/异步消息 by java

上节按照生产环境的结构对集群进行了搭建,这节使用java代码对集群进行同步消息与异步消息的测试1. 集群节点接收消息的代码package com.qinke.mqcluster;import com.ibm.mq.*;import java.io.IOException;public class CCQMReceiver { private static String host = "192.168.137.14"; private static Integer port.

2020-05-28 11:31:31 1081 1

原创 (八)IBMMQ集群与集群外的IBMMQ节点通讯-环境搭建

在现实的场景中,若当前生产环境使用的IBMMQ单点更换为IBMMQ集群,则会有这样一种情况:我们负责的系统使用IBMMQ集群,须进行对接的一个外部系统使用IBMMQ单点。这里对这种情况进行模拟,并对使用中的各种场景进行测试。1.资源准备IPusage备注192.168.137.11完全存储库CCQM1主网关192.168.137.12完全存储库CCQM2备网关192.168.137.13部分存储库CCQM3192.168.137.14部分存储库C.

2020-05-27 17:15:34 2054

原创 (七)使用IBMMQ javaAPI对集群进行异步消息的接收

前言:使用第六篇中组建的IBMMQ集群、IBMMQ官方提供的javaAPI,编写代码对集群发送消息并检测负载均衡的效果,若还不了解集群怎样搭建,请移步 : (六)IBMMQ简单集群搭建.1. 准备工作jar文件(1). com.ibm.mq.jar(2).connector.jar2.创建普通java工程,并添加jar到工程中3. 接收消息的代码该代码在接收消息达到1000条时会关闭,想要无限接收消息,可自行使用while循环中尝试package com.qinke.mqclu.

2020-05-27 15:58:00 1212 1

原创 mysql学习笔记(一)

1.修改密码alter user 'root'@'localhost' identified by 'Cpt19940901.';--修改初始密码flush privileges;--刷新权限2.添加用户--方法一,不需要刷新权限GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' IDENTIFIED BY 'Cpt19940901.'...

2020-03-26 16:16:01 220

原创 (六)IBMMQ简单集群搭建

1. 集群环境本人有五台装了centos7的虚拟机,准备搭建一个IBMMQ集群,拥有两个完全存储库和三个部分存储库,在三个部分存储库上创建集群队列CQ1。IPusage192.168.137.2完全存储库CQM1192.168.137.3完全存储库CQM2192.168.137.4部分存储库CQM3192.168.137.5部分存储库CQM4...

2020-03-23 16:29:00 5108 4

原创 (五)IBMMQ集群初识

1. 适用版本5.1以上的版本2. 为什么要使用集群集群可以在集群中的队列和队列管理器之间进行消息分配来达到消息负载均衡的目的,可以提升系统的容灾能力以及提高系统的性能3. 集群的组成3.1. 集群存储库集群存储库是集群成员的队列管理器的集合。存储库所包含的信息有队列管理器的名称、队列管理器的位置、该队列管理器托管的队列、该队列管理器的通道以及其他信息。集群存储库又分为完全存...

2020-03-23 11:18:34 2227

原创 centos7安装redis5.0.8

1. 官网下载最新稳定版redis,该博客发布时最新版本为5.0.8,故用该版本下载:redis官网2.将下载的redis包上传到linux中并解压到文件夹redismkdir redistar -zvxf redis-5.0.7.tar.gz -C redis3. 安装gccyum install -y gcc4. 编译安装redis#1 进入redis解压跟目录,看到...

2020-03-20 16:12:38 1468

原创 centos7 安装 mysql5.7

1. 下载mysql包mysql下载地址2. 将软件包上传到linux中,创建mysql文件夹并将文件解压到mysql文件夹中mkdir mysqltar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C mysql3. 进入mysql文件夹,查看文件夹中的文件,并安装所有文件cd mysqllsrpm -ivh *.rpm...

2020-03-20 15:18:43 136

原创 (四)IBM MQ 远程队列的创建与使用

准备工作两台linux机器或者虚拟机保证两天机器在同一网段内,并保证能够相互ping通都已安装好IBM MQ并将端口1414从防火墙中开放出来一、接收方机器的操作1.创建队列管理器QM_APPLEcrtmqm QM_APPLE注意:发送方机器创建的远程队列中rqmname为该队列管理器,注意名称要一致2.启动队列管理器QM_APPLEstrmqm QM_APPLE...

2020-03-09 14:59:12 5340

原创 (三)IBM MQ本地队列的创建与使用

前言该文章为系列型文章,对IBMMQ的操作大部分在linux系统中进行,若还未进行软件安装,请移步(一)linux中IBM MQ8.0版本的安装,若刚接触IBMMQ,并对其一无所知的话,请移步(二)IBM MQ基本知识,进行基础知识的了解,若为大神,请忽略此次会使用到的命令dspmq # 显示当前机器上的队列管理器crtmqm qmgrName #创建新的队列管理器strmqm qm...

2020-03-09 11:31:12 7647

原创 (二)IBM MQ基本知识

1.队列管理器一个队列管理器是一个系统程序,为应用程序提供排队服务。它提供了一个应用程序编程接口,以便程序可以将消息放入队列,并从队列中获取消息。队列管理器提供了其他功能,以便管理员可以创建新队列,更改现有队列的属性以及控制队列管理器的操作。为了使IBM MQ消息队列服务在系统上可用,必须运行队列管理器。您可以在一个系统上运行多个队列管理器(例如,将测试系统与实时系统分开)。对于应用程序,...

2020-03-06 18:03:00 2872

原创 (一)centos7IBM MQ8.0版本的安装

1.装备安装文件2.使用tar命令进行解压tar -zvxf mqadv_dev80_linux_x86-64.tar.gz3.进入解压后的文件夹,首先安装协议4.然后依次安装其他组件rpm -U MQSeriesRuntime-8.0.0-4.x86_64.rpmrpm -U MQSeriesSDK-8.0.0-4.x86_64.rpmrpm -U MQSeriesServe...

2020-03-06 16:07:34 3129

原创 maven项目导出jar(包含依赖jar)

1.pom文件中添加以下内容 <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descr...

2019-04-08 10:00:40 844

原创 java中占位符替换

写码过程中,避免不了会遇到字符串替换的问题,String提供了replace,replaceAll,replaceFirst方法,也是我们大部分人都熟悉的方法。今天要说的是java提供的MessageFormat类提供的format方法。可以这样用:import java.text.MessageFormat;public class MainClass { public s...

2018-07-20 16:47:49 8625

原创 java中异常的使用及注意事项

异常:在运行时发生的不正常情况public class ExceptionDemo{ public static void main(String[]args){ int []arr = new int[3]; System.out.println(arr[3]); }}异常处理办法: 早期时:以前正常流程代码和问题处理代码相结合, 劣势:问题处

2017-05-06 20:52:40 927

原创 Object类

Object:所有类的根类。Object类是不断抽取而来的,具备着所有对象都具备的共性内容。 Object类中的常见方法: 1.equals():方法,判断其他对象是否与此对象相等(当且仅当两个变量引用的是同一个对象时,才会返回TRUE)。class Person{ private int age; Person(int age){ this.age = age;

2017-05-06 20:18:30 318

原创 内部类使用及注意事项

什么叫内部类呢? 简单来说将一个类定义到另一个类里面,里面那个类就称为是内部类内部类的访问特点: 内部类可以直接访问外部类中的成员,包括私有成员。外部类要访问内部类中的成员必须要建立内部类的对象才能访问。内部类的用处: 内部类一般用于类的设计。分析事物时,发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容。这个时候,这个事物中的事物就定义成内部类来描述。内部类的修饰符:

2017-05-06 16:59:33 1230

原创 多态的使用及注意事项

多态:字面意思讲,就是某一类事物的多种形态。简单来说,就是一个对象对应着多个类型 1.多态在代码中的体现: 父类或者接口的引用指向了其子类对象。2.多态的好处: 1.提高了代码的扩展性,前期定义的代码可以使用后期的内容。//先定义Cat类型继承Animal类,后期定义Dog类,同样使用先前定义好的method方法public class Duotai{

2017-04-27 19:08:08 958 1

原创 不用第三个数据进行数据交换

说到交换数据,大家肯定会想到利用一个第三方数据进行交换:public class Demo2{ public static void main(String[]args){ int a=10; int b=5; int c; c=a; a=b; b=c; System.out.pr

2017-04-24 12:44:39 843

原创 接口的运用及注意事项

1.接触接口之前,我们可能大部分都先接触过抽象类,我们知道抽象类中的方法既可以是抽象方法,也可以是非抽象方法,当一个抽象类中的方法都是抽象的时候,这是就可以将该抽象类用另一种形式定义和表示,就是接口2.定义接口使用interface3.对于接口当中常见的成员,而且这些成员都有固定的修饰符,不写全时会自动补全: 1.全局常量(public static final)。 2.抽象方法(publ

2017-04-24 11:37:41 779

原创 抽象类细节及使用方法

1.abstract修饰的方法叫做抽象方法,拥有抽象方法的类也必须用abstract修饰,叫做抽象类。2.抽象方法没有方法体。3.抽象方法不可以被实例化,因为方法没有方法体,没有意义4.抽象类必须由子类覆盖所有的抽象方法,这个子类才能够被实例化,否则这个子类还是抽象类。5.抽象类有构造函数,可以用于对子类对象的初始化。6.抽象类可以不定义抽象方法,但是这种用法很少见,目的是为了不让该类创建对象

2017-04-22 21:47:20 510

原创 final使用方法总结

1.final可以修饰类,方法,变量。 2.final修饰的类不可以被继承。 3.final修饰的方法不可以被覆盖。 4.final修饰的变量是一个常量(规范:所有字母大写,单词之间下划线连接),只能被赋值一 次。 5.final修饰的变量不会默认初始化,需要人工进行初始化 6.为什么要用final修饰变量 在程序中,如果直接使用一个固定的数据,会使得阅读性很差,

2017-04-22 21:36:29 446

原创 继承的运用

1.什么是继承:继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力2.继承的好处:提高了代码的复用性。让类与类之间产生了关系,给第三个特征(封装,继承,多态)多态提供了基础3.java中继承单继承,不支持多继承,但对c++中的多继承机制进行了改良。单继承:一个子类只能有一个直接父亲。多继承:一个子类可以有多个直接父类(java中不允许,进行改良)。

2017-04-22 20:57:55 468

原创 JAVA中静态的使用及注意方法

1.static是一个修饰符,用来修饰成员被所有的对象所共享。 例如:类Person,country变量被static修饰,所以country能够被由该类创建的所有的对象所共享。在代码中,country的值本来是cn,后因p2更改了共享变量country的值,所以在两个对象中的值都发生改变class StaticDemo{ public static void main(String

2017-04-22 18:53:14 5319

原创 构造方法的运用

1.构造方法在对象创建的时候运行,可以对对象进行初始化2.一个类的构造方法与该类的名字相同,没有返回值。3.对于一个类,如果不创建构造方法,会默认有一个空参数的 构造方法,并且该构造方法有方法体,但是没有内容。public class ConsDemo{ public static void main(String []args){ Person person1 = n

2017-04-21 20:31:47 666

原创 mfc textout输出字体设置

CDC *pDC;     CFont newfont;//用来保存新字体    CFont *oldFont;//用来保存旧字体    newfont.CreateFontW(20,                                            11,                                                 

2016-12-01 22:01:11 9842

转载 MFC定时器

巧妙地使用定时器能达到意想不到的效果,写界面的时候能实现渐变,也能帮助多线程控制等我们知道,在VC的MFC中,已经为我们封装好了很多全面和强大的函数集,所以在MFC编程时,巧妙地调用MFC函数库可以为我们省去很多麻烦。其中定时器也可以在MFC程序中很好地利用。在MFC中和定时器相关的有三个函数:1.设置定时器(定义一个定时器的属性):       SetTimer( UINT nI

2016-12-01 21:19:26 542

原创 MFC画笔

void CMFCApplicationView::OnDraw(CDC* pDC){CMFCApplicationDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);if (!pDoc)return;// TODO:  在此处为本机数据添加绘制代码CPen newPen;newPen.CreatePen

2016-12-01 20:54:14 1085

原创 MFC单文档多视图之间穿数据 笔记

就是利用工程中的doc文件 1.给doc文件增加新变量,2.在需要给该变量赋值的视图类中利用 XXXDoc* pDoc = (XXXDoc*)GetDocument();来获得Doc类的指针3.用pDoc->新增的变量=变量值       给要传输的数据赋值4.再需要接受该变量的视图类中利用XXXDoc* pDoc = (XXXDoc*)GetDocument();来获得Doc

2016-10-22 23:16:08 965

原创 Qt中tr()的作用

函数tr()全名是QObject::tr(),被它处理的 字符串可以 使用工具提 取出来翻译 成其他语言, 也就是做国际化使用。只要记住,Qt的最佳实践:如果你想让你的程序国际化的话,那么,所有用户可见的字符串都要使用QObject::tr()!但是,为什么我们没有写 QObject::tr(),而仅仅是tr()呢?原来,tr()函数是定义在Object里面的,

2016-07-16 18:47:07 19339

原创 nyoj1058 部分和问题

部分和问题时间限制:1000 ms  |  内存限制:65535 KB难度:2描述给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。输入首先,n和k,n表示数的个数,k表示数的和。接着一行n个数。(1输出如果和恰好可以为k,输出“YES”,并按输入顺序依次输出是由哪几个数的和组成,否则“NO”样例输入

2016-03-24 21:31:54 335

原创 nyoj488 素数环

素数环时间限制:1000 ms  |  内存限制:65535 KB难度:2描述有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环。输入有多组测试数据,每组输入一个n(0输出每组第一行输出对应的Case序号

2016-03-24 20:25:31 602

原创 全排列 dfs(深度搜索)

通过深度搜索写全排列   把已经写过的数标记了   通过递归来实现每一位的数的取值  时间效率比枚举高得多#includeint n,a[10],book[10];void dfs(int step){if(step==n+1){for(int i=1;i{printf("%d",a[i]);}printf("\n");return ;}

2016-03-23 21:18:57 497

原创 全排列 枚举

枚举  也就是把每一种情况罗列出来  我们要的全排列需要通过条件把枚举出来的所有情况判断一下  把符合条件的选出来我写了四个数字的全排列  代码如下:#include int main(){for(int i=1;i{for(int j=1;j{for(int k=1;k{for(int l=1;l{if(i!=j&&i!=k&&i!=l&&

2016-03-23 21:06:48 619

空空如也

空空如也

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

TA关注的人

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