![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java后端
文章平均质量分 68
岳利-随笔
Java python go js wechat oracle mysql redis mongodb
展开
-
策略模式-springboot使用Demo
1.生命一个注解 用于标记策略类import java.lang.annotation.*;@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpublic @interface HandlerReportSubjectType { /** * 策略类型 * @return */ int value();}2.定义策略接口:原创 2020-06-08 16:34:17 · 370 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-状态模式
处理对象的多种状态及其相互转换——状态模式“人有悲欢离合,月有阴晴圆缺”,包括人在内,很多事物都具有多种状态,而且在不同状态下 会具有不同的行为,这些状态在特定条件下还将发生相互转换。就像水,它可以凝固成冰, 也可以受热蒸发后变成水蒸汽,水可以流动,冰可以雕刻,蒸汽可以扩散。我们可以用UML 状态图来描述H2O的三种状态,如图所示:在软件系统中,有些对象也像水一样具有多种状态,这...原创 2019-08-01 11:36:12 · 440 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-观察者模式
对象间的联动——观察者模式观察者模式是设计模式中的“超级模式”,其应用随处可见,在之后几篇文章里,我将向大家详 细介绍观察者模式。“红灯停,绿灯行”,在日常生活中,交通信号灯装点着我们的城市,指挥着日益拥挤的城市交 通。当红灯亮起,来往的汽车将停止;而绿灯亮起,汽车可以继续前行。在这个过程中,交 通信号灯是汽车(更准确地说应该是汽车驾驶员)的观察目标,而汽车是观察者。随着交通 信号灯的变化,...原创 2019-07-31 16:28:40 · 168 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-备忘录模式
撤销功能的实现——备忘录模式备忘录模式用于保存和恢复对象的状态,相信大家看过我前面的拙作就会想到原型模式也能保存一个对象在某一个时刻的状态,那么两者有何不同的呢?原型模式保存的是当前对象的所有状态信息,恢复的时候会生成与保存的对象完全相同的另外一个实例;而备忘录模式保存的是我们关心的在恢复时需要的对象的部分状态信息,相当于快照。备忘录模式大家肯定都见过,比如在玩游戏的时候有一个保存当前闯...原创 2019-07-31 15:22:10 · 177 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-中介者模式
协调多个对象之间的交互——中介者模式QQ作为一款免费的即时聊天软件深受广大用户的喜爱,它已经成为很多人学 习、工作和生活的一部分。在QQ聊天中,一般有两种聊天方式: 第一种是用户与用户直接聊天,第二种是通过QQ群聊天。如果我们使用用户与用户直接聊天方式,一个用户如果要与别的用户聊天或发送文件,通常需要加其他用户为好友,用 户与用户之间存在多对多的联系,这将导致系统中用户之间的关系非常复杂,一...原创 2019-07-31 11:38:47 · 183 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-迭代器模式
遍历聚合对象中的元素——迭代器模式迭代器模式概述在软件开发中,我们经常需要使用聚合对象来存储一系列数据。聚合对象拥有两个职责:一 是存储数据;二是遍历数据。从依赖性来看,前者是聚合对象的基本职责;而后者既是可变 化的,又是可分离的。因此,可以将遍历数据的行为从聚合对象中分离出来,封装在一个被 称之为“迭代器”的对象中,由迭代器来提供遍历聚合对象内部数据的行为,这将简化聚合对象 的设计...原创 2019-07-30 18:48:23 · 167 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-解释器模式
自定义语言的实现——解释器模式 为人处事是一门大学问,察言观色、听懂弦外之音都是非常重要的,老板跟你说“XX你最近表现平平啊,还得要多努力”,如果你不当回事,平常对待,可能下次就是“XX,恩,你人还是不错,平常工作也很努力,但是我想这份工作可能不是很适合你…..”。又比如你老大说“XX,你最近表现不错,工作积极性很高啊!继续保持啊!”,你高兴乐呵着心想是不是老板要给我加工资了,可能你...原创 2019-07-30 17:05:34 · 210 阅读 · 0 评论 -
集合元素为对象时按对象属性排序
/*** 按排序号升序方法* @param effectsChannellist2* @return*/List<ChannelsVO> reSort(List<ChannelsVO> effectsChannellist2){List<ChannelsVO> effectsChannellistnew = new ArrayList&l...原创 2019-08-02 15:19:07 · 180 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-命令模式
请求发送者与接收者解耦–命令模式装修新房的最后几道工序之一是安装插座和开关,通过开关可以控制一些电器的打开和关 闭,例如电灯或者排气扇。在购买开关时,我们并不知道它将来到底用于控制什么电器,也 就是说,开关与电灯、排气扇并无直接关系,一个开关在安装之后可能用来控制电灯,也可 能用来控制排气扇或者其他电器设备。开关与电器之间通过电线建立连接,如果开关打开, 则电线通电,电器工作;反之,开关关闭,...原创 2019-07-30 11:28:19 · 164 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-策略模式
算法的封装与切换——策略模式写代码时总会出很多的if…else,或者case。如果在一个条件语句中又包含了多个条件语句就会使得代码变得臃肿,维护的成本也会加大,而策略模式就能较好的解决这个问题,本篇博客就带你详细了解策略模式。策略模式概述在策略模式中,我们可以定义一些独立的类来封装不同的算法,每一个类封装一种具体的算 法,在这里,每一个封装算法的类我们都可以称之为一种策略(Strate...原创 2019-08-01 15:46:34 · 292 阅读 · 0 评论 -
spring注解
目录一、定义二、作用域三、解析方式四、元注解五、内置注解5.1@Override5.2 @Deprecated5.3 @SuppressWarnings六、常用注解6.1 @SpringBootApplication6.2 @Controller6.3 @RequestMapping、GetMapping、PostMapping6.3.1...原创 2019-09-12 17:57:35 · 780 阅读 · 0 评论 -
ide设置自动生成类注解
ide设置生成类注释File->Settings->Editor -> File and Code Templates -> Files -> Class把下面的内容粘进去 然后点Apply 即可:#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#...原创 2019-09-10 14:54:42 · 403 阅读 · 0 评论 -
IDE lombok插件 简化Bean get set 方法
1、File → settings → Plugins, 然后点击“Browse repositories” 如图 2、输入 lombok 搜索插件, 点install安装,安装完重启idea 这时候输入lom就可以有提示了这时Bean中注解@Data 就可以省略get set了...原创 2019-09-10 14:52:29 · 239 阅读 · 0 评论 -
并发编程和线程安全
JAVA内存模型是一种规范,其规定了一个线程如何和何时可见由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量,他要求调用栈和本地变量放在线程栈上,对象存放在堆上。线程之间的通信必须经过主内存.目的是解决由于多线程通过共享内存进行通信时,存在的本地内存数据不一致、编译器会对代码指令重排序、处理器会对代码乱序执行等带来的问题。首先介绍几个比较重要的概念:1 as-if-...原创 2019-08-12 15:05:52 · 287 阅读 · 0 评论 -
JAVA NIO Netty
一、BIO 1.阻塞IO与非阻塞IO Java IO的各种流是阻塞的。这意味着,当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入。该线程在此期间不能再干任何事情了。 2.特点每个请求都需要独立的线程完成数据read,业务处理,数据write的完整操作问题。 当并发数较大时,需要创建大量线程来...原创 2019-08-08 11:09:33 · 290 阅读 · 0 评论 -
JAVA反射与动态代理
一、了解类加载机制和类加载器字节码此处应有操作演示:javap反解析class文件类加载机制概述:Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。虚拟机把描述类的数据从class文件加载到...原创 2019-08-08 10:53:04 · 189 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-访问者模式
操作复杂对象结构——访问者模式访问者模式概述访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部 分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操 作。例如处方单中的各种药品信息就是被访问的元素,而划价人员和药房工作人员就是访问 者。访问者模式使得用户可以在不修改现有系统的情况下扩展系统的功能,为这些不同类型 的元素增加新的...原创 2019-08-01 18:20:31 · 159 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-模板模式
在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点 单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单-->吃东西-->买单。 在这三个步骤中,点单和买单大同小异,最大的区别在于第二步——吃什么?吃面条和吃满 汉全席可大不相同。在软件开发中,有时也会遇到类似的情况,某个方法的实现需要多个步骤(类似“请客”),其 中有些步骤...原创 2019-08-01 17:24:26 · 195 阅读 · 0 评论 -
GOF设计模式-对象行为型模式-职责链模式
“一对二”,“过”,“过”……这声音熟悉吗?你会想到什么?对!纸牌。在类似“斗地主”这样的 纸牌游戏中,某人出牌给他的下家,下家看看手中的牌,如果要不起上家的牌则将出牌请求 再转发给他的下家,其下家再进行判断。一个循环下来,如果其他人都要不起该牌,则最初 的出牌者可以打出新的牌。在这个过程中,牌作为一个请求沿着一条链在传递,每一位纸牌 的玩家都可以处理该请求。在设计模式中,我们也有一种专门用于处理...原创 2019-07-29 18:37:30 · 177 阅读 · 0 评论 -
GOF设计模式-对象结构型模式-外观模式
深入浅出-外观模式外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端 与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦 合度,且客户端调用非常方便。外观模式概述:不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶 叶、茶具和开水,如图1(A)所示,而去茶馆喝茶,最简单的方式就是跟茶馆服务员说想要...原创 2019-07-17 16:17:02 · 167 阅读 · 0 评论 -
GOF设计模式-对象结构型模式-装饰模式
拓展系统功能-装饰模式尽管目前房价依旧很高,但还是阻止不了大家对新房的渴望和买房的热情。如果大家买的是 毛坯房,无疑还有一项艰巨的任务要面对,那就是装修。对新房进行装修并没有改变房屋用 于居住的本质,但它可以让房子变得更漂亮、更温馨、更实用、更能满足居家的需求。在软 件设计中,我们也有一种类似新房装修的技术可以对已有对象(新房)的功能进行扩展(装 修),以获得更加符合用户需求的对象,使得对象具...原创 2019-07-17 14:39:41 · 184 阅读 · 0 评论 -
面向对象设计原则
面向对象设计原则概述:软件的可维护性和可复用性是两个非常重要的用于衡量软件质量的属性,软件的可维护性是指软件能够被理解、改正、适应及拓展的难易程度,软件的可复用性是指软件能够被重复使用的难易程度。面向对象的设计的目标之一在于支持可维护性复用,一方面需要实现设计方案或者源代码的复用,另一方面要确保系统能够易于拓展和修改,具有良好的可维护性。面向对象设计原则为支持可维护性复用而诞生,这些...原创 2019-07-09 15:35:40 · 270 阅读 · 0 评论 -
spring动态代理
spring代理转载转载 2018-04-16 12:04:21 · 117 阅读 · 0 评论 -
linux安装jdk及配置环境变量
jdk-7u71-linux-i586.tar.gzjdk-7u75-linux-x64.tar.gz1.上传包2.查看安装程序 rpm -qa | grep -i jdk3. 删除指定jdkrpm -e java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686rpm -e java-1.7.0-openjdk-1.7.0原创 2018-02-23 14:23:08 · 316 阅读 · 0 评论 -
线程并发处理跑批任务
定时任务类代码:package com.jzfq.rms.autoApprove.job;import com.alibaba.fastjson.JSONObject;import com.jzfq.rms.autoApprove.bean.InnerRuleProcess;import com.jzfq.rms.autoApprove.bean.InnerRuleProcess原创 2018-03-08 18:20:16 · 4806 阅读 · 0 评论 -
java检测文件是否存在并维护
/** * 判断文件及目录是否存在,若不存在则创建文件及目录 * @param filepath * @return * @throws Exception */public static File checkExist(String filepath) throws Exception{ File file=new File(filepath); if (原创 2018-02-06 18:54:48 · 417 阅读 · 0 评论 -
基于Winserver2016服务器的AD域单点登录
基于AD域实现单点登录设计文档版本说明: 服务器类型: WinServer2016 Eclipse版本: Version: Luna Service Release 2 (4.4.2) Build id: 20150219-0600 Jdk版本: 1.6 ...原创 2018-02-05 15:23:27 · 9056 阅读 · 3 评论 -
字符串类型List数组去除冗余
利用set集合的键不重复特性:JSONArray arrayList = jsonResult.getJSONArray("rows");LOG.info("去除冗余前关联客户数:"+arrayList.size());Set set = new HashSet(arrayList);set.size();List list = new ArrayList原创 2018-02-05 14:19:06 · 640 阅读 · 0 评论 -
java枚举类型使用举例
源代码:package com.jzfq.rms.autoApprove.enums;/** * @author 大连桔子分期科技有限公司 * @description 风控处理结果枚举 * @date 20171207 1146 */public enum FKDealEnum { Theorderispending(0, "订单挂起"), Direct原创 2018-02-05 14:10:53 · 597 阅读 · 0 评论 -
springMVC 通过反射调用类方法
通过反射方法调用类中的方法 适用于递归类执行方法操作 减少代码冗余原创 2018-02-05 14:05:07 · 3090 阅读 · 0 评论 -
java中的日期转换
转换类代码:/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (C) 2014 RayBow and/or its affiliates. All rights reserved. */package com.jzfq.rms.autoApprove.constant;im原创 2018-02-05 14:00:11 · 181 阅读 · 0 评论 -
GOF设计模式简介
1设计模式从何而来?1.1先要了解一下模式的诞生与发展。与很多软件工程技术一 样,模式起源于建筑领域; 那么模式是如何诞生的?让我们先来认识一个人——ChristopherAlexander(克里斯托弗.亚历 山大),哈佛大学建筑学博士、美国加州大学伯克利分校建筑学教授、加州大学伯克利分校 环境结构研究所所长、美国艺术和科学院院士……头衔真多,微笑,不过他还有一个“昵 称...原创 2019-07-09 15:46:54 · 1366 阅读 · 0 评论 -
GOF设计模式-创建型模式-简单工厂模式
工厂三兄弟之简单工厂模式模式定义:简单工厂模式(SimpleFactoryPattern):定义一个工厂类,它可以根据参数的不同返回不同类的 实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是 静态(static)方法,因此简单工厂模式又被称为静态工厂方法(StaticFactoryMethod)模式,它属 于类创建型模式。多读几遍定义 然后我们来...原创 2019-07-09 17:00:52 · 219 阅读 · 0 评论 -
GOF设计模式-对象结构型模式-组合模式
树形结构的处理-组合模式树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中 的公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的 问题,组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形结构或者树形 结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器 节点(包含子节点的节点)。下面将学习这种用于...原创 2019-07-17 13:42:42 · 153 阅读 · 0 评论 -
GOF设计模式-对象结构型模式-桥接模式
处理多维度变化-桥接模式 在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如 我们需要大中小3种型号的画笔,能够绘制12种不同的颜色,如果使用蜡笔,需要准备3×12= 36支,但如果使用毛笔的话,只需要提供3种型号的毛笔,外加12个颜料盒即可,涉及到的对 象个数仅为3+12=15,远小于36,却能实现与36支蜡笔同样的功能。如果增加一种新型号...原创 2019-07-16 14:27:24 · 287 阅读 · 0 评论 -
GOF设计模式-对象结构型模式-代理模式
间接访问对象-代理模式代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难 时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与 代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类 型,例如保护代理、远程代理、虚拟代理、缓冲代理等,它们应用于不同的场合,满足用户 的不同需求。代理模式概述近年来,...原创 2019-07-18 18:23:59 · 227 阅读 · 0 评论 -
GOF设计模式-对象结构型模式-享元模式
实现对象的复用-享元模式在软件系统中,有时候也会存在资源浪费的情况,例如在计算 机内存中存储了多个完全相同或者非常相似的对象,如果这些对象的数量太多将导致系统运 行代价过高,内存属于计算机的“稀缺资源”,不应该用来“随便浪费”,那么是否存在一种技术 可以用于节约内存使用空间,实现对这些相同或者相似对象的共享访问呢?答案是肯定,这 种技术就是我们本章将要学习的享元模式。举个栗子:围...原创 2019-07-18 17:43:35 · 179 阅读 · 0 评论 -
GOF设计模式-创建型模式-建造者模式
复杂对象的组装与创建-建造者模式没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多 个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式 需要解决的问题。建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低 的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成 的复杂产品。软件公司...原创 2019-07-11 18:15:34 · 255 阅读 · 0 评论 -
GOF设计模式-创建型模式-原型模式
对象的克隆-原型模式孙悟空可以用猴毛根据自己的形象,复制 (又称“克隆”或“拷贝”)出很多跟自己长得一模一样的“身外身”来。在设计模式中也存在一个 类似的模式,可以通过一个原型对象克隆出多个一模一样的对象,该模式称之为原型模式。先来看下它的定义:原型模式(PrototypePattern):使用原型实例指定创建对象的种类,并且通过拷贝这些 原型创建新的对象。原型模式是一种对象创建型模...原创 2019-07-11 16:14:02 · 239 阅读 · 0 评论 -
GOF设计模式-对象结构型模式-适配器模式
不兼容结构的协调—适配器模式我的笔记本电脑的工作电压是20V,而我国的家庭用电是220V,如何让20V的笔记本电脑能够 在220V的电压下工作?答案是引入一个电源适配器(ACAdapter),俗称充电器或变压器,有了 这个电源适配器,生活用电和笔记本电脑即可兼容在软件开发中,有时也存在类似这种不兼容的情况,我们也可以像引入一个电源适配器一样 引入一个称之为适配器的角色来协调这些存在不...原创 2019-07-15 16:12:44 · 278 阅读 · 0 评论