自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

实践是最好的方法

我来不及认真地年轻,待明白过来时,只能选择认真地老去。

原创 过滤器和拦截器的区别

一、实现方式 1、Filter 实现javax.servlet.Filter接口,然后在web.xml中进行相关配置。 public interface Filter { //容器初始化时调用一次 void init(FilterConfig var1) throws Servl...

2020-03-13 20:31:49 59 0

原创 Springboot学习总结

一、工程结构 1、典型项目结构 com +- example +- myproject +- Application.java | +- domain | +- Customer.java | +- CustomerRepository.java |...

2020-03-11 19:03:04 202 0

原创 java:-source 1.5中不支持diamond运算符

idea中项目编译之后报错如下: java:-source 1.5中不支持diamond运算符 请使用-source 7 或更高版本以启用diamond运算符 将项目jdk等更新之后依然报错。 后来想到,spring项目相关包都没有引入进来,会不会是maven的问题,于是设置idea中...

2019-12-23 19:21:55 159 0

原创 java openoffice 实现在线预览文件

一、简介 需求:根据文件 url ,实现文件在线预览解决方法:1、前端 前端可以直接使用微软的共有接口来在线浏览office产品(word/excel/ppt),如下: <iframe src='https://view.officeapps.live.com/op/view...

2019-09-04 19:45:43 753 0

原创 写出优雅的代码

《代码整洁之道》一书中说:当你的代码在做 Code Review 时,审查者要是愤怒地吼道:“What the fuck, is this shit?”、“Dude, What the fuck!”等言辞激烈的词语,那说明你写的代码是 Bad Code,如果审查者只是漫不经心的吐出几个:“What...

2019-06-24 19:09:18 617 1

原创 Java开发模式之命令模式

一、概述 1、定义 命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。命令模式也叫委派模式。 2、角色 2-1、抽象命令类:一般是一个抽象类或接口,在其中声明了用于执行请求的execute()等方法,通过...

2018-10-08 19:21:41 378 0

转载 Java设计模式之外观模式

一、概述 1、定义 外观模式,一般用在子系统与访问之间,用于对访问屏蔽复杂的子系统调用,采用耳目一新的外观类提供的简单的调用方法,具体的实现由外观类去子系统调用。外观模式也叫门面模式。 2、角色 2-1、子系统角色:在软件系统中可以有一个或者多个子系统角色,每一个子系统可以不是一个单独的类,而...

2018-10-08 19:15:43 100 0

转载 Java设计模式之模板方法模式

一、概述 1、定义:一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2、原理:模板方法模式仅仅使用了Java的继承机制,但它是一个应用非常广泛的模式。 3、类角色: 3-1、抽象模板类:抽象类,有模板方法和基本方法。 基本方...

2018-10-07 22:25:31 125 0

原创 Java设计模式之适配器模式

目录 一、概述 二、类适配器模式 三、对象适配器模式 四、接口适配器模式 五、适用场景 一、概述 将一个类的接口转换成客户希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式有两种:类适配器、对象适配器、接口适配器。前二者在实现上有些许...

2018-10-07 14:45:01 101 0

原创 Java设计模式之装饰器模式

一、概述 装饰模式,动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。该模式以对客户端透明的方式扩展对象的功能。 1、什么时候使用 1) 在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责; 2) 处理那些可以撤销的职责; 3) 当不...

2018-10-07 14:29:58 754 0

原创 Java设计模式之工厂模式

工厂模式有三种:简单工厂模式、工厂方法模式、抽象工厂模式。 这里以制造coffee的例子开始工厂模式设计之旅。我们知道coffee只是一种泛举,在点购咖啡时需要指定具体的咖啡种类:美式咖啡、卡布奇诺、拿铁等等。 接口获取coffee public abstract class Coffee...

2018-10-07 12:28:57 149 0

原创 分布式锁简单入门以及三种实现方式介绍

目录   一、为什么使用分布式锁 二、分布式锁应该具备哪些条件 三、基于数据库的实现方式 四、基于Redis的实现方式 五、基于zookeeper的实现方式 六、总结 一、为什么使用分布式锁 为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情...

2018-09-17 20:09:34 433 0

原创 spring与redis整合

目录   一、jedis对5种java数据类型的存储方式 二、关于redis的一点介绍 三、相关代码 四、总结 一、jedis对5种java数据类型的存储方式 一个缓存信息包含三个,name缓存名称,key缓存的key值,value缓存的value值。jedis常用操作如下: p...

2018-09-17 19:45:27 1507 0

原创 Spring 缓存

目录 一、相关注解 二、案例代码 三、键的生成策略 四、自定义缓存 五、总结 简单介绍使用Spring框架Cacheable 一、相关注解 1、@Cacheable注解 可以标记在一个方法上,也可以标记在一个类上。@Cacheable可以指定三个属性,value、key和cond...

2018-09-13 22:02:13 872 0

原创 job设计

目录 一、接口类 二、定义基础job类 三、定义分页批量处理job 四、job例子 在quartz和elastic job中,都是定义一个接口,然后执行execute方法。面对单条数据和多条数据,我们可以进行不同的设计。 本设计是主要运用到了类的继承,在接口中定义execute方法,然...

2018-09-12 20:57:37 379 0

原创 Spring AOP 详解

目录   一、相关术语 1、连接点(Joinpoint) 2、切点(Pointcut) 3、通知(Advice) 4、目标对象(Target) 5、引介(Introduction) 6、织入(Weaving) 7、代理(Proxy) 8、切面(Aspect) 二、动态代理 ...

2018-09-02 20:49:31 97 0

原创 Spring AOP无法调用自身方法的原因

1、问题概述 在使用Spring AOP时,或多或少会碰到一些方法无法被增强的问题,有时同一个类里面的方法有的可以被增强,有的却无法被增强。要分析原因,首先要从Spring AOP的实现机制入手。 Aop底层实现有两种方法:  1、基于JDK动态代理,通过接口来实现方法拦截,所以必须要确保要拦...

2018-08-29 09:24:44 1245 0

原创 Spring AOP 自动创建代理

目录   1、概述 2、实现类介绍 3、BeanNameAutoProxyCreator的使用 4、DefaultAdvisorAutoProxyCreator 1、概述 在学习切面的时候,都是通过ProxyFactoryBean创建织入切面的代理,每个需要被代理Bean都需要使用一...

2018-08-29 09:24:14 584 0

原创 Spring 创建切面

目录   1、概述 2、切点类型 3、切面类型 4、静态普通方法名匹配切面 5、静态正则表达式方法匹配切面 6、动态切面 7、流程切面 8、复合切点切面 9、总结 1、概述 在前面介绍各类增强时,大家可能没有注意到一个问题:增强被织入到目标类的所有方法中。假设我们希望有选择...

2018-08-24 09:16:37 4158 0

原创 Spring AOP 增强介绍

目录 一、前置增强 二、ProxyFactory介绍 三、后置增强和异常增强 四、环绕增强 五、引介增强 advance,通知,在Spring中叫增强也许更加合理。所谓增强,其实就是向各个程序内部注入一些代码从而增强原有程序的功能。 Spring使用增强类定义横切逻辑,同时由于Spri...

2018-08-22 09:05:31 992 0

原创 Sprint资源访问

目录   一、资源抽象接口 1、传统java中的资源加载 2、Spring中的Resource接口 二、资源加载 1、资源地址表达式 2、资源加载器 三、总结 一、资源抽象接口 1、传统java中的资源加载 通过ClassLoader类加载器进行的。代码如下: Threa...

2018-08-21 18:31:50 169 0

原创 Spring Bean 的生命周期

目录 一、BeanFactory实例化Bean相关接口 二、BeanFactory的bean生命周期相关代码 三、关于BeanFactory的Bean生命周期接口的总结 四、ApplicationContext的Bean生命周期 五、ApplicationContext的Bean生命周期...

2018-08-05 11:30:20 27051 1

原创 Spring WebApplicationContext 介绍

目录   一、ServletContext介绍 二、Spring Web应用上下文配置 三、总结 一、ServletContext介绍 javaee标准规定了,servlet容器需要在应用项目启动时,给应用项目初始化一个ServletContext作为公共环境容器存放公共信息,Serv...

2018-08-03 15:27:29 7208 0

原创 Spring BeanFactory与ApplicationContext 介绍

目录   一、BeanFactory 二、ApplicationContext(应用上下文) 一、BeanFactory Spring 使用 BeanFactory 来实例化、配置和管理 Bean,它是IOC容器的核心接口,主要定义了getBean方法。 BeanFactory 只能管理...

2018-08-01 10:27:33 195 0

转载 Mybatis简介

一、入门 1、导入mybatis相关jar包2、获取 SqlSession。 通过 SqlSessionFactoryBuilder 获取到 SqlSessionFactory,然后再通过 SqlSessionFactory 获取到 SqlSession。 2-1、获取 SqlSessio...

2018-07-31 22:03:20 82 0

原创 Java设计模式之单例模式

单例模式: 单例,顾名思义就是只能有一个、不能再出现第二个。就如同地球上没有两片一模一样的树叶一样。 在这里就是说:一个类只能有一个实例,并且整个项目系统都能访问该实例。 单例模式共分为两大类: 懒汉模式:实例在第一次使用时创建 饿汉模式:实例在类装载时创建 1、饿汉模式...

2018-06-10 23:09:13 126 0

原创 LinkedList源码解析(jdk1.8)

本篇介绍的LinkedList是List接口的另一种实现,它的底层是基于双向链表实现的,它具有插入删除快而查找修改慢的特点,此外,通过对双向链表的操作还可以实现队列和栈的功能。一、类的继承public class LinkedList&lt;E&gt; extends Ab...

2018-04-17 12:02:26 389 0

原创 git 解决冲突

1、首先git merge develop(将develop分支合并到当前分支)2、然后git status(将会显示新增、删除、冲突等文件)3、然后具体打开每个冲突文件:比如显示如下: @Mock &lt;&lt;&lt;&lt;&lt;&l...

2018-04-10 18:39:47 326 0

原创 阿里巴巴java开发手册容易忽视的几个知识点

一、编程规约(一)命名规范:1、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长,正确的如:MAX_STOCK_COUNT;2、抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;3、中括号是数组类型的一部分,数组定义如下:Str...

2018-04-08 22:58:37 329 0

转载 ArrayList源码分析 jdk1.8

本篇分析ArrayList的源码,在分析之前先跟大家谈一谈数组。数组可能是我们最早接触到的数据结构之一,它是在内存中划分出一块连续的地址空间用来进行元素的存储,由于它直接操作内存,所以数组的性能要比集合类更好一些,这是使用数组的一大优势。但是我们知道数组存在致命的缺陷,就是在初始化时必须指定数组大...

2018-04-08 08:44:40 166 0

原创 Java设计模式之观察者模式

一、什么是观察者模式        观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 举个例子:一个...

2017-12-24 18:52:13 168 0

原创 Spring事务管理

一、简介spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事务管理建立...

2017-09-10 22:17:45 267 0

原创 Java设计模式-之代理模式(动态代理)

一、简介 1、什么叫代理模式: &amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;&...

2017-09-10 15:47:17 1298 0

原创 如何将自己的本地项目上传到github上?

github是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的仓库,你每次提交的时候可以别人可以知道,及方便与分享代码。

2017-09-04 18:44:28 1176 0

原创 mysql学习优质博客

1、mysql 数据类型2、理解MySQL——索引与优化3、MySQL: InnoDB 与 MyISAM4、MySQL数据库设计总结5、MySQL百万级、千万级数据多表关联SQL语句调优6、Mysql 索引实现原理7、MYSQL常用命令(1)8、MYSQL常用命令(2)9、MySQL 开发实践 8...

2017-08-27 18:18:55 423 2

原创 java优质博客

1、从代码层面优化系统性能应该怎么做? 上篇 下篇2、深入理解 Java 并发之 synchronized 实现原理3、深入JDK源码之ThreadLocal类4、Java 远程通讯技术及原理分析5、RPC原理及实现6、微信高并发资金交易系统设计方案——百亿红包背后的技术支撑7、如何建设高可用...

2017-08-27 18:12:29 559 0

原创 测试数据层

曾经,写了一个查询的dao,为了这个检查这个查询在java中到底对不低,傻傻的我总是会写一个前端页面去请求,简直傻的不要不要的。正确的方法应该如下: step1、 配置一个文件带注释和数据源(比如spring中的xml文件); step2、数据查询的类注解成Repository; step...

2017-08-13 21:56:14 299 0

原创 fatal: cannot resume: .git/rebase-apply/final-commit does not exist.

git pull 报如下错误:fatal: cannot resume: .git/rebase-apply/final-commit does not exist.修改: 先执行git rebase,会提示你如何做,比如执行git rebase –abort,然后就可以git pull了。

2017-08-08 18:01:37 5342 0

原创 Google Guava--让java代码更加优雅

Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annota...

2017-07-23 12:43:37 1053 0

原创 一小时搞定AngularJS

简介AngularJS 是比较新的技术,版本 1.0 是在 2012 年发布的,AngularJS2 发布于2016年9月份,它是基于ES6来开发的。本章博客所有内容基于angularJS 1版本来讲的。从来没有接触过angularJS?没关系,认真学习1小时就搞定了!AngularJS是一款前端...

2017-07-02 11:31:54 861 0

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