摘要:
物理抽象、概念抽象、视图级抽象,内模式、模式、外模式 实体完整性、域完整性、参照完整性、用户定义完整性 l 超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以作为超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。 l 候选键:不含有任何多余属性的超键称为候选键。 l 阅读全文
摘要:
Redis是一个高性能基于key/value存储数据的分布式缓存数据库,基于内存运行并且支持持久化的NoSQL数据库。 根据CAP理论(强一致性、可用性和分区容错性),一个分布式系统不可能同时很好的满足这三个要求,最多只能较好的满足其中两个要求。那么分布式系统中分区容错性是必不可少的,而且结合当下用 阅读全文
摘要:
Java集合主要包含四部分:list、set、Map、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections) a) Collection是一个接口 ,里边定义了关于集合的基本操作和属性。 b) Collection中包含了List和Set两个接口,这两个 阅读全文
摘要:
当多个线程访问共享数据的时候,多个线程之间是彼此不可见的,此时就会出现线程安全问题,但是我们知道使用synchronized关键字进行加锁实现同步是可以解决问题的,但是这种方法的效率比较低。 volatile的作用就是多个线程访问共享数据的时候,在内存中的共享数据对多个线程彼此是可见的。相较于syn 阅读全文
摘要:
1、 JVM的内存模型 a) Java虚拟机的内存空间分为五个部分:程序计数器、Java虚拟机栈、本地方法栈、堆、方法区 b) 程序计数器:程序计数器中存放的是当前线程正在执行的字节码指令的地址。如果当前线程执行的一个本地方法,那么当前的程序计数器为空。 i. 字节码解释器通过程序计数器来依次读取指 阅读全文
摘要:
1、 程序、进程、线程的区别: a) 程序是指为了完成特定的功能,用某种语言编写的一组指令的集合,指的是静态代码 b) 进程:一个正在执行的程序成为一个进程。 c) 线程:进程可以进一步划分为线程,是一个程序内部的一条执行路径。如果一个进程同一时间允许多个线程同时执行,那么这个进程就是支持多线程的。 阅读全文
摘要:
1、泛型: a) 提到参数第一时间想到的应该是定义方法时设置的形参,并且在调用这个方法的时候为该方法传递的实参。泛型其实就是类型化参数,顾名思义,就是将方法参数由原来的具体类型参数化。这就类似于方法的变量参数,只是在这里把类型也当成参数可变的,在后边调用这个方法的时候传入具体。 b) 泛型的本质是为 阅读全文
摘要:
Spring bean 的生命周期流程图: 在设置属性值的时候会涉及到属性依赖问题: 在这一步中,对于普通类型的属性,例如 String,Integer等,比较容易处理,直接设置即可。但是如果某个 bean 对象依赖另一个 bean 对象,此时就不能直接设置了。Spring 容器首先要先去实例化 b 阅读全文
摘要:
1、在详细介绍 IOC 容器的工作原理前,这里先介绍一下实现 IOC 所用到的一些辅助类,包括BeanDefinition、BeanReference、PropertyValues、PropertyValue。按照顺序先从 BeanDefinition 开始介绍。BeanDefinition从字面意 阅读全文
摘要:
切点(Pointcut):如果说通知定义了在何时执行通知,那么切点就定义了在何处执行通知。所以切点的作用就是通过匹配规则查找合适的连接点(Joinpoint),AOP 会在这些连接点上织入通知。 切面(Aspect):切面包含了通知和切点,通知和切点共同定义了切面是什么,在何时,何处执行切面逻辑。 阅读全文