自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

A_yes的博客

QQ:1423047407,说了你又不听,听了你又不懂,懂了你又不做,做了你又做错,错了你又不认,认了你又不改,改了你又不服,不服你又不说!

  • 博客(139)
  • 资源 (6)
  • 收藏
  • 关注

原创 【延时任务】-基于redis的延时任务

基于Redis的延时任务队列时间参考有赞延迟队列设计源码地址: https://gitee.com/A_yes/big-smart主要组成部分1. DelayJobBucket数据结构 redis的 zset(有序集合)用于存放任务的id 并按照执行时间排序2. JobPoll数据结构 redis的hash,以任务的id作为key,存放job的元信息3. ReadyQueue数据结构为redis的list,就绪队列,用于存放已经到期的任务,随时可以被取出去消费4. BucketTi

2020-08-14 11:23:18 446

原创 【延时任务】-Timer

文章目录Timer1. 使用方法2. 源码解析构造方法设定任务举例3. 总结Timer1. 使用方法public class TimerTest { public static void main(String[] args) { Timer timer = new Timer(); System.out.format("name:{%s},time:{%s},thread:{%s}\n", "start", new Date(), Thread.curren

2020-07-30 15:49:01 344

原创 【延时任务】-DelayQueue详解

1. 使用方法2. 源码解析入队出队3. 总结DelayQueue1. 使用方法 DelayQueue中的元素要实现Delayed接口,Delayed接口又实现了 Comparable接口public interface Delayed extends Comparable<Delayed> {    //用于返回还有多久到期    long get

2020-07-29 16:13:41 1138

原创 logback标准配置模板

文章目录logback配置详解1. 根节点 - configuration1.1 configuration - appender1.1.1 configuration - appender - encoder1.1.2 configuration - appender - filter1.1.3 configuration - appender - append1.1.4 configuration - appender - prudent1.1.5 configuration - appender

2020-07-13 13:39:19 1484

原创 [一天一个设计模式]-[策略模式]

策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。策略模式和状态模式的区别:策略模式的每个策略是平等的,所有策略调用者都应该知道,由调用者自己判断选择运用哪个策略状态模式的每个...

2019-11-22 13:24:04 148

原创 [一天一个设计模式]-[状态模式]

状态模式(State Pattern) :允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。状态模式包含以下主要角色。环境(Context)角色:也称为上下文,它定义了客户感兴趣的接口,维护一个当前状态,并将与状态相关的操作委托给当前状态对象来处理。抽象状态(State)角色:...

2019-11-20 13:51:45 212

原创 [一天一个设计模式]-[观察者模式]

观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。观察者模式包含如下角色:Subject: 目标ConcreteSubject: 具体目标Observer: 观察者ConcreteObserver: 具体观察者举个栗子...

2019-11-19 10:42:37 204

原创 [一天一个设计模式]-[中介者模式]

中介者模式(Mediator Pattern)定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。与代理模式的区别,代理模式主要是代理某一类对象,中介模式是中介了一组对象,代理模式主要是控制真实对象的访问,中介模式主要是将调用者和被调用者解耦中介者模式包含以下...

2019-11-18 10:43:06 150

原创 [一天一个设计模式]-[命令模式]

命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。命令模式包含以下主要角色。抽象命令类(Command)角色:声明执行命令的接口,拥有执行命令的抽象方法 execute()。具体命令角色(Concrete Comman...

2019-11-15 14:00:20 159

原创 pn532复制小区门卡到手环

小区门卡就剩一张了,去物业办一张要50块。先判断门卡是什么类型的卡 ,我的是IC卡IC卡和ID卡区别 http://tieba.baidu.com/p/6125978876因为小米手环不支持复制加密IC卡于是去淘宝整了个pn532只要3,40块钱。不过有几率破解不了门卡。M1加密IC卡有16个扇区,每个扇区分为4个块,前3个块保存数据,第四个块保存A/B密钥。第一个扇区的第一个块的前8个字...

2019-11-15 13:53:00 3640

原创 [一天一个设计模式]-[责任链模式]

为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。责任链模式主要包含以下角色。抽象处理者(Handler)角色:定义一个处理请求的接口,包含抽象处理方法和一个后继连接。具体处理者(Concrete Handler)角色:实现抽象处理者的处理方法,判断能否处理本次请...

2019-11-14 11:00:04 117

原创 [一天一个设计模式]-[代理模式]

代理模式的设计思想是通过代理的方式避免暴露被代理对象或者说代理不容易被取得的对象.代理又分为静态代理、动态代理。静态代理是由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。动态代理是在实现阶段不用关心代理类,而在运行阶段才指定哪一个对象。当有一组不同的主题的控制访问一致,如果用静态代理就需要为...

2019-11-12 16:05:58 161

原创 [一天一个设计模式]-[享元模式]

享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。在享元模式中共享的是享元对象的内部状态,外部状态需要通过环境来设置。在实际使用中,能够共享的内部状态是有限的,因此享元对象一般都设计为较小的对象,它所包含的内部状态较少,这种对象也称为细粒度对象。享元模式...

2019-11-11 10:51:24 143

原创 [一天一个设计模式]-[外观模式]

外观模式,顾名思义就是要把对外的接口整的好看点。是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。与适配器模式区别,适配器模式要把对象转成特定对象与装饰器模式区别,装饰器模式装饰完还是原来的类型。举个列子,去买奶茶,奶茶有各...

2019-11-08 10:15:04 143

原创 [一天一个设计模式]-[装饰器模式]

装饰器模式的可以在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能),它属于对象结构型模式。装饰器模式和适配器模式的区别:适配器模式是把一个类型转变成另一个类型,并且保持原类型的功能不变装饰器模式是把一个类型的功能进行扩展,类型保持不变。举个栗子:一个小朋友要穿衣服interface Child{ void wear();}class Li im...

2019-11-05 11:11:22 165

原创 [一天一个设计模式]-[桥接模式]

桥接模式和适配器模式很像,桥接模式和适配器模式用于设计的不同阶段,桥接模式用于系统的初步设计,对于存在两个独立变化维度的类可以将其分为抽象化和实现化两个角色,使它们可以分别进行变化;而在初步设计完成之后,当发现系统与已有类无法协同工作时,可以采用适配器模式。但有时候在设计初期也需要考虑适配器模式,特别是那些涉及到大量第三方应用接口的情况。适配器模式是把一个调用者不能用的类转换成调用者可以用...

2019-11-04 11:16:07 297

原创 [一天一个设计模式]-[适配器模式]

适配器模式,调用者调用的对象有一个标准规范,但是提供者不符合这个规范,此时调用者需要调用提供者中间就需要一个适配器来转换标准。类比于电源适配器。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。举个栗子,电脑只有usb接口但是要读取sd卡内容类适配器模式这种模式是适配器是通过继承被继承对象来实现的。public interface USB { String re...

2019-11-01 13:19:41 177

原创 [一天一个设计模式]-[原型模式]

原型模式即通过一个已有的对象clone出一个一样的对象,当直接创建该对象非常消耗资源时则可以考虑原型模式。实现克隆操作,继承 Cloneable,重写object的 clone()。克隆分深度克隆和浅度克隆 浅度克隆:只把需要克隆对象的成员变量的值复制过去,如果是引用变量也只会复制引 用地址,指向的和原对象是同一个对象。 深度克隆:把需要克隆对象的引用成员变量也克隆一份。...

2019-10-31 11:01:45 131

原创 [一天一个设计模式]-[建造者模式]

这个模式和工厂模式很像,建造者(Builder)模式和工厂模式的关注点不同:建造者模式注重零部件的组装过程,而工厂方法模式更注重零部件的创建过程,但两者可以结合使用。举个栗子,StringBuilderpublic class AbstractStringBuilder { protected char[] value; protected int count; ...

2019-10-30 11:26:39 166

原创 [一天一个设计模式]-[工厂模式]

文章目录简单工厂模式工厂方法模式抽象工厂模式简单工厂模式简单工厂模式就是把创建对象实例的工作全部交给工厂类,使用方只需要知道自己需要的类的类型。举个栗子,养宠物,有的人喜欢猫有的人喜欢狗。public interface Pet{ void say();}public class Cat implements Pet{ @Override publ...

2019-10-29 11:21:19 141

原创 [一天一个设计模式]-[单例模式]

文章目录1. 饿汉模式2. 懒汉模式3. 双重检验锁4. 静态内部类5. 枚举类1. 饿汉模式public class S{ private S(){} private static S s=new S(); public static S get(){ return s; }} 线程安全,加载时就初始化,根据...

2019-10-28 11:11:44 163

原创 Mybatis拦截器小运用-分页拦截器

这是一个仅支持MySQL的简单的Mybatis拦截器小运用。原理利用Mybatis的拦截器在sql执行之前把sql取出来,添加上分页语法,再把sql赋值回去。利用ThreadLocal在线程内传送 页数 和 页面大小参数,减少对原有代码的改动利用反射把修改后的sql 赋值回去拦截器源码@Component@Intercepts({@Signature(type = State...

2019-09-26 10:31:06 214

原创 springboot整合apache dubbo

文章目录ZooKeeper安装启动dubbo-admin安装启动dubbo服务提供者dubbo服务消费者总结Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。ZooKeeper安装启动下载地址:http://zookeeper.apache.org/releases.html...

2019-08-30 14:36:56 766

原创 ESP-12E使用用ULN2003控制28BYJ-48步进电机

接线uln2003驱动上的1,2,3,4分别连接到esp12e上的D0,D1,D2,D3程序 #include <Stepper.h>const int stepsPerRevolution = 200; //D0:GPIO16 //D1:GPIO5 //D2:GPIO4 //D3:GPIO0 //这里特别注意 ,后面4个参数分别是驱动板上的 IN1...

2019-04-30 19:59:16 3566 1

原创 分析Filter,HandlerInterceptor,ControllerAdvice,Aop的执行时机

测试代码 https://gitee.com/A_yes/pagehelperFilter因为filter不是springmvc里的,是servlet里的,所以filter在其他3个最外层springboot中Filter的写法//加了@Component注解,就不需要自己在配置类里去注册过滤器了@Component@WebServlet(urlPatterns = "/**")p...

2019-04-09 15:57:15 1624

原创 SpringBoot使用自定义Mybatis拦截器

开发过程中经常回需要对要执行的sql加以自定义处理,比如分页,计数等。通过 MyBatis 提供的强大机制,使用插件是非常简单的,只需实现 Interceptor 接口,并指定想要拦截的方法签名即可。@Intercepts({@Signature(type = Executor.class,method = "query",args = {MappedStatement.class,Object...

2019-03-25 16:37:26 3754 1

原创 MQTT断线重连订阅无法接收

工具MQTT客户端是用的 paho http://www.eclipse.org/paho/问题采用以下配置 connOpts = new MqttConnectOptions(); connOpts.setCleanSession(true); connOpts.setConnectionTimeout(10); ...

2018-08-27 10:52:16 13826 1

原创 java nio广播服务器

最近看了《netty in action》,关于netty的线程模型不太理解,于是学习了一下java nio的知识,利用java nio写个简单的服务器便于理解。java nio有3个重要的概念, Channels ,Buffers ,Selectors。通过他们我们可以用单个的线程监听多个数据通道。java nio可以进行阻塞的io操作,也可以进行非阻塞的io操作,我们更多是用非阻...

2018-06-29 17:09:22 519

原创 esp8266用mqtt协议通信

之前用esp8266做的东西是通过tcp连接来和服务器端通信的,服务器端需要自己管理所有的连接,每个连接要做心跳包,还要考虑通信消息的可靠性。偶然看到了mqtt协议,发现可以拿来用。MQTT协议介绍ESP8266可以用的MQTT客户端安装MQTT客户端下载客户端连接把下载好文件解压缩到 arduinoide安装目录的libraries文件夹下,重启IDE烧...

2018-06-11 16:27:48 10016 8

原创 Arduino使用ESP8266模块联网

ESP8266模块准备1. 透传程序烧写2. Arduino与ESP8266接线Arduino模块程序测试总结 上一篇文章已经介绍了 利用 ArduinoIDE开发ESP8266模块,这篇文章介绍一下arduino怎么通过ESP8266模块联网ESP8266模块准备1. 透传程序烧写以下程序的主要功能是:1. 通电自动连接指定wifi2....

2018-05-23 17:01:16 18803 8

原创 ESP8266快速入门(ArduinoIDE)

1.起因2.模块接线usb转tll我的是下面这种ESP8266与转接器接线3.模块使用AT指令ArduinoIDE开发4.点亮led(GPIO2) 前段时间买了套Arduino UNO的套件来玩玩,对于像我这种做软件的来说,这种封装好的硬件正合适。用来做些有趣的小玩意那还是不错的。1.起因Arduino UNO 本身不支持网络功能,跟电脑通信只能...

2018-05-22 11:34:56 28730 8

原创 springboot2.0开发框架搭建

生成项目整合Mybatis+Druid1. pom.xml文件中添加( druid请使用最新版,老版本在springboot下测试有问题)2. application.yml文件中添加3. 配置自动扫描dao接口 (springboot启动文件**Application.java)4.自动生成CRUD代码整合Redis1. pom.xml文件中添加一下依赖2. appli...

2018-03-23 17:05:10 1778

原创 SpringBoot使用log4j2

先在maven里把spring-boot-starter里的spring-boot-starter-logging依赖去掉 dependency> groupId>org.springframework.bootgroupId> artifactId>spring-boot-starterartifactId>

2018-02-02 14:49:01 592

原创 vue watch对象数据内数据的变化

需求 需要根据 数据的变化而执行某些操作,且该数据是 对象内部的数据。方法一直接用 watch 观察该对象数据,需要加上deep,否则观察不到对象内部数据变化。然后比较需要观察的内部数据的变化。 export default {      data(){        return {           example:{            inner0:

2018-01-17 11:59:24 1917

原创 解决eclipse不编译新代码

问题描述: eclipse里更改了代码,但是运行的时候还是编译之前的代码。打断点也能打,执行到断点时看到的代码也是新的,但是执行还是执行老的。网上说 project->clean 项目就行,我这边试了 不行。解决方法: 我这边直接把 window->preferences 里面配置的 server 删除 然后重新添加 就好了。

2017-12-07 11:40:20 2560

原创 异常记录

Missing artifact org.apache.mina:mina-core:bundle:2.0.9 解决方法 在pom.xml文件中添加一个插件 <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle

2017-08-25 16:38:48 531

原创 win10实现屏幕边缘热区切换虚拟桌面

用win10的朋友估计都体会到虚拟桌面的强大与便捷,但是每次切换的时候都要 按 Ctrl+Win+Left | Right ,很麻烦,有时候需要单手操作的时候更是要命,下面我教大家用AutoHotKey这个软件加一段脚本实现像Ubuntu上的桌面边缘热区,只要鼠标移动到桌面边缘就自动切换虚拟桌面。所需工具AutohotKey 官方地址https://www.autohotkey.com/ 可

2017-08-11 10:58:08 4576 4

原创 域名解析到本地主机

这两天在对接微信和支付宝的支付功能。微信要求获得授权页面,调起支付页面必须在有ICP备案的域名下。如果每次测试都要发布到服务器上就太麻烦了。所以这里用到一个内网穿透的工具—ngrok。ngrok的使用方法http://blog.csdn.net/linshichen/article/details/52670385网上随便找。 如果用ngrok.cc提供的前置域名,因为妹进行ICP备案所以微信支

2017-08-07 16:47:47 4882

原创 接入微信公众号支付

官方文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1官方的一张图 我们只需要开发图中红色的部分。1.生成图文消息链接或二维码网上随便找个网站就行,例如草料。2.生成商户订单,调用统一下单API调用统一下单API必须传用户的openid,openid是每个用户之于每个公众号的唯一标志。以下为获取的openid的步骤。获取

2017-08-07 15:06:42 1765

原创 SSM框架CRUD代码生成器

此工具可根据数据库表生成所有表的 增删改查的直到controller层的代码,代码是以SSM框架代码为模板的,开源代码地址 http://git.oschina.net/A_yes/generatorrestfulapi此工具下载地址(http://download.csdn.net/detail/a__yes/9875317) 此工具使用1.7.0_79版本的jdk编译打包的请使用此版本及以上

2017-06-27 14:45:16 6226 12

ESP8266AT指令集

ESP8266的AT指令集,ESP8266的AT指令集,ESP8266的AT指令集,

2018-05-22

代码生成工具

此工具可根据数据库表生成所有表的 增删改查的直到controller层的代码,代码是以SSM框架代码为模板的,开源代码地址 http://git.oschina.net/A_yes/generatorrestfulapi

2017-06-20

山寨QQ(Java小项目)

最近看着韩顺平老师的视频加上百度谷歌做了这个小玩意。

2015-11-12

24点游戏(C#)

C#写的可视化的24点游戏,可以算出所有答案,可做计算器用

2015-10-15

C#程序设计基础课后习题源码

朱晓辉 <>2-7章课后习题源码

2015-10-15

操作系统FCFS,SJF进程调度(C++)

某多道程序系统采用可变分区存储管理,供用户使用的内存空间为 200KB,磁带机 5台。采用静态方式分配外部设备,且不能移动内存中的作业,进程调度采用 FCFS 算法,忽略用户作业 I/O 操作时间。现有作业序列如下: 作业号 进入时间 运行时间(min) 内存需求(KB) 磁带机(台)

2015-10-15

空空如也

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

TA关注的人

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