Java
-
设计模式之访问者模式
访问者模式(Visitor),将对相对固定的数据结构的操作封装,实现对数据结构的操作与数据结构本身分离,方便扩展对数据结构的新操作。
-
设计模式之抽象工厂模式
抽象工厂模式意图是提供一种方法来封装一组具有公共主题的单独工厂,而无需指定他们的具体类
-
Java 集合列表 Vector和Stack
什么是 Vector 和 Stack,各有什么特点? Vector 是线程安全的动态数组,同 ArrayList 一样继承自 AbstractList 且实现了 List、Rand…
-
StopWatch使用介绍
StopWatch是Spring核心包中的一个工具类,它是一个简单的秒表工具,可以计时指定代码段的运行时间以及汇总这个运行时间,使用它可以隐藏使用 System.currentTi…
-
设计模式之抽象文档模式
抽象文档模式的意图是保持类型安全的情况下实现无类型语言的灵活性, 通过抽象的方式更加灵活的配置类的属性,更加安全对属性进行配置
-
决定Java未来的三大主要项目!
Java 12 发布了,没有引起很大的讨论。对于 Java 这样一门成熟的语言来说,每一次更新似乎都无法满足庞大的 Java 开发群体与生态圈。再加上 Oracle 对 Java 耐人寻味的态度,Java 的未来会如何?
-
bean的加载 一
经过前面的分析我们结束了对XML配置文件的解析,接下来就是对bean加载的探索,bean加载的功能实现远比bean的解析要复杂得多。 下面的示例演示了bean加载的功能: 这里调用…
-
自定义标签解析
之前我们提到过Spring中存在默认标签与自定义标签两种,上一篇中我们分析了Spring中对默认标签的解析过程,下面我们开始分析Spring中自定义标签的加载过程。前面代码当完成从…
-
默认标签解析 二
1.2、AbstractBeanDefinition属性 至此我们完成了对XML文档到GenericBeanDefinition的转换,也就是说到这里,XML中所有的配置都可以在G…
-
Stream的性能测试
已经对Stream API的用法鼓吹够多了,用起简洁直观,但性能到底怎么样呢?会不会有很高的性能损失?本节我们对Stream API的性能一探究竟。 为保证测试结果真实可信,我们将…
-
Stream Pipelines
前面我们已经学会如何使用StreamAPI,用起来真的很爽,但简洁的方法下面似乎隐藏着无尽的秘密,如此强大的API是如何实现的呢?比如Pipeline是怎么执行的,每次方法调用都会…
-
Lambda和Collections
我们先从最熟悉的Java集合框架(Java Collections Framework, JCF)开始说起。 为引入Lambda表达式,Java8新增了java.util.func…
-
Lambda表达式和匿名内部类 二
前言 读过上一篇之后,相信对Lambda表达式的语法以及基本原理有了一定了解。对于编写代码,有这些知识已经够用。本文将进一步区分Lambda表达式和匿名内部类在JVM层面的区别,如…
-
Lambda表达式和匿名内部类 一
前言 Java Lambda表达式的一个重要用法是简化某些匿名内部类(Anonymous Classes)的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是…
-
Java Stream API 2
上一节介绍了部分Stream常见接口方法,理解起来并不困难,但Stream的用法不止于此,本节我们将仍然以Stream为例,介绍流的规约操作。 规约操作(reduction ope…
