Spring AOP编程经验总结
摘要:编程范式概览:面向过程,面向对象,函数式编程,事件驱动编程,面向切面等, AOP是什么? Spring AOP是采用面向切面编程的编程范式,而非编程语言,它只能解决特定问题,而非所有问题,它与OOP不是替代关系,而是补充。 AOP的初衷: DRY Don't Repeat Yourself SoC
阅读全文
编程模型&编程思想
摘要:编程模型 1、面向对象编程OOP 2、面向切面编程AOP Java静态接口,Java动态代理,字节码提升。 面向切面的两个方面: 拦截判断:方法,注解,参数,异常 拦截执行:前置,后置,返回,异常 3、面向元数据编程: 泛型、反射、注解 4、面向函数编程FOP 函数式接口,默认方法,方法引用 编程思
阅读全文
多线程的内存可见性
摘要:两条规定: 1、线程对共享变量所有的操作都必须在自己的工作内存中进行,不能直接从主内存中读取。 2、不同线程之间无法直接访问其他线程工作内存中的变量,线程间变量值的传递需要通过主内存来进行。 voltaile实现内存的可见性 深入来说是通过加入内存屏障和禁止重排序优化来实现的 1、对volatile
阅读全文
常用的设计模式
摘要:模板方法模式 实现要素: 准备一个抽象类,将部分逻辑以具体方法的形式实现,然后声明一些抽象方法交由子类实现剩余的逻辑,用钩子方法去给与子类更大灵活性,最后将方法汇总成一个不可改变的模板方法。 适配器模式 适配器模式将一个类的接口转换为客户期望的另外一个接口,使的原本由于接口不兼容而不能在一起工作的那
阅读全文
java中IO相关类的继承关系
摘要:InputStream:所有输入字节流的父类,所有字节流都以stream结尾 -> FileInputStream: 完成将文件中的内容读到内存中,应用程序用来读取文件中的内容 -> ByteArrayInputStream:完成将数据从一块内存区域拷贝到另外一块内存区域 -> ObjectInpu
阅读全文
观察者模式详解
摘要:官方定义:定义对象之间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。 认识观察者模式: 1、目标与观察者之间的关系:目标与观察者之间是一对多的关系。 2、单向依赖:只有目标知道什么时候通知观察者。 3、命名模式:又称为发布-订阅模式,目标接口定义后面跟sub
阅读全文
项目构建工具之gradle
摘要:groovy的高级特性: 可选的类型定义 def、assert、括号是可选的、字符串 、集合API、闭包; 构建脚本 项目project : group name version apply dependencies repositories task 属性的其他配置方式:ext ,gradle.p
阅读全文
Socket的神秘面纱
摘要:Tcp/IP协议是目前世界上使用最为广泛的协议,是以Tcp/IP为基础多个层次上的协议的集合。也称Tcp/IP协议族或Tcp/IP协议栈。 TCP: Transmission Control Protocol IP::Internet Protocol Tcp/IP的五层模型:物理层(网卡),数据链
阅读全文