自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

实践是最好的方法

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

  • 博客(91)
  • 资源 (15)
  • 问答 (1)
  • 收藏
  • 关注

原创 mysql索引

一、索引数据结构B+树(二叉树、红黑树、hash、B-TREE等)索引的概念:即排好序的数据结构1、二叉树特征:从根节点到叶子节点,父节点比子节点大,子节点中比父节点小的在左边,比父节点大的在右边。缺点:如果数据是顺序排的,将会导致树高度很高,从而查询效率变慢。2、平衡二叉树(AVL)它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在

2020-11-14 19:02:25 480

原创 java运算

一、二进制十进制转换十进制转换:不停除以2,除到商为0的时候就不再取了。然后除余数,从下往上取就可以了,组成的数字全部都是0或者1二进制转十进制:abcd.efg(2)=d*(2^0)+c*(2^1)+b*(2^2)+a*(2^3)+e*2(-1^)+f*2(-2^)+g*2(-3^)二、移位符https://www.cnblogs.com/zhangfengshi/p/12750402.html二进制中首位0表示正数,1表示负数java<<、>>、<&

2020-08-30 12:29:50 1070

原创 分库分表总结

目录一、数据切分(一)垂直(纵向)切分1、概念2、优点3、缺点(二)水平(横向)切分1、概叙2、优点3、缺点(三)水平切分方法1、根据数值范围2、根据数值取模二、分库分表带来的问题1、事务一致性问题2、跨节点关联查询 join 问题3、跨节点分页、排序、函数问题4、全局主键避重问题5、数据迁移、扩容问题一、数据切分数据切分根据其切分类型,可以分为两种方式:垂直(纵向)切分和水平(横向)切分(一)垂直(纵向)切分1、概念

2020-08-26 18:49:57 321

原创 秒杀分析

秒杀其实关注的是两个点:一、高并发系统稳定性1、限流令牌桶:令牌桶算法是程序以r(r=时间周期/限流值)的速度向令牌桶中增加令牌,直到令牌桶满,请求到达时向令牌桶请求令牌,如获取到令牌则通过请求,否则触发限流策略漏桶:漏桶算法是访问请求到达时直接放入漏桶,如当前容量已达到上限(限流值),则进行丢弃(触发限流策略)。漏桶以固定的速率进行释放访问请求(即请求通过),直到漏桶为空。计数器算法:如使用redis的加1方法,结束的时候就减1,达到阈值就限流;2、削峰利用消息中间件异步;

2020-08-26 18:18:07 216

原创 RocketMQ总结

参考:https://www.javazhiyin.com/?post_type=post&s=rocket目录一、组件二、核心概念三、消费模式四、Java API五、事务消息六、顺序消息七、怎么保证的消息不丢失(一)概叙八、RocketMQ是如何发消息九、Broker收到消息后如何持久化十、发消息的时候选择queue的算法有哪些十一、举例说明消息队列应用场景及ActiveMQ、RocketMQ、Kafka等的对比一、组件(一)Bro.

2020-08-20 13:00:30 968

原创 gitlab学习

1、以管理员的身份登入gitlab,点击Settings,然后选择Members,可以通过输入名字选择要分配权限的小组成员,然后分配角色,选择权限有效时间,点击Add to Project就把人员拉近到项目中。GitLab的角色有以下四种:Guest:可以创建issue、发表评论,不能读写版本库Reporter:可以克隆代码,不能提交,可以赋予测试、产品经理此权限Developer:可以克隆代码、开发、提交、push,可以赋予开发人员此权限MainMaster:可以创建项目、添加tag、保护分支

2020-07-21 16:47:49 814

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

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

2020-03-13 20:31:49 329

原创 Springboot学习总结

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

2020-03-11 19:03:04 4909

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

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

2019-12-23 19:21:55 3139

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

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

2019-09-04 19:45:43 3760

原创 写出优雅的代码

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

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

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

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

2018-10-08 19:21:41 549

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

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

2018-10-08 19:15:43 199

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

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

2018-10-07 22:25:31 230

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

目录一、概述二、类适配器模式三、对象适配器模式四、接口适配器模式五、适用场景一、概述将一个类的接口转换成客户希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式有两种:类适配器、对象适配器、接口适配器。前二者在实现上有些许区别,作用一样,第三个接口适配器差别较大。优点:1、将目标类和适配者类解耦;2、增加了类的透明...

2018-10-07 14:45:01 192

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

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

2018-10-07 14:29:58 1405

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

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

2018-10-07 12:28:57 351

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

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

2018-09-17 20:09:34 623

原创 spring与redis整合

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

2018-09-17 19:45:27 2132

原创 Spring 缓存

目录一、相关注解二、案例代码三、键的生成策略四、自定义缓存五、总结简单介绍使用Spring框架Cacheable一、相关注解1、@Cacheable注解可以标记在一个方法上,也可以标记在一个类上。@Cacheable可以指定三个属性,value、key和condition。value属性是必须指定的,其表示当前方法的返回值是会被缓存在哪个Cache上的,对应...

2018-09-13 22:02:13 2159

原创 job设计

目录一、接口类二、定义基础job类三、定义分页批量处理job四、job例子在quartz和elastic job中,都是定义一个接口,然后执行execute方法。面对单条数据和多条数据,我们可以进行不同的设计。本设计是主要运用到了类的继承,在接口中定义execute方法,然后用抽象类去继承,最后让实现类去执行具体的逻辑。子类重写了父类的方法,如果子类调用该方法,运行的是子类...

2018-09-12 20:57:37 860

原创 Spring AOP 详解

目录 一、相关术语1、连接点(Joinpoint)2、切点(Pointcut)3、通知(Advice)4、目标对象(Target)5、引介(Introduction)6、织入(Weaving)7、代理(Proxy)8、切面(Aspect)二、动态代理三、Spring AOP 增强介绍四、创建切面五、Spring自动创建代理六、AOP无法增...

2018-09-02 20:49:31 191

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

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

2018-08-29 09:24:44 2522 1

原创 Spring AOP 自动创建代理

目录 1、概述2、实现类介绍3、BeanNameAutoProxyCreator的使用4、DefaultAdvisorAutoProxyCreator1、概述在学习切面的时候,都是通过ProxyFactoryBean创建织入切面的代理,每个需要被代理Bean都需要使用一个ProxyFactoryBean进行配置,很是麻烦。Spring为我们提供了自动代理机制,Sprin...

2018-08-29 09:24:14 937

原创 Spring 创建切面

目录 1、概述2、切点类型3、切面类型4、静态普通方法名匹配切面5、静态正则表达式方法匹配切面6、动态切面7、流程切面8、复合切点切面9、总结1、概述在前面介绍各类增强时,大家可能没有注意到一个问题:增强被织入到目标类的所有方法中。假设我们希望有选择地织入到目标类某些特定的方法中,就需要使用切点进行目标连接点的定位了。描述连接点是进行AOP编程最主要...

2018-08-24 09:16:37 9844

原创 Spring AOP 增强介绍

目录一、前置增强二、ProxyFactory介绍三、后置增强和异常增强四、环绕增强五、引介增强advance,通知,在Spring中叫增强也许更加合理。所谓增强,其实就是向各个程序内部注入一些代码从而增强原有程序的功能。Spring使用增强类定义横切逻辑,同时由于Spring只支持方法连接点,增强还包括在方法的哪一点加入横切代码的方位信息,所以增强即包括横切逻辑,又包含部...

2018-08-22 09:05:31 3186

原创 Sprint资源访问

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

2018-08-21 18:31:50 273

原创 Spring Bean 的生命周期

目录一、BeanFactory实例化Bean相关接口二、BeanFactory的bean生命周期相关代码三、关于BeanFactory的Bean生命周期接口的总结四、ApplicationContext的Bean生命周期五、ApplicationContext的Bean生命周期代码演示六、总结Spring的生命周期是指实例化Bean时所经历的一系列阶段,即通过getBe...

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

原创 Spring WebApplicationContext 介绍

目录 一、ServletContext介绍二、Spring Web应用上下文配置三、总结一、ServletContext介绍javaee标准规定了,servlet容器需要在应用项目启动时,给应用项目初始化一个ServletContext作为公共环境容器存放公共信息,ServletContext中的信息都是由容器提供的。在web项目中,web.xml文件我们通常有如下配置...

2018-08-03 15:27:29 23967 3

原创 Spring BeanFactory与ApplicationContext 介绍

目录 一、BeanFactory二、ApplicationContext(应用上下文)一、BeanFactorySpring 使用 BeanFactory 来实例化、配置和管理 Bean,它是IOC容器的核心接口,主要定义了getBean方法。BeanFactory 只能管理单例(Singleton)Bean 的生命周期。它不能管理非单例Bean的生命周期,这是因为原型Bea...

2018-08-01 10:27:33 426

转载 Mybatis简介

一、入门1、导入mybatis相关jar包2、获取 SqlSession。通过 SqlSessionFactoryBuilder 获取到 SqlSessionFactory,然后再通过 SqlSessionFactory 获取到 SqlSession。2-1、获取 SqlSessionFactoryBuilder 的两种方式:1、xml配置获取String resource...

2018-07-31 22:03:20 167

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

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

2018-06-10 23:09:13 192

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

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

2018-04-17 12:02:26 818

原创 git 解决冲突

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

2018-04-10 18:39:47 775

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

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

2018-04-08 22:58:37 550

转载 ArrayList源码分析 jdk1.8

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

2018-04-08 08:44:40 275

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

一、什么是观察者模式       观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 举个例子:一个老师通知三个学生写作业,只要老师一发作业通知了,三个学生就会收到通知并进行处理。观察者模式所涉及的

2017-12-24 18:52:13 293

原创 Spring事务管理

一、简介spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法

2017-09-10 22:17:45 354

原创 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;&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;简而言之就是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对

2017-09-10 15:47:17 2773 1

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

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

2017-09-04 18:44:28 1626

js图片裁剪

图片裁剪,并预览,java生成图片,参考博客:http://blog.csdn.net/u012385190/article/details/54311051

2017-01-10

redis中文手册

redis中文手册

2016-12-21

webmagic爬虫项目

maven搭建,可以直接运行SpiderOschinaServiceImpl类里的main方法

2016-11-29

springmvc-mybatis整合

spring mvc mybatis整合项目,学习搭建地址:http://blog.csdn.net/u012385190/article/details/53169174

2016-11-16

spring手册

spring参考手册,超全面,带目录,五星推荐

2016-11-01

dubbo服务接口

学习地址http://blog.csdn.net/u012385190/article/details/52785520

2016-10-17

dubbo提供者

学习地址http://blog.csdn.net/u012385190/article/details/52785520

2016-10-17

dubbo消费者

学习地址http://blog.csdn.net/u012385190/article/details/52785520

2016-10-17

dubbo-admin项目

学习地址http://blog.csdn.net/u012385190/article/details/52785520

2016-10-17

dubbo-admin

2016-10-17

dubbo.xsd下载

可直接使用,具体配置参见 http://www.cnblogs.com/davidwang456/p/4369439.html

2016-10-11

mmseg4j jar包

该资源包没有问题,本人在solr5.3.1中可以直接使用。其中data为分词文件。

2016-06-15

springMVC拦截器项目

可下载部署直接运行

2016-05-17

spring mvc项目

spring mvc 框架简答的一个项目,部署后可以直接运行(http://localhost:8080/springMVC/hello)

2016-05-13

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

TA关注的人

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