• 等级
  • 18810 访问
  • 2 原创
  • 39 转发
  • 315590 排名
  • 3 评论
  • 6 获赞

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

责任链模式学习

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

2016-09-01 20:41:10

远程调用(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

Git入门操作

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

2016-07-05 10:12:03

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

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

2016-05-16 21:13:51

CSS选择器

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

2016-05-06 14:14:22

正宗 ~ 冒泡排序

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

2016-04-29 18:25:04

logback配置与使用

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

2016-04-29 10:51:38

动态代理(JDK和CGLIB)

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

2016-04-20 15:38:01

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

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

2016-04-20 11:24:29

乐观锁和悲观锁

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

2016-04-15 17:50:17

数据库的隔离级别

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

2016-04-15 17:26:18

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

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

2016-04-13 15:44:29

MongoDB副本集集群

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

2016-04-08 11:38:41

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

mongodb安装

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

2016-04-01 11:49:34

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

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

2016-03-11 17:33:16

抽象工厂模式

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

2016-03-10 14:04:16

抽象工厂模式

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

2016-03-10 12:00:11

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

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

2016-03-10 11:43:23

保鲜盒

临渊羡鱼,不如退而结网
关注
  • 计算机软件/Java开发工程师
  • 中国 上海 闵行区