自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 spring源码学习笔记(一)准备阶段

版本:spring 4.0.x(够用就行,不用升级5.*)(1)从github上下载spring framework的源码,地址为:https://github.com/spring-projects/spring-framework然后git切换分支到4.0.*(2)刷新gradle让idea自动编译spring各个模块左侧均为蓝色表示编译好了(3)特殊处理构建过程碰到的问题1、spring-c...

2018-04-15 16:32:35 297

转载 责任链模式学习

在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的:  责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和

2016-09-01 20:41:10 311

转载 远程调用(RMI,RPC,WS,JMS,Rest)

RPC(Remote Procedure Call Protocol)RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,无法在编译器检查错误,只能在运行期检查。 Web Service

2016-07-11 10:57:50 878

转载 Git入门操作

Git是个了不起但却复杂的源代码管理系统。它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作。让我们诚实一记吧:Git是复杂的,我们不要装作它不是。但我仍然会试图教会你用(我的)基本的Git和远程代码库干活的工作步骤,在15分钟内。 工作步骤我会展示以下的步骤,通常能帮我独自在一台或多台机器上做项目。创建一个远程的空代码库(在BitBu

2016-07-05 10:12:03 309

转载 从JAVA多线程理解到集群分布式和网络设计的浅析

由于最近工作原因,很久没有在CSDN上留下些啥,今天在这些篇文章,是关于Java多线程的。对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题,另外关于java多线程的知识也是非常的多,本文中先介绍和说明一些常用的,在后续文章中如果有必要再说明更加复杂的吧,本文主要说明多线程的一下几个内容:1、在应用

2016-05-16 21:13:51 2985 1

转载 CSS选择器

大部分信息来自于BAIDU,部分信息自己添加。 CSS选择器样式表调用一般情况下包含如下两种:页面内嵌法:就是将样式表直接写在页面代码的head区。类似这样:body { background : white ; color : black ; } 外部调用法: 将样式表写在一个独立的.css文件中,然后在页面head区用类似

2016-05-06 14:14:22 298

转载 正宗 ~ 冒泡排序

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。  冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作

2016-04-29 18:25:04 404

转载 logback配置与使用

一:根节点包含的属性: scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug:当此属性设置为true时,将打印出logback内部日志信

2016-04-29 10:51:38 282

转载 动态代理(JDK和CGLIB)

JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为

2016-04-20 15:38:01 269

转载 锁,同步,可重入锁,读写锁

1、synchronized把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。1.1 原子性原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状态时相互冲突。1.2 可见性可见

2016-04-20 11:24:29 2963 1

转载 乐观锁和悲观锁

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人

2016-04-15 17:50:17 251

转载 数据库的隔离级别

数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现    ×: 不会出现脏读不可重复读幻读Read uncommitted√√√

2016-04-15 17:26:18 257

转载 “阻塞”与"非阻塞"与"同步"与“异步

“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者

2016-04-13 15:44:29 225

转载 MongoDB副本集集群

完整的搭建mongodb集群(副本集+分片)的例子。。。准备四台机器,分别是bluejoe1,bluejoe2,bluejoe3,以及bluejoe0副本集及分片策略确定如下:将创建3个副本集,命名为shard1,shard2,shard3;以上3个副本集作为3个分片;每个副本集包含3个副本(主、辅1、辅2);副本分开存储,即shard1存在bluejoe1、blu

2016-04-08 11:38:41 493

转载 MongoDB3.0后的数据库安全认证

mongoDB 3.0 安全权限访问控制MongoDB3.0权限,啥都不说了,谷歌百度出来的全是错的。先安装好盲沟,简单的没法说。首先,不使用 –auth 参数,启动 mongoDB:mongodb-linux-i686-3.0.0/bin/mongod -f mongodb-linux-i686-3.0.0/mongodb.conf

2016-04-07 10:05:29 394

转载 mongodb安装

安装MongoDB1.按照操作系统下载http://www.mongodb.org/downloads。2.在D盘新建MongoDB文件夹(此文件夹为自定义的数据库安装目录D:\MongoDB)把刚才下载的压缩包解压并把bin文件夹拷贝到MongoDB文件夹。3.在MongoDB文件夹内新建logs文件夹(用于存储日志文件D:\MongoDB\logs),并在此文件夹内新建

2016-04-01 11:49:34 258

转载 JDK动态代理与运行时织入字节码

java jdk动态代理其实是动态生成字节码与反射机制的一个结合,说到反射机制很多人都用到过反射,只要得到对应类的Class对象即可,调用方法,获取成员变量等等,那么jdk的动态代理就是在程序运行的过程中,动态的将我们维护的检查性的代码,放在正常的业务代码之前,那么怎么调用我正常的业务代码呢,因为业务可能有很多种,也就是说可能会有不同的类,但是都要执行相同的检查性代码,如我们要取钱,或者是修改身份

2016-03-11 17:33:16 3041 2

转载 抽象工厂模式

《JAVA与模式》之抽象工厂模式场景问题  举个生活中常见的例子——组装电脑,我们在组装电脑的时候,通常需要选择一系列的配件,比如CPU、硬盘、内存、主板、电源、机箱等。为讨论使用简单点,只考虑选择CPU和主板的问题。  事实上,在选择CPU的时候,面临一系列的问题,比如品牌、型号、针脚数目、主频等问题,只有把这些问题都确定下来,才能确定具体的CPU。  同样,在选择主板的

2016-03-10 14:04:16 289

转载 抽象工厂模式

定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别        抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,

2016-03-10 12:00:11 210

转载 工厂模式(静态工厂模式、工厂方法模式、抽象工厂模式)

工厂模式(静态工厂模式、工厂方法模式、抽象工厂模式)一、引子话说十年前,有一个暴发户,他家有三辆汽车——Benz 奔驰、Bmw 宝马、Audi 奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的:上 Benz 车后跟司机说“开奔驰车!”, 坐上 Bmw 后他说“开宝马车!”,坐上 Audi 说“开奥迪车!”。你一定说:这人有病!直接说 开车不就行了?!而当把这个暴发户的行

2016-03-10 11:43:23 275

转载 开闭原则

开闭原则简介  开闭原则是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。   1988年,Bertrand Meyer在他的著作《Object Oriented Software Construction》中提出了开闭原则,它的原文是这样:“Software entities should be open f

2016-03-10 11:30:18 295

转载 Javascript 面向对象编程

前言:虽有陈皓《Javascript 面向对象编程》珠玉在前,但是我还是忍不住再画蛇添足的补上一篇文章,主要是因为javascript这门语言魅力。另外这篇文章是一篇入门文章,我也是才开始学习Javascript,有一点心得,才想写一篇这样文章,文章中难免有错误的地方,还请各位不吝吐槽指正吐槽Javascript初次接触Javascript,这门语言的确会让很多正规军感到诸多的不适

2016-01-29 18:36:29 325

转载 JavaScript原型与继承

本文适合初学者,特别是对构造函数、原型和原型链概念比较模糊的,大牛请路过,好了,让我们一步步来看看 Javascript原型(链)到底有多神秘……一、函数创建过程在了解原型链之前我们先来看看一个函数在创建过程中做了哪些事情,举一个空函数的例子:1functionA() {};当我们在代码

2016-01-29 18:15:18 299

原创 angularJS (前瞻)

前言:  本angular学习笔记 会一直写下去,这里只是 前瞻:    讨论一下   angularJS 实现简单计数器  与 纯JS闭包 实现简单计数器    一: angularJS 实现简单计数器二,纯JS闭包 实现简单计数器大家对比 上面的  两个 实现,  是不是  发现  angularJS封装后   用起来 简单了许多.同时,  angularJS的 双

2016-01-28 11:38:31 267

转载 JavaScript函数与作用域

在js中使用函数注意三点:1、函数被调用时,它是运行在他被声明时的语法环境中的;2、函数自己无法运行,它总是被对象调用的,函数运行时,函数体内的this指针指向调用该函数的对象,如果调用函数时没有明确指定该对象, this 默认指向 window ( strict 模式除外,本文不涉及 strict 模式);3、函数是一种带有可执行代码的对象类型数据。一、声明函数

2016-01-28 09:53:56 353

转载 spring profiles

前言:     其实  有了 spring boot 之后,  下面的 这么复杂的配置  可以更简单 :spring xml 的模式:配置环境使用也是非的方便。只要在applicationContext.xml中添加下边的内容,就可以了 Java代码  "develop">          "clas

2016-01-27 17:45:14 363

转载 Java异步并发Callable与Runable

Future到底是什么东西?很多人都对这个东西感到特别奇怪(好吧,我承认,那个很多人就只是我自己而已),就我现在的理解,因为本人在并发这方面没有多少实践经验,所以只好就着一些资料和自己的理解给它下个定义,Future就是保存我们任务的完成信息,比如说,任务中会通过返回某些东西告诉别人它已经结束了,而Future中就保存了这种信息。利用Futu保存和得到任务的结果的用法如下: 

2016-01-26 14:40:39 3571

转载 logback(三)

:是的子节点,是负责写日志的组件。有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。 1.ConsoleAppender:把日志添加到控制台,有以下子节点::对日志进行格式化。(具体参数稍后讲解 ):字符串 System.out 或者 System.err ,默认 System.o

2016-01-26 14:20:26 259

转载 logback(二)

一:根节点包含的属性: scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug:当此属性设置为true时,将打印出logback内部日志信

2016-01-26 14:19:42 169

转载 logback(一)

1. logback介绍Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方

2016-01-26 14:18:51 244

转载 Spring Data JPA

第一章:入门 Spring Data是什么Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。 Spring Data 包含多个子项目:Commons - 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化JPA - 简化创建 JPA 数据访问层和跨存储

2016-01-21 16:05:44 318

转载 MySQL存储过程详解 mysql 存储过程

mysql存储过程详解1.      存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存

2016-01-21 11:59:55 299

转载 springMVC重定向

1. 需求背景 需求:spring MVC框架controller间跳转,需重定向。有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示。本来以为挺简单的一件事情,并且个人认为比较常用的一种方式,一百度全都有了,这些根本不是问题,但是一百度居然出乎我的意料,一堆都不是我想要的结果。无奈啊,自己写一篇比较全都供以后大家一百度吧,哈哈哈。。。是这些写的不是很全都

2015-12-01 10:55:24 414

转载 springboot-2

Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系。随着Spring 3.0的发布,Spring IO团队逐渐开始摆脱XML配置文件,并且在开发过程中大量使用“约定优先配置”(convention over configuration)的思想来摆脱Spring框架中各类繁复纷杂的配置(即时是Java Con

2015-11-26 16:29:14 748

转载 springBoot学习

Spring 框架对于很多 Java 开发人员来说都不陌生。自从 2002 年发布以来,Spring 框架已经成为企业应用开发领域非常流行的基础框架。有大量的企业应用基于 Spring 框架来开发。Spring 框架包含几十个不同的子项目,涵盖应用开发的不同方面。如此多的子项目和组件,一方面方便了开发人员的使用,另外一个方面也带来了使用方面的问题。每个子项目都有一定的学习曲线。开发人员需要了解这些

2015-11-26 13:06:14 436

转载 slf4j

简述:添加logger的日志输出,下面是配置信息供备忘步骤:1. 在Maven的porn.xml 文件中添加dependency如下[html] view plaincopydependency>      groupId>org.slf4jgroupId>      artifactId>sl

2015-11-10 15:21:58 265

转载 restful学习笔记一

不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正确”方式,一场争论正进行的如火如荼:虽然当前主流的方式明显地集中在基于SOAP、WSDL和WS-*规范的Web Services领域,但也有少数人用细小但洪亮的声音主张说更好的方式是REST,表述性状态转移(REpresentational State Transfer)的简称。在本文中,我不会涉及争论的话题,而是尝试对REST和RES

2015-10-14 10:28:29 366

转载 springMVC 与 struts2的区别

1.核心控制器(前端控制器、预处理控制器):对于使用过mvc框架的人来说这个词应该不会陌生,核心控制器的主要用途是处理所有的请求,然后对那些特殊的请求(控制器)统一的进行处理(字符编码、文件上传、参数接受、异常处理等等),spring mvc核心控制器是Servlet,而Struts2是Filter。2.控制器实例:Spring Mvc会比Struts快一些(理论上)。Spring M

2015-10-13 16:51:56 381

转载 [转]SQL的四种连接-左外连接、右外连接、内连接、全连接

1、内联接(典型的联接运算,使用像 =  或 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。       2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。     在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:     1)LEFT  JOIN或LEF

2015-08-23 16:53:26 345

转载 The Nested Set Model 算法

The Nested Set Model  201原理:    我们先把树按照水平方式摆开。从根节点开始(“Food”),然后他的左边写上1。然后按照树的顺序(从上到下)给“Fruit”的左边写 上2。这样,你沿着树的边界走啊走(这就是“遍历”),然后同时在每个节点的左边和右边写上数字。最后,我们回到了根节点“Food”在右边写上18。下 面是标上了数字的树,同时把遍历

2014-11-05 10:28:06 638

疯狂activiti工作流讲义

疯狂activiti工作流框架应用开发,配合书籍和代码来看,效果更好

2015-06-29

jbpm4所需jar

传智 jbpm工作流开发技术所需jar

2015-05-03

空空如也

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

TA关注的人

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