自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JPA-Specification常用条件查询构造方式

使用JAP的JpaSpecificationExecutor常用条件查询方式

2022-09-25 13:55:06 3178 1

原创 java常用日期操作

java常用日期操作1,获取几天前的日期 /** * 获取几天前的日期 * * @param date 日期 * @param day 天 * @return Date */ public static Date getDateBefore(Date date, int day) { Calendar now = Calendar.getInstance(); now.setTime(date);

2022-04-16 11:04:00 6783

原创 Spring Boot 中使用 Hikari连接各类数据源

Spring Boot 中使用 Hikari连接各类数据源1,连接hive集群HikariConfig中各属性设置{ "allowPoolSuspension": false, "autoCommit": true, "connectionTimeout": 10000, "driverClassName": "org.apache.hive.jdbc.HiveDriver", "idleTimeout": 30000, "initializationF

2022-04-10 13:03:04 3524

原创 java-String常用操作总结

String常用操作总结1,内容替换2,List转用逗号隔开字符串1,内容替换import org.apache.commons.lang.text.StrSubstitutor;public void test01() { String str="你好,我是${name}"; Map<String, String> map = new HashMap(); map.put("name","周杰伦"); StrSubstitutor strSubs

2022-04-09 11:32:29 252

原创 安卓手机免root修改hosts文件

安卓手机免root修改hosts文件1.下载Virtual-Hosts安装包1.1 直接去github下载:https://github.com/x-falcon/Virtual-Hosts1.2 去我的百度网盘下载:链接: https://pan.baidu.com/s/18WktkjQ3fTQE9YY2Txmg0A 提取码: xwik2.安装后选择hosts文件3.开机启动4.其他4.1 开机启动成功后,通知栏会有个VPN的小图标,之后就可以使用了### 4.2 hosts格式和电脑的

2021-03-30 09:55:40 25198 13

原创 JS对象的拷贝与继承

JS对象的拷贝浅拷贝简单的把一个对象的成员值拷贝给另外一个对象,如果遇到复杂类型数据,只是将引用拷贝过去,其实两个对象的成员变量指向的还是同一个内存空间。这样 当修改一个对象的复杂类型成员变量,会影响到另外一个对象。代码: var obj1 = { name: 'zs', age: 18, sex: '男', dog: { ...

2019-12-30 22:46:27 333

原创 JS函数进阶

函数的定义方式函数声明function foo () {}函数表达式var foo = function () {}new Function(很少使用)var fn = new Function('var name = "张三";console.log(name)');//函数也是对象,所有函数都是 `Function` 的实例函数声明与函数表达式的区别函数声...

2019-12-30 21:33:25 310

原创 浅析js原型

一、prototype属性JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的所拥有。这也就意味着,我们可以把所有对象实例需要共享的属性和方法直接定义在 prototype 对象上。function Person (name, age) { this.name = name this.age = ...

2019-12-29 23:17:59 142

原创 js预解析及案例分析

一、预解析JavaScript解析器执行JavaScript代码的时候,分为两个过程:预解析过程和代码执行过程。预解析过程:把变量的声明提升到当前作用域的最前面,只会提升声明,不会提升赋值。把函数的声明提升到当前作用域的最前面,只会提升声明,不会提升调用。先提升var,在提升function。变量提升:定义变量的时候,变量的声明会被提升到作用域的最上面,变量的赋值不会提升。函...

2019-12-29 22:05:50 231

原创 Java自定义注解并通过反射读取

Java自定义注解并通过反射读取自定义注解元注解@Target@Retention使用反射机制读取注解信息自定义注解使用@interface自定义注解,自动继承了java.lang.annotation接口格式为:public @interface 注解名 {定义体}其中的每个方法实际上是声明了一个配置参数方法的名称就是参数的名称返回值的参数就是参数的类型(返回值类型只能是...

2019-12-11 20:46:58 593

原创 河南省第十一届ACM大学生程序设计竞赛题目

河南省第十一届ACM大学生程序设计竞赛题目A、计划日B、治安管理C、山区修路E、物流配送F、Gene mutationG、CheckpointsH、Attack City Capture TerritoryI、Image RecognitionJ、Jigsaw PuzzlePS:D题缺失...

2019-10-30 19:08:08 7290 3

原创 封装JpaSpecificationExecutor简化多条件查询

一、JpaSpecificationExecutor原生查询及其概述1.1 概述Spring Data JPA为我们提供了一系列的接口比如:Repository、CrudRepository、PagingAndSortingRepository、JpaRepository、JPASpecificationExecutor等。我们只需要继承这些接口就可以很方便的对数据库进行操作。但是当我们运用J...

2019-08-10 21:39:39 2152

原创 NodeJS入门

一、NodeJS简介Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。Node采用Google开发的V8引擎运行js代码,使用事件驱动、非阻塞和异步I/O模型等技术来提高性能,可优化应用程序的传输量和规模。Node大部分基本模块都用JavaScript编写。在Node出现之前,JS通常作为客户端程序设计语言使用,以JS写出的程序常在...

2019-07-13 11:36:35 190

原创 vim编辑器使用

一、vim三种模式概述1.1 vim中存在三种模式命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)【打开文件之后默认进入的模式】;编辑模式:在该模式下可以对文件的内容进行编辑;末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等);1.2 vim打开文件的方式#vim 文件路径 ...

2019-05-03 14:53:58 256

原创 shell入门与进阶

一、shell入门1.1 编写规范 代码规范: #!/bin/bash [指定告知系统当前这个脚本要使用的shell解释器] Shell相关指令 文件命名规范: 文件名.sh .sh是linux下bash shell 的默认后缀1.2 使用流程 1,创建.sh文件:touch/vim 2,编写shell代码 3,执行shell脚本 脚本必须得有执行权限...

2019-05-03 11:32:36 380

原创 Java10新特性及部分新增API介绍

一、新特性1.1 局部变量类型推断首先从名字来看,可知其作用范围是针对局部变量。它其实就是通过保留类型var,来定义局部变量,可以根据变量值来进行类型的推断。需要注意的是:var 是保留类型不是关键字。意味着我们还可以用var来定义变量名或者是方法名。其次就是var不允许赋值为null。它还可以推断出自定义的类型,具体示例代码如下:自定义Users类:class Users{ priva...

2019-04-23 19:59:03 395

原创 SpringBoot集成Thymeleaf及Thymeleaf常见语法

一、Thymeleaf概述1.1 Thymeleaf是一个流行的模板引擎,该模板引擎采用Java语言开发;1.2 模板引擎是一个技术名词,是跨领域跨平台的概念,在Java语言体系下有模板引擎,在C#、PHP语言体系下也有模板引擎,甚至在JavaScript中也会用到模板引擎技术;1.3 Java生态下的模板引擎有 Thymeleaf 、Freemaker、Velocity、Beetl(国产)...

2019-04-02 18:19:36 1409

原创 SpringBoot整合servlet、filter、listener

一、整合Servlet1.1 通过注解扫描完成Servlet注解1.1.1 编写Servlet/***SpringBoot 整合 Servlet 方式一**<servlet>* <servlet-name>FirstServlet</servlet-name>* <servlet-class>com.bjsxt.servlet.Fir...

2019-04-01 19:38:02 261

原创 SpringBoot服务端表单数据校验

一、SpringBoot对表单校验的技术特点1.1 SpringBoot 中使用了 Hibernate-validate 校验框架。1.2 SpringBoot表单数据校验步骤1.2.1 在实体类中添加数据校验规则 public class Users { @NotBlank //非空校验 private String name; @NotBlank //密码非空校验 ...

2019-03-31 22:15:39 351

原创 Spring Boot使用SpringLoader与DevTools实现热部署

一、以 maven 插件方式使用 SpringLoader1.1 在pom文件中配置插件<!-- springloader 插件 --><build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactI...

2019-03-31 20:52:55 211

原创 SpringBoot处理异常的5种方式

SpringBoot处理异常的5种方式一、自定义错误页面1.1 SpringBoot 默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会像/error 的 url 发送请求。在 springBoot 中提供了一个叫 BasicExceptionController 来处理/error 请求,然后跳转到默认显示异常的...

2019-03-31 18:10:42 3587 2

原创 用maven的assembly插件打包的项目在Linux上面无法运行

用maven的assembly插件打包的项目在Linux上面无法运行一、问题描述用maven的assembly插件打包的.tar.gz项目在windows上面或者在Linux上面解压后是都可以运行的,在windows上面点击start.bat即可启动,在Linux上面解压后运行start.sh脚本运行,但是今天把项目放Linux上面解压后一直运行不了,如下:二、查看日志出现错误后,...

2018-12-01 23:08:28 1112

原创 GOF23设计模式总结

GOF23设计模式总结一、GOF23中设计模式一览表二、构建型模式单例模式保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。工厂模式简单工厂模式 :用来生产同一等级结构中的任意产品。(对于增加新的产品,需要修改已有代码)工厂方法模式 :用来生产同一等级结构中的固定产品。(支持增加任意产品)抽象工厂模式 :用来生产不同产品族的全部产品。(对于增加新的产品,无能为...

2018-11-10 11:50:38 793

原创 解释器模式与访问者模式

解释器模式与访问者模式一、解释器模式是一种不常用的设计模式用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的 编译器和解释器设计。当我们需要开发一种新的语言时,可以考虑使用解释器模式。尽量不要使用解释器模式,后期维护会有很大麻烦。在项目中,可以使用 Jruby,Groovy、java的js引擎来替代解释器的作用,弥补java语言的不足。开发中常见的场景EL表达式...

2018-11-10 11:41:09 320

原创 备忘录模式

备忘录模式一、概述就是保存某个对象内部状态的拷贝,这样以后就可以将该对象恢复到 原先的状态。结构源发器类Originator备忘录类Memento负责人类CareTaker开发中常见的场景棋类游戏中的,悔棋普通软件中的,撤销操作数据库软件中的,事务管理中的,回滚操作Photoshop软件中的,历史记录二、代码实现源发器类public class Em...

2018-11-10 11:30:35 135

原创 观察者模式

观察者模式一、概述观察者模式主要用于1:N的通知。当一个对象(目标对象Subject或Objservable)的状态变化时,他需要及时告知一系列对象(观察者对象,Observer),令他们作出响应。应用场景网站上,很多人订阅了”java主题”的新闻。当有这个主题新闻时,就 会将这些新闻发给所有订阅的人。大家一起玩CS游戏时,服务器需要将每个人的方位变化发给所有的客 户。上面这些场景...

2018-11-10 11:19:46 207

原创 状态模式

状态模式一、概述用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。结构Context环境类:环境类中维护一个State对象,他是定义了当前的状态。State抽象状态类ConcreteState具体状态类:每一个类封装了一个状态对应的行为应用场景网上购物时,订单的状态:下单、已付款、已发货、送货中、已收货。酒店系统中,房间的状态变化: 已预订、已入住、空闲。...

2018-11-10 10:43:44 243

原创 模板方法模式

模板方法模式一、概述模板方法模式是编程中经常用到的模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。处理某个流程的代码已经都具备,但是其中某个节点的代码暂时不能确定。因此,我们采用模板方法模式,将这个节点的代码实现转移给子类完成。即:处理步骤父类中定义好,具体实现延迟到子类中定义。应用场景实现一个...

2018-11-10 10:15:12 144

原创 策略模式

策略模式一、概述策略模式对应于解决某一个问题的一个算法族,允许用户从该算法族 中任选一个算法解决某一问题,同时可以方便的更换算法或者增加新 的算法。并且由客户端决定调用哪个算法。本质:分离算法,选择实现。应用场景:某个市场人员接到单后的报价策略(CRM系统中常见问题)。报价策略 很复杂,可以简单作如下分类:普通客户小批量报价普通客户大批量报价老客户小批量报价老客户大批量报价具...

2018-11-10 09:55:13 224

原创 命令模式

命令模式一、概述将一个请求封装为一个对象,从而使我们可以用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。也称之为:动作Action模式,事物transaction模式。结构Command抽象命令类。ConcreteCommand具体命令类。Invoker调用者/请求者:请求的发送者,它通过命令对象来执行请求。一个调用者并不需要在设计时确定其接受者,因...

2018-11-09 18:11:30 128

原创 中介者模式

中介者模式一、概述如果一个系统中对象之间的联系呈现为网状结构,对象之间存在大量多对多关系,将导致关系极其复杂,这些对象称为同事对象我们可以引入一个中介者对象,使各个同事对象只跟中介者对象打交道,将复杂的网络结构化解为如下的星型结构本质解耦多个同事对象之间的交互关系。每个对象都持有中介者对象的引 用,只跟中介者对象打交道。我们通过中介者对象统一管理这些交互 关系应用场景假如没有总经...

2018-11-09 17:16:24 254

原创 迭代器模式

迭代器模式一、概述提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。又称为:游标cursor模式聚合对象:存储数据 ,迭代器:遍历数据。二、代码简单实现自定义迭代器接口public interface MyIterator { void first(); //将游标指向第一个元素 void next(); //将游标指向下一个元素 boolean ...

2018-11-09 16:47:59 139

原创 责任链模式

责任链模式一、概述将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能 则处理,如果不能则传递给链上的下一个对象。应用场景公司里面,报销个单据需要经过流程:申请人填单申请,申请给经理-&gt; 小于1000,经理审查-&gt;超过1000,交给总经理审批-&gt;总经理审批通过公司里面,请假条的审批过程: 如果请假天数小于3天,...

2018-11-09 16:34:24 244

原创 享元模式

享元模式一、概述内存属于稀缺资源,不要随便浪费。如果有很多个完全相同或相似的 对象,我们可以通过享元模式,节省内存。享元模式以共享的方式高效地支持大量细粒度对象的重用。享元对象能做到共享的关键是区分了内部状态和外部状态。内部状态:可以共享,不会随环境变化而改变外部状态:不可以共享,会随环境变化而改变应用场景围棋软件设计,每个围棋棋子都是一个对象, 有颜色、形状、大小等属性是...

2018-11-08 17:45:44 159

原创 外观模式

外观模式一、概述隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。迪米特法则(最少知识原则):一个软件实体应当尽可能少的与其他实体发生相互作用。二、代码举例注册公司各个复杂的步骤public interface 工商局 { void checkName(); //核名}...

2018-11-08 17:24:02 164

原创 组合模式

组合模式一、概述组合模式为处理树形结构提供了完美的解决方案,描述了如何将容器和叶子进行递归组 合,使得用户在使用时可以一致性的对待容器和叶子。当容器对象的指定方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员, 并调用执行。其中,使用了递归调用的机制对整个结构进行处理。使用场景把部分和整体的关系用树形结构来表示,从而使客户端可以使用统一的方式处理部分对 象和整体对象杀毒软件...

2018-11-08 16:59:59 170

原创 桥接模式

桥接模式一、概述桥接模式可以取代多层继承的方案。 多层继承违背了单一职责原则, 复用性较差,类的个数也非常多。桥接模式可以极大的减少子类的个数,从而降低管理和维护的成本。桥接模式极大的提高了系统可扩展性,在两个变化维度中任意扩展一 个维度,都不需要修改原有的系统,符合开闭原则。就像一个桥,将两个变化维度连接起来。 各个维度都可以独立的变化。 故称之为:桥模式二、使用场景商城系统中常...

2018-11-08 16:32:17 175

原创 适配器模式

适配器模式适配器模式的定义是,Convert the interface of a class into another interface clients expect,将某个类的接口转换为接口客户所需的类型。换句话说,适配器模式解决的问题是,使得原本由于接口不兼容而不能一起工作、不能统一管理的那些类可以在一起工作、可以进行统一管理。这里举个适配器模式的例子:这里有厨师接口 ICoo...

2018-11-07 18:54:36 7470 2

原创 静态代理与装饰模式

静态代理与装饰模式一、静态代理代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标对象之间起到中介的作用。换句话说,使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑客户类真正的想要访问的对象是目标类对象,但客户类真正可以访问的对象是代理对象。客户类对目标对象的访问是通过访问代理对象来实现...

2018-11-07 17:54:39 1095 2

原创 动态代理

动态代理一、概述动态代理是指,程序在整个运行过程中根本就不存在目标类的代理类,目标对象的代理对象只是由代理生成工具(如代理工厂类)在程序运行时由JVM根据反射机制与动态生成字节码动态生成的。代理对象的代理关系在程序运行时才确立。所谓的反射就是在加载完类之后,在堆内存中,就产生了一个 Class 类型的对象(一个类只有一个Class 对象),这个对象就包含了完整的类的结构信息。我们可以通过这...

2018-11-07 16:42:36 258

Bootstrap 后台管理模板70套

Bootstrap 后台管理模板70套,Bootstrap 后台管理模板70套

2018-09-12

Myeclipse-2014-GA-破解文件

Myeclipse-2014-GA-破解文件,Myeclipse-2014-GA-破解文件

2018-04-19

Spring框架所需基本jar包

spring框架所需要的jar包,spring框架所需要的jar包,

2017-12-16

空空如也

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

TA关注的人

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