- 博客(41)
- 资源 (6)
- 收藏
- 关注
原创 Java设计模式学习笔记:装饰器模式
装饰器模式其实比较常见,大家在开发过程中其实经常用到,只不过自己还没发觉自己用到了装饰器这种设计模式,下面通过一个生活中的例子来介绍装饰器模式。那煎饼果子来说,我们知道煎饼果子有各种配置,加鸡蛋加香肠加生菜加肉等各种豪华配置(bgm:哟哟,切克闹,煎饼果子来一套,我说鸡蛋你说要),我们用代码来体现:首先是普通的煎饼,不做任何升级的那种,假设5块钱一个:package com.rq.p...
2020-04-12 23:01:45
332
原创 Java设计模式学习笔记:代理模式(三)
上一篇文章介绍了通过JDKProxy的方式,将之前的静态代理转换为动态代理,传送门如下:Java设计模式学习笔记:代理模式(二)今天继续研究动态代理的另外一种形式,通过Cglib实现动态代理,Cglib是针对类来实现代理的,他的原理是对代理的目标类生成一个子类,并覆盖其中方法来实现增强,因为底层是基于创建被代理类的一个子类,所以它避免了JDK动态代理类的缺陷(被代理类必须要实现接口,JDK...
2020-03-30 21:47:15
232
原创 Java设计模式学习笔记:代理模式(二)
上一篇文章介绍了java代理模式的基本概念,以及通过一个生活中的例子介绍了静态代理的原理,传送门如下:Java设计模式学习笔记:代理模式(一)今天继续研究代理模式中另外一种比较重要的模式,动态代理,还是通过上次静态代理的例子来扩展讲解,看看如何从静态代理转为动态代理。上篇文章中介绍的静态代理,很明显的一个特点就是,通过硬编码的方式实现的代理,不例如扩展,比如说,我们静态代理举的例子中,...
2020-03-28 18:06:07
270
原创 Java设计模式学习笔记:代理模式(一)
今天学习代理模式,简单记一下笔记,代理模式其实就是使客户端在使用目标对象时,不直接操作目标对象,而是通过代理对象来操作目标对象,代理对象是对目标对象的增强。今天先说下静态代理,静态代理的实现模式一般是:首先创建一个接口(JDK代理都是面向接口的),然后创建具体实现类来实现这个接口,然后再创建一个代理类同样实现这个接口,不同之处在于,具体实现类的方法中需要将接口中定义的方法的业务逻辑功能实现,而...
2020-03-22 00:01:00
223
原创 看Spring源码,一步一步的分析Spring容器初始化的步骤
Spring容器初始化三部曲:定位:定位配置文件和扫描相关的注解加载:将配置信息加载到内存注册:根据载入的信息将对象初始化到IOC容器中可以总结为如下步骤:寻找入口-获取配置文件路径-容器开始启动-开始解析配置文件路径-载入配置路径-分配路径处理策略-解析配置文件路径-加载配置文件信息-开始解析配置文件-分配解析配置文件策略-将配置文件载入到内存-载入<bean>元...
2020-03-16 19:15:34
204
原创 Springboot 集成ureport2报表插件
最近在项目中需要用到报表功能,要求能灵活配置,而不是每次要生成报表都要写代码。调研了网上各种报表插件,发现各有千秋,但是最适合java项目的还是UReport2这个报表框架,我们项目后台框架是基于SpringBoot、SpringCloud框架搭建的微服务架构,下面介绍一下如何在Springboot架构中引入ureport2。一.基础配置1、我的spring boot版本是2.1.12,...
2020-03-06 16:40:24
5875
原创 Java设计模式学习笔记:原型模式
今天学到原型模式,在此做一个简单的笔记。首先介绍下定义,原型模式其实就是一个对象的创建模式,通过一个原型来复制出更多对象的方式,简单理解就是克隆对象。原型模式核心思想是创建对象不是通过调用构造方法,即不通过new的方式来实现,而是通过调用一个方法来实现,即克隆。克隆分为两种,浅克隆和深克隆,浅克隆只是值的复制,但是其引用地址是一致的,深克隆是所有的属性都是全新的。实现浅克隆,只需要实现Cl...
2020-03-01 00:11:08
178
原创 Java设计模式学习笔记:单例模式(三)
上一篇文章介绍了单例模式的双重检测机制以及阻止通过反射破坏单例,传送门如下:Java设计模式学习笔记:单例模式(二)今天继续研究单例模式的几种高级模式,比如在Spring的 IOC机制中,是怎么来实现单例模式的?都知道IOC的意思是控制反转,通过IOC容器来管理Bean,当然也包括了Bean的实例化,他是怎么实现单例模式的呢?代码如下:public class ContainerSi...
2020-02-27 11:45:29
179
原创 Java设计模式学习笔记:单例模式(二)
上一篇文章介绍了单例模式的最常见的两种,饿汉式和懒汉式,以及两种单例模式的优缺点以及解决方案,传送门如下:Java设计模式学习笔记:单例模式(一)今天继续研究单例模式的几种高级模式。首先解决一下上篇文章中的一个问题,通过synchronized关键字解决懒汉式单例线程安全的问题,有两种方式:1、内部类,代码如下:package com.rq.pattern;public ...
2020-02-27 00:24:09
198
原创 Java设计模式学习笔记:单例模式(一)
今天学到单例模式,对几种单例模式的特点做了一次梳理,从线程安全性和性能两个方面来说。首先都知道有两种最常见的单例模式:饿汉式和懒汉式,如下:饿汉式:public class Hangry() { private Hangry(){}; private static final Hangry instance = new Hangry(); ...
2020-02-21 16:08:57
163
原创 手动模拟高并发访问
今天学习时,学到一个新的知识点,做个笔记,就是如何模拟多线程高并发访问?思路是,使用CountDownLatch计时器,在启动线程时,手动阻塞,计时器减一,当计时器值为0时,取消所有阻塞,创建的所有线程就会立即执行,模拟瞬间的高并发访问,代码如下:int count = 200;CountDownLatch latch = new CountDownLatch (count);for(i...
2020-02-19 22:58:53
497
转载 GET和POST两种基本请求方法的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。...
2019-07-08 17:46:30
212
原创 解决java读取文件乱码问题
个人笔记private static String getFileContent(String filePath) { StringBuilder result = new StringBuilder(); try{ BufferedReader br = new BufferedReader(new InputStreamReader(new FileInp...
2019-05-30 10:41:12
8720
原创 Activiti 定时任务 定时边界事件
通过定时边界事件可以实现任务超时处理后,发送提醒通知,或者自动将当前流程传递到下一处理人。首先需要开启 Activiti 的定时任务配置,spring-context-activiti.xml中的<property name="jobExecutorActivate" value="true" />然后在流程图中配置时间规则这里配置的是1分钟,当配置了定时边界事件...
2019-02-15 15:56:25
8920
12
原创 spring boot 集成mybatis连接oracle数据库
https://www.cnblogs.com/pangkang/p/8296666.html
2018-10-09 16:24:15
2643
原创 主动触发表单验证
1、验证表单$('#formId').valid();2、验证用户名$("#formId").validate().element($("#userName"))
2018-05-26 16:30:01
3596
原创 文本框实现只能输入正整数,并且规定最大值
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ht
2018-03-24 11:12:17
2978
原创 jQuery Validate 实现保存时不校验,提交时才校验表单
具体思路就是,通过jQuery Validate的ignore属性,ignore:对某些元素不进行验证。$("#myform").validate({ ignore:".ignore"})只要是设置了ignore,表单提交时就会跳过校验。可以在ready方法中设置只要有ignore样式的对象都不进行校验:$(document).ready(function() { $("#inputFor...
2018-03-17 11:26:41
5622
原创 自定义echarts的toolbox事件
toolbox: { show : true, feature : { mark : {show: true}, dataView : { show: true, readOnly: true,
2017-12-20 20:19:11
9265
1
原创 WdatePicker改变事件触发优化
WdatePicker日历组件在选择日期后,必须要失去焦点才会触发onchangge事件,这样用户体验并不好,我们可以使用onpicked事件来优化一下。如上,使用onpicked来绑定blur事件,就会在选择日期后自动触发onchangge事件
2017-12-04 17:40:21
2322
原创 鼠标经过时,展示提示内容
鼠标滑过弹出层效果--七棵芹菜 *{margin:0; padding:0;}body{font-size:12px; font-family:"Times New Roman", Times, serif; background-color:#333;} #main{margin:100px auto; width:300px;} #main ul{list-style:none
2017-11-28 15:31:19
1881
原创 WIN7去掉快捷方式小箭头
在运行中输入以下内容,再确定cmd /k reg delete "HKEY_CLASSES_ROOT\lnkfile" /v IsShortcut /f & taskkill /f /im explorer.exe & start explorer.exe
2016-05-12 10:42:29
375
原创 js金额数字转大写
//数字转大写function NumberTraditional(key, max_number, str) { var newchar = "", tmpnewchar, key_string, part; if (str == '') { str = "元"; }
2016-05-12 10:39:10
332
原创 JDBC连接数据库步骤
1、加载JDBC驱动程序,不同的数据库,加载的驱动不一样 //Class.forName("com.MySql.jdbc.Driver"); Class.forName("oracle.jdbc.drier.OracleDriver"); //Class.forName("com.microsoft.jdbc.sqlserve.SQLServe
2016-05-12 10:36:10
340
原创 Oracle Sequence自动补全指定位数
右侧补0select rpad(seq_acct.nextval ,6 ,'0') from dual;左侧补0select lpad(seq_acct.nextval ,6 ,'0') from dual;
2016-05-12 10:35:08
1679
原创 JAVA校验特殊字符
/** * 校验特殊字符 * @param str * @return */ private static boolean isConSpeChar(String str) { String regEx = "[`~!@#$%^&*()+=|{}':;'\\[\\] Pattern p
2016-05-12 10:33:42
8002
原创 BigDecimal格式比较大小
与0比较大小int t = big_decimal.compareTo(BigDecimal.ZERO);if(t==0) //等于if(t==1) //大于if(t==-1) //小于
2016-05-12 10:32:34
1615
原创 jQuery Validate自定义校验
jQuery ValidatejQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。该插件是由 Jörn Zaeffere
2015-10-15 09:43:30
4120
转载 Spring IOC
1、IoC(Inversion of Control)控制反转和 DI(Dependency Injection)依赖注入 首先想说说IoC(Inversion of Control,控制倒转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是
2015-07-30 17:53:46
339
原创 XSheel查看Unix主机上的日志
1、cat命令: 功能:1)显示整个文件。 示例: $ cat fileName 2)把文件串连接后传到基本输出,如将几个文件合并为一个文件或输出到屏幕。 示例: $ cat file1 file2 > file 说明:把档案串连接后传到基本输出(屏幕或加 > fi
2014-12-18 10:20:37
825
转载 Spring基础-入门讲解
1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书《Expert one-on-one J2EE Design and Development》和《Expert one-on-one J2EEdevelopment without EJB》是java高手进阶必看的宝典,Spring就是从这两本书的理论发展起来的。Spring主要
2014-11-28 16:38:58
356
原创 @Autowired 注解方式
正常情况下,Spring中注解bean后,在调用的时候都是先定义私有的域变量,然后设置get 和 set方法。现在实现该功能,只需用@Autowired进行注解,就可以达到相同目的。首先在spring的配置文件中加入如下配置: class="org.springframework.beans.factory.annotation.AutowiredAnnotationBea
2014-11-27 11:09:52
510
原创 JSON与JAVA数据的转换
JSON与JAVA数据的转换(JSON 即 JavaScript ObjectNatation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript的交互。)JSONObjectjo = JSONObject.fromObject(map);常见的java代码转换成json1. List集合转换成json代码List list = newArrayList()...
2014-11-27 09:18:16
409
原创 MyBatis动态条件查询
使用,作用:方便一些sql内容,在多个地方重复使用;且使主sql语句比较简洁。baseColumnList" > USERID, USERNAME, GENDER, AGE SELECT include refid="baseColumnList" /> FROM TEST_USER WHERE USE
2014-11-26 18:11:07
1515
原创 Eclipse异常解决
Eclipse中SVN插件常遇到的异常:Subclipse talks to Subversion via a Java API that requires access to native libraries.Those libraries where either not found or an incompatible version was loaded. Theerrors
2014-11-26 11:13:25
4740
原创 Spring4.0注入bean的新方法
主要介绍spring4.0的自动扫描功能,以及对bean的过滤等特性进行学习。package com.herman.ss.test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;...
2014-11-25 09:13:42
2281
原创 创建Maven项目报错
Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:RELEASE----------------------------------------------------------------------------Parameter: g
2014-11-20 09:45:10
701
原创 spring mvc 工作流程
一旦Http请求到来,DispatcherSevlet将负责将请求分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。Spring Controller将处理来自DispatcherServlet的请求。一旦Controller处理完客户请求,则返回ModelAndV
2014-11-19 10:13:29
373
原创 spring mvc 拦截器
Spring MVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的。在Spring MVC中定义拦截器主要有两种方式: 1、拦截器类实现了Spring的HandlerInterceptor接口,或者是该类继承了实现HandlerInterceptor接口的类,比如HandlerInterceptorAdapter,该
2014-11-19 10:11:47
548
原创 oracle中循环游标的方式
在Oracle中,一般使用ref cursor来返回数据集,首先创建一个包(package),在包中定义一个自定义游标(ref_cursor)v_cur sys_refcursor;cursor c_list is select * from USER u where u.id = 100第一种方式:for c in_list
2014-11-19 10:09:50
839
Linux离线安装SVN所有依赖包,亲测可用
2021-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人