自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jintao_Ma的博客

最可怕的不是眼睛看不见,而是心失去了方向。

  • 博客(113)
  • 资源 (4)
  • 收藏
  • 关注

转载 SpringBoot(4) 统一异常处理

感谢作者:翟永超 原文链接:http://blog.didispace.com/springbootexception/我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。选择一个之前实现过的Web应用(Chapter

2017-10-10 14:04:54 650

转载 SpringBoot(3) Spring Boot属性配置文件详解

感谢作者:翟永超 原文链接:http://blog.didispace.com/springbootproperties/相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Sta

2017-10-10 10:25:43 622

转载 SpringBoot(2) Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程

感谢作者:翟永超 原文链接:http://blog.didispace.com/spring-initializr-in-intellij/在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建。而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过《Spring Boot快速入门》一

2017-10-10 10:17:38 649

转载 SpringBoot(1) Spring Boot快速入门

作者:翟永超 原文链接:http://blog.didispace.com/spring-boot-learning-1/简介在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!

2017-10-10 10:06:56 443

原创 RocketMq服务器搭建和Java客户端配置

一 服务器搭建二 基本概念三 Java客户端配置四 与kafka比较一 服务器搭建直接按照官网推荐安装即可:1.64bit OS, Linux/Unix/Mac is recommended2.64bit JDK 1.7+3.Maven 3.2.x4.Git官网详细安装地址:http://rocketmq.incubator.apache.org/d

2017-06-06 19:27:45 8111

原创 Shiro的Web项目配置

一 shiro的学习二 shiro的java客户端配置三.关于权限的一些问题一 shiro的学习1.在web.xml中配置shiro的过滤器 shiroFilter org.springframework.web.filter.DelegatingFilterProxy true targetFilterLifecycle t

2017-06-04 23:31:45 3190

原创 MongoDb的Java客户端配置

MongoDb的Java客户端配置一 MongoDb介绍二 Java客户端配置三 MongoDB GridFS存取文件一 MongoDb介绍MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言

2017-04-12 13:58:58 2742

原创 伸展树&红黑树

一.伸展树特点二.Java实现三.与红黑树的比较一.伸展树特点前面写了二叉查找树BSTree和一种平衡二叉树AVL树的java实现。再看伸展树(Splay Binary Search Tree),写起来就比较顺了。特点: 每次插入或者删除节点,都会旋转该节点(或其前驱/后继节点),使之成为根节点。 这种树为达到的核心目的使最近访问的节点位于根节点及其附近。二.java实

2017-03-31 09:54:08 902

原创 AVL树和Java实现

AVL树和Java实现一.AVL树的特点二.Java实现三.增删改查时间复杂度一.AVL树的特点1.1 它是一种平衡二叉查找树的一种实现方式1.2 任何节点的两个子树的高度最大差别为1由于上面的1.2特性,可知,它的做多节点数为一棵满树,最少节点数为斐波那契数列。二.Java实现理论可参照此文:http://www.cnblogs.com/skywang1234

2017-03-30 17:38:13 984

原创 二叉查找树(排序树)与java实现

二叉查找树(排序树)与java实现一.二叉查找树的基本特点二.java实现三.二叉查找树增删改查时间复杂度一.二叉查找树基本特点1.1 若任意节点的左子树不空,则左子树上所有节点的值均小于等于它的根节点的值;1.2 若任意节点的右子树不空,则右子树上所有节点的值均大于等于它的根节点的值;1.3 任意节点的左、右子树也分别为二叉查找树。二.二叉查找树的java实现

2017-03-22 13:56:01 769 1

转载 Redis事务

Redis事务一.事务的四个特性二.Redis的事务命令三.Redis不支持回滚一.事务的四个特性隔离性:事务正在操作的数据,不会被其他事务修改原子性:一组命名要么全部执行要么全部不执行一致性:数据的每一次修改都会是数据库更改一次数据库状态;读一致性:两个事务在进行读操作时,基于同一个数据库状态(一般是最新的),不能基于多个。写一致性:一个状

2017-03-08 16:25:44 430

原创 Redis单机集群配置和java客户端

Redis基础1.redis使用手册 2.redis单机安装3.redis的java单机客户端配置和调试4.redis集群配置手册翻译和配置5.redis的java集群客户端配置和调试1.redis使用手册Redis的官网首页https://redis.io/有基本介绍: 它是一个内存型数据结构存储系统,被用作数据库,缓存和中间件。另外有一个redis命令手册的中文

2017-03-07 17:31:30 1161 1

翻译 Redis集群配置

Redis集群向导  本文不打算介绍复杂的分布式系统的概念,而仅作为一个入门介绍。旨在从用户的角度提供如何进行redis的配置,测试和操作。详细的配置参照https://redis.io/topics/cluster-spec。 下面就以易于理解的方式向用户介绍Redis的可用性和持久性,版本要求3.0或者更高。想要创建一个在开发环境中运行的正式的redis服务器最好阅读更详细的文档,但该

2017-03-07 15:41:18 1378

原创 再看泛型

再看泛型零 前言在分析Apache common包的时候发现大量的泛型较为复杂的应用,有必要对泛型重新探究一下。一 什么是泛型以及为什么要使用泛型?听过泛泛之谈,这里的泛型就可以理解为泛泛之类型,即保存的类型是不确定的,但是一旦保存却能记住这种类型,从而帮助编译器在编译阶段就发现错误,这样从另一个方面来讲,也保证了不需要使用强转。这里什么是泛型和为什么要用泛型只说大概,因为很多时候

2016-12-29 19:59:24 460

原创 一.zookeeper与dubbo的使用

zookeeper与dubbo的使用零.前言按照计划,本月开始学习总结分布式和集群的相关知识点。公司所在项目使用的分布式是基于zookeeper和dubbo,就以它们为例进行总结,zookeeper是对分布式服务进行协调的应用,dubbo是分布式服务框架。学习理论枯燥且难以直观理解,本篇只讲使用,续文再讲原理。一.zookeeper安装二.dubbo安装三.dubbo se

2016-12-08 16:19:48 9624

原创 多线程语法(二)

多线程语法(二)零.前言主要是在上篇的基础上理解一些基本原理,本片目录:一.悲观锁和乐观锁二.数据库中的悲观锁和乐观锁三.阻塞算法和非阻塞算法四.阿姆达尔定律(Amdahl)正文:一.悲观锁和乐观锁1.1.悲观锁和乐观锁是一种思想,前者悲观地认为每次写操作前,数据都会被修改,因此数据在取值的时候就要加上锁;而乐观锁认为每次写操作前,数据都不会被修改,因此

2016-12-04 21:09:29 712

原创 多线程语法

前文提到了多线程的本质“解决多线程相关的问题,就是解决除cpu外的资源的使用顺序问题”,而在保证这些资源的访问顺序上,有很多的相关语法,本文会一一解释这些语法,并用示例验证,本文整体目录如下(新版的blog页面风格,无法自动生成目录,只好单独拿出来):

2016-11-28 19:05:00 663

转载 Java内存模型(一) 初识Java内存模型

Java内存模型(一) 初识Java内存模型声明:本文由并发编程网中的一篇文章http://ifeve.com/java-memory-model-6/整理所得,修改部分语义错误,并且删除部分繁琐内容,感谢该网站和相关作者、译者。1.前言Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内存模型—

2016-11-17 17:55:40 1180

原创 多线程相关概念和线程池

多线程相关概念和线程池1.前言其实在平时的工作中用到多线程相关的问题时,总是遇到一个就解决一个,从来没有在宏观上去看它们, 也就达不到所谓的"看山还是山,看水还是水"。在系统的总结多线程之前,先总结一些基本的概念声明:部分观点仅由思考所得,欢迎讨论和指正.2.多线程条件:在一个进程下 2.1 单cpu下的多线程称之为并发  2.2 多cpu下的多线程称之为并

2016-11-17 12:24:47 810

原创 Java IO使用和总结

上篇文章提到了NIO的使用,这篇总结下IO的使用;不详谈语法,仅分析特点,从而明确它们的使用范围,这样就能够在合适的场合想到并应用它们。1.IO的数据源和输出目标IO的数据源和输出目标大致分为以下几类:1)文件2)管道3)网络连接4)内存缓存5)系统输入输出下面逐一分析2.文件 /**2.文件 * 你可以根据该文件是二进制文件还是文本文件来选择使用FileI

2016-11-09 19:48:39 710

原创 Java NIO使用和总结

0.前言NIO即New IO,是在java io机制的基础上增加的内容。这篇主要学习和使用它的用法, 主要的学习来自并发编程网 http://ifeve.com/java-nio-all/1.Channel(通道)Channel其实就是对流进行了改进,使得既可以读也可以写,而一般意义上的流通常是单向的,这就是Channel的产生。下面看一下它的用法: /**1.通道基本用法

2016-11-06 10:34:06 1317

原创 JavaWeb中监听器+过滤器+拦截器区别、配置和实际应用

JavaWeb中监听器+过滤器+拦截器区别、配置和实际应用1.前沿上一篇文章提到在web.xml中各个元素的执行顺序是这样的,context-param-->listener-->filter-->servlet; 而拦截器是在Spring MVC中配置的,如果从整个项目中看,一个servlet请求的执行过程就变成了这样context-param-->listener-->filter--

2016-10-30 19:51:28 26036 15

原创 Spring+SpringMVC+Mybatis+Maven搭建项目

1. 前言这篇文章一步步总结了搭建一个基于Maven的Spring+SpringMVC+Mybatis框架的完整过程,同时加入了基础工具类,包括读取配置文件,监听器和定时器等。文件可以免积分下载:http://download.csdn.net/download/jintao_ma/96610382. 建立一个web项目2.1 maven创建web项目显然,由于SpringMVC的存在,表明这篇讲述的是一个Web项目,使用maven的maven-archetype-we

2016-10-23 09:22:27 6785 1

原创 Mybatis,Spring集成与事务配置

这篇主要讲两个问题,一个是Spring与Mybatis的集成,另一个是Mybatis与Spring的事务配置一.Mybatis与Spring的集成,需要先掌握的:1)关于Mybatis的配置和使用见上篇文章http://blog.csdn.net/Jintao_Ma/article/details/52829490 ; 2)如何创建Maven项目http://blog.csdn.net

2016-10-19 11:05:41 3734 1

原创 Mybatis Demo

Mybatis Demo在分析Spring AOP的事务时,需要进行事务的配置,所以需要先对进行持久层的配置原理进行分析,这篇文章来分析下mybatis是如何使用的,通过一个简单的Demo并且分析它的原理:1.示例如下User.javapackage com.company.user.entity;public class User { private Integer

2016-10-16 14:51:14 797 3

原创 Spring 源码梳理(九) AOP与动态代理

SpringAOP的核心是动态代理,就从动态代理开始分析,然后就会谈到静态代理,以及为什么会有代理这个说法,后面逐一分析:1.什么是代理,为什么会有代理?类甲的代理就是代替甲来完成甲的功能,比如实际上就是有点像房产中介,本身不提供房产,但是可以帮助开发商把房子卖出去,并且在卖的过程中还能做一些操作,赚的利益。那为什么会有代理呢? 就类甲来说,我们想执行这个类甲的相关方法,但是在执行的前后想

2016-10-11 23:09:27 931

转载 ClassNotFoundException和NoClassDefFoundError

ClassNotFoundException和NoClassDefFoundErrorClassNotFoundException:发生在装入阶段。 当应用程序试图通过类的字符串名称,使用常规的三种方法装入类,但却找不到指定名称的类定义时就抛出该异常。NoClassDefFoundError: 当目前执行的类已经编译,但是找不到它的定义时也就是说你如果编译了一个类B,在类A中调

2016-10-10 23:18:02 613

原创 双亲委派模型与类的生命周期

一.双亲委派模型1.双亲委派模型是一种类加载的时候用到的一种模型,它指定了使用什么样的规则来加载类,指定了按照什么样的顺序来调用类加载器从而加载类。至于叫双亲委派,其实是不对的,不像数据结构中树的双亲那样含义明确;不过叫法就无所谓了,看它的作用吧,它的示意图如下(来自http://blog.csdn.net/p10010/article/details/50448491):2.三个

2016-10-10 23:08:01 1108

原创 JDK JVM JRE Java虚拟机概念区别和一个类加载器实例

1.一些概念1)什么是JDK?JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的软件开发包,它提供了Java的开发化境和运行环境。2).什么是JREJava Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。3).什么是JVM?JVM -- java virtual machineJVM

2016-09-30 23:51:44 3419 1

原创 Spring 源码梳理(八) Spring常用配置

前面的文章主要分析了Spring的生命周期,Spring如何处理它的配置文件,Bean的前置和后置处理器,Spring的后置处理器等; 这些都是与Spring Bean相关的内容,实际上都属于Spring两大特性中的IOC。 后面会介绍Spring的另一个特性AOP,这篇总结下Spring的IOC特性在项目中的原理。1.加载配置文件时用到的property-placeholder这个配置是

2016-09-23 17:37:43 720

原创 Spring 源码梳理(七) 注解源码

1.Spring的注解可以分为两类,一个是类上的注解,如@Component; 一个是类内部的注解,如@Autowired;Spring对两种形式的注解的处理是不同的,在Spring的初始化周期中注解生效的时间也不同。2.使用实例来分析一下(至于项目搭建的步骤见系列第一部分,源码梳理(一))App.javapackage com.mycompany.app;import org.s

2016-09-05 20:20:19 1524

原创 Spring 源码梳理(六) BeanNameAware和BeanFactoryAware

BeanNameAware和BeanFactoryAware1.BeanNameAware和BeanFactoryAware概念BeanNameAware:实现该接口的Bean能够在初始化时知道自己在BeanFactory中对应的名字。BeanFactoryAware:实现该接口的Bean能够在初始化时知道自己所在的BeanFactory的名字。2.继续前面文章的分析,看这一段源码

2016-09-01 16:13:30 2552

原创 Spring 源码梳理(五) FactoryBean与BeanFactory

1.什么是FactoryBean,,后缀是'Bean'证明本质上仍然是一个Bean,仍然要放入BeanFactory中,只是它实现了FactoryBean接口;2.特点:根据该Bean的id从BeanFactory中获取的实际上是getObject返回的对象,要获得该FactoryBean本身,获取时需要加上&;3.为什么要使用factoryBean?  由于继承这个接口之后可以从getO

2016-08-31 15:24:47 763

原创 Spring 源码梳理(四) BeanFactoryPostProcessor

BeanFactoryPostProcessor上篇介绍了BeanPostProcessor(后面以Post代替),这篇讲的是BeanFactoryPostProcessor(后面以PostFactory代替),后者也是可以修改Bean的配置。 1.它们的区别是什么?不是网上说的“BeanPostProcessor不能够修改Bean的配置,而BeanFactoryPostProcess

2016-08-30 13:52:24 752 1

原创 Spring 源码梳理(三) 再谈BeanPostProcessor

再谈BeanPostProcessor上篇文章介绍的是BeanPostProcessor的用法,在最后留下了一个问题,对于Spring中的Bean属性'Lazy-init'(延迟加载),当Hook类(BeanPostProcessorApp)或被Hook的类(App)具有这个属性时,会有什么样的表现。1.接着前面文章的已有的配置,首先我们分别在App和BeanPostProcessor

2016-08-29 15:23:04 743

原创 Spring 源码梳理(二) BeanPostProcessor

BeanPostProcessor1.BeanPostProcessor的概念BeanPostProcessor是一个接口,它可以使得继承它的类成为一个"回调类"(自己起的称呼),继承的方法成为回调函数;它就像Windows中Hook Api ,就是一个钩子函数,先注册这个函数,且指定一个事件目标;那么当一个事件在执行前或者后时,就会触发这个函数的执行,可以在这个事件的前后做一些操作,

2016-08-26 15:41:22 1524 1

原创 Spring 源码梳理(一) ClassPathXmlApplicationContext

1.为什么要分析Spring源码:1)有意往架构上发展,分析Spring可清楚它做了哪些事情,如何做这些事情2)Spring本身是对Java的丰富和发展,阅读可提高自己的水平2.怎样分析Spring源码:1)源码本身就是注释,是对平时应用的解释,所有没有必要句句分析,否则与把所有代码贴上没有区别2)不关注相关方法所在类,接口,以及类之间的继承关系,只关注方法做了哪些事情即可

2016-08-25 10:30:56 3256 1

原创 Spring中的WebAppRootListener

WebAppRootListener这个listener的作用就是监听web.xml中的配置param-name为webAppRootKey的值: webAppRootKey myroot然后配置一个然后配置一个监听器: org.springframework.web.util.WebAppRoo

2016-08-11 16:55:51 6475

原创 由url-pattern引发的思考

由url-pattern引发的思考在配置servlet的时候,需要配置url-pattern,在实际使用的过程中产生了一些问题,在对这些问题一一实践后总结出以下内容:1.tomcat本身有两个servlet,一个名称是'default',用来处理所有其他servlet没有匹配的请求,一般是资源文件请求;一个是jsp,用来处理后缀为jsp和jspx的请求(它只是找webapp下有没有相关的j

2016-08-08 17:52:16 1577

转载 Maven学习总结

最近想搭建一个基于“Maven多模块+Spring+Spring MVC+Mybatis+Mysql”的框架,首先需要掌握maven的相关知识,下面一个maven的教程很不错;原来来自 孤傲苍狼Maven学习总结(一)——Maven入门Maven学习总结(二)——Maven项目构建过程练习 Maven学习总结(三)——使用Maven构建项目Maven学习总结(四)—

2016-08-07 11:35:13 584

Maven+Spring+SpringMvc+Mybatis

基于Maven的Spring+SpringMvc+Mybatis项目框架,包含文件加载类+监听器+定时器。项目搭建过程可参考文章:http://blog.csdn.net/jintao_ma/article/details/52892625

2016-10-22

Spring与Mybatis集成

Spring与Mybatis项目的集成,加上事务的配置。 后面会再上传+SpringMVC和+Shiro后的项目。

2016-10-18

aopalliance-1.0.0.jar和aspectj.weaver-1.6.8.RELEASE.jar

Spring Aop功能需要的jar包 com.springsource.org.aopalliance-1.0.0.jar和com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar

2016-04-09

Web项目Demo(不基于任何框架)

不基于任何框架的Web Demo,旨在了解和学习Web项目,以及由浅入深的学习Spring等其他框架。

2016-04-03

空空如也

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

TA关注的人

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