海量存储系列之八、九、十

首先来回答一个问题:为什么在磁盘中要使用b+树来进行文件存储呢? 原因还是因为树的高度低得缘故,磁盘本身是一个顺序读写快,随机读写慢的系统,那么如果想高效的从磁盘中找到数据,势必需要满足一个最重要的条件:减少寻道次数。

daicy daicy 发布于 2019-04-17

Spring 事务管理高级应用难点剖析

简介: Spring 的事务管理是被使用得最多的功能之一,虽然 Spring 事务管理已经帮助程序员将要做的事情减到了最小。但在实际开发中,如果使用不当,依然会造成数据连接泄漏等问题。本系列以实际应用中所碰到的各种复杂的场景为着眼点,对这些应用的难点进行深度的剖析。

daicy daicy 发布于 2019-04-17

java程序员必知的 8大排序

下载了文档自己截图存留 8种排序之间的关系: 1, 直接插入排序    (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的。如此反复循环,直到全部排好顺序。  (2)实例 (3)用java实现

daicy daicy 发布于 2019-04-17

Yacc 与 Lex 快速入门

简介: Lex 和 Yacc 是 UNIX 两个非常重要的、功能强大的工具。事实上,如果你熟练掌握 Lex 和 Yacc 的话,它们的强大功能使创建 FORTRAN 和 C 的编译器如同儿戏。Ashish Bansal 为您详细的讨论了

daicy daicy 发布于 2019-04-17

设计模式——策略、代理模式

属于对象行为模型,用意是针对一组算法,将每个算法封装到具有共同接口的独立的类中,从而使他们互相替换;将算法的责任和算法本身分隔开,委派给不同的对象管理,把算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说就是:准备一组算法,并将每一个算法封装起来,使他们可以互换。类图如下: 这个模式设计到三个角色: 环境(context):持有一个strategy类的引用

daicy daicy 发布于 2019-04-17

JDK源码分析——研究 Hash 存储机制

简介: HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。

daicy daicy 发布于 2019-04-17

Java程序员应该知道的10个面向对象理论

面向对象理论是面向对象编程的核心,但是我发现大部分Java程序员热衷于像单例模式、装饰者模式或观察者模式这样的设计模式,而并没有十分注意学习面向对象的分析和设计。学习面向编程的基础(如抽象,封装,多态,继承等)是非常重要的,而运用它们来设计干净的模块也同样重要。我也认识很

daicy daicy 发布于 2019-04-17

Spring 框架的设计理念与设计模式分析

简介: Spring 作为现在最优秀的框架之一,已被广泛的使用,并且有很多对其分析的文章。本文将从另外一个视角试图剖析出 Spring 框架的作者设计 Spring 框架的骨骼架构的设计理念,有那几个核心组件?为什么需要这些组件?它们又是如何结合在一起构成 Spring 的骨骼架构? Spring 的 AOP 特性又是如何利用这些基础的骨骼

daicy daicy 发布于 2019-04-17

装饰器(Decorator)模式

  Decorator设计模式是典型的结构型模式(在GOF的那本模式的Bible中将模式分为:1.创建型模式;2.结构型模式;3.行为模式三种)。它的主要用意是:动态地为对象添加一些额外的功能。(记住上面两种颜色的词汇,理解装饰器模式的精髓所在!)下面是GOF的《Element of reusable Object-Oriented Software》中对D

daicy daicy 发布于 2019-04-17

开发 Spring 自定义视图和视图解析器

简介: Spring 3.0 默认包含了多种视图和视图解析器,比如 JSP、Velocity 视图等,但在某些情况下,我们需要开发自定义的视图及其解析器,以便显示特殊文件格式的视图,我们也可以使用自定义视图及解析器,针对特定的视图做相应的处理。本文将通过一个示例来介绍如何开发 Spring 自定义视图和视图解

daicy daicy 发布于 2019-04-17