摘要:
抽象工厂模式的定义: 抽象工厂模式指提供一个创建一系列相关或相互依赖对象的接口,无须指定他们具体的类。意思是客户端不必指定产品的具体类型,就可以创建多个产品族中的产品对象。 所有的产品以同样的接口实现,从而使客户端不依赖具体实现。 关于产品等级结构和产品族: 关于产品等级结构和产品族,举个例子你就明 阅读全文
摘要:
工厂方法模式的定义: 工厂方法模式又叫做多态性工厂模式,指定义一个创建对象的接口,但由实现这个接口的类来决定实例化哪个类,工厂方法把类的实例化推迟到子类种进行。 在工厂方法模式中,不在由单一的工厂类生产产品,而是由工厂类的子类实现具体产品的创建。因此,当增加一个产品时,只需增加一个相应的工厂类的子类 阅读全文
摘要:
阅读spring源码需要具备的基本技能: 1,设计模式(工厂模式,单例模式,代理模式,模板模式,观察者模式,装饰器模式,适配器模式) 2,数据结构和算法(栈,队列,树以及一些基本的算法) 3,反射(如何通过创建对象,如果获取属性) 4,多线程(如何通过锁保证线程安全) 5,JVM(对象的实例化和初始 阅读全文
摘要:
本篇文章主要是记录一些常用的mysql语法,方便使用时候进行查阅。 linux上常用命令:(命令都以 ; 结尾) 1,登录mysql:mysql -u账号 -p密码 2,查看帮助:help; 或者\h 3,查看有哪些数据库:show databases; 4,进入某个数据库:use database 阅读全文
摘要:
概述: 在设计和数据库有关的系统时,数据库表的设计至关重要,这些设计关系整个系统的架构,需要精心的仔细考虑。 ·数据库的设计主要包含了设计表结构和表之间的联系,在设计的过程中,有一些规则应该遵守,也就是我们常说的数据库三范式。 第一范式: 第一范式是最基本的范式,如果数据库表中所有的字段都是不可分解 阅读全文
摘要:
AQS是什么? AQS全称叫AbstractQueuedSynchronizer,顾名思义,抽象的队列同步装置,在java中是一个抽象类。java JUC包下常用的同步类都是通过继承AQS实现的,那么AQS到底是怎么实现的呢, 又为什么说AQS=volatile+CAS,我们通过分析Reentran 阅读全文
摘要:
java流的分类: 1,按照流向分: 怎么区分输入流和输出流呢,输入输出流是相对于计算机内存来说的,为不是相对于源和目标,比如说通过java去读取一个文件里面的内容就是需要把文件的内容通过流读取到内存中, 对于内存来说,是输入,所以叫输入流,反之亦然。 2,按照处理数据单元划分: 字节流是8位通用字 阅读全文
摘要:
CAS概念: CAS号称是无锁优化,或者叫自旋。 我们先通过一个简单的例子来说明为什么要使用CAS。 public class T { private int count = 10; public void m() { count--; System.out.println(Thread.curre 阅读全文
摘要:
volatile的作用: volatile关键字的作用包括:保障可见性,保障有序性。 何为保障可见性,看下面的代码: package com.mashibing.thread.lock; public class TestVolatile { public static void main(Stri 阅读全文
摘要:
为什么要用synchronized关键字: synchronized是java的一种内部锁,是一种排他锁,通常也被称为悲观锁,它能够保障原子性,可见性,有序性。 当多个线程去调用同一个方法的时候,如果不用加synchronized锁,就可能出现线程不安全的问题。举个经典的例子,比如两夫妻一个用银行卡 阅读全文