- 博客(10)
- 资源 (5)
- 收藏
- 关注
原创 数据源与连接池
背景十一之后需要apply VPD到我们的项目中,在每一次数据库查询前,进行一次存储过程调用修改上下文。这样,VPD利用上下文中的变量值对查询结果遍历。因此需要对所有用到的JPA实现做一下整理,包括数据源。我们知道JDBC查询的时候都是需要四个步骤:1. 加载数据库驱动2. 获取数据库连接3. 查询4. 释放连接,遍历查询结果。我们要做的就是在第3步查询前,先call 一次存储过程。这个就显得修改...
2018-06-27 21:31:06 5200 2
原创 Java IO与装饰者模式整理
Java的I/O是实现输入和输出的基础。Java中把不同的输入/输出源(键盘,文件,网络连接等)抽象表述为“流”(stream)。这样就可以做到设备、平台无关的。分类Java中I/O类分两两类:字节流和字符流。每种又分输入流和输出流。字符流类图...
2018-06-25 11:52:20 923
原创 Java8之函数接口
函数接口Java8新特性提供了函数式接口,用于更好的支持函数式编程。定义所谓函数式接口就是只有一个抽象方法的接口。Java8中可以通过注解(@FunctionalInterface)来限定它(即便不加注解,只有一个抽象方法默认也是函数式接口)。比如:public interface MyInterface { void myFunction();}加上注解@FunctionalInter...
2018-06-24 17:45:47 1649
原创 物化视图
年前项目中跟一个Domain的数据查询数据没及时刷新的问题。后来就考虑使用物化视图,然后每天刷新两次来保持同步。这里整理下。视图视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定。比如下边代码就是创建一个视图,然后每次查询都直接基于视图,查询语句也会简单化。CREATE VIEW view_name ASSELECT column_name(s)FROM table_nameWHER...
2018-06-17 18:59:37 728
原创 StarUML技巧
最近在share一个模块设计时,同事觉得使用时有些图标没Rational Rose好看易用。这里整理share一下。StarUMLStarUML是一款开放源码的UML开发工具。相比于其他UML工具,有以下几个优点:1.可以免费下载。另外源码开放,可以安装或者自己喜欢的插件。2.可以导出很多种图片格式,3.能够绘制9款UML图:用例图、类图、序列图、状态图、活动图、通信图、构件图、部署图以及复合结构...
2018-06-14 16:13:02 4727
原创 设计模式之代理模式
代理模式代理模式是常用的设计模式之一。《Head First 设计模式》中定义如下:代理模式,即为另一个对象提供一个替身或者占位符以控制对这个对象的访问。说起代理模式,最熟悉的莫过于Java中的RMI了,即远程方法调用(Remote Method Invocation)。它能够让在某个Java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。过程大致如下:1. 客户对象调...
2018-06-13 23:52:55 184
原创 面向对象设计七大原则
最近团队在学习Agile 和 Clean Code。然后对面向对象设计的一些原则进行了一些学习和整理。包括SOLID、合成复用原则与迪米特法则。可维护性Robert C.Martin认为⼀个可维护性较低的软件设计,通常由于如下四个原因造成:• 过于僵硬(Rigidity)• 过于脆弱(Fragility)• 复用率低(Immobility)• 黏度过高(Viscosity) 可复用性Peter C...
2018-06-07 17:28:00 3023 2
原创 Spring MVC启动
Spring MVCJava Web项目一般都是基于Spring MVC 的。而Spring MVC是建立在IoC容器基础上的。我们知道,Spring MVC和Spring IoC 都是独立的模块,因此web下需要将IoC容器启动与Web容器的启动过程集成在一起。下边看下是怎么做到的。Servlet规范这里我们先看下 Servlet 规范,即Java Servlet Specification。也...
2018-06-06 08:53:03 1215
原创 支付宝用到的开源框架
最近翻了下支付宝,在“设置”》“关于”》“版权信息”中,发现支付宝列出了一些使用到的开源框架,一共38个(有个重复不知道为啥)。这里列举一下:名称许可证是否经过修改FFmpegGNU LGPL v2.1否ProtocolBuffersApache v2.0否SPDYApache v2.0否GTM/AliSecXCryptoGTMDefines.hApache v2.0否gumbo-parserAp...
2018-06-05 11:44:28 2076 1
原创 Java 8之Stream入门
StreamJava8新特性增加了一个新的抽象称为流Stream。目的在于弥补Java函数式编程的缺陷。将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。同时它提供串行和并行两种模式进行汇聚...
2018-06-03 17:54:45 561
Interface Segregation Principle
2018-06-06
里氏代换原则原文
2018-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人