周末的学习笔记
学习主题:
Java的反射机制,数据库的事务与函数
学习内容:
java反射机制是一个能够在运行时让对应的数据类型实例获取自身定义的手段。它的调用方法就是用实例对象的getclass()方法,或者对应的静态字段class或者Class类的forName()方法。不仅是自身的类,反射可以获得已知名称的class的修饰符,字段和方法并可于运行时改变字段内容和调用方法调用方法。当然,它的好处是代码可以在运行时发生关联,能够降低硬编码的耦合度;与此相对的,反射的代码执行效率较低,用于字段和方法接入时要远慢于直接代码,因此反射广泛应用于系统框架。
SQL数据库中都有事务的概念,对于事务,它是一组sql操作的基本集合,具有原子性,一致性,持久性和隔离性的特点,通过事务可以将一组基本业务封装成一个模块,并且还可以进行rollback回滚,只要不commit提交就行,这种实现原理是数据库给每一个事务开辟了一个私有空间,在没有commit之前,一切改动是提交到缓冲区中的,只有commit后才送到磁盘上永久改动;此外更重要的是事务是基本的并发单元,而控制并发的方法有锁控制,时间戳控制,基于有效性检查的并发控制,前两种的核心思想就是将并发改为串行顺序执行,后一种则是先将所有操作先放入缓冲区,再检查是否有并发冲突,如果有就回滚冲突事务,也会称之为悲观和乐观的并发策略。而函数与高级程序设计语言的函数的概念一致,可以定义一个处理方法,能够数据库处理的函数就不需要后端去处理,以分清职责。