- 博客(6)
- 资源 (5)
- 收藏
- 关注
原创 JVM——体系结构、生命周期简述
1. JVM 体系结构 如图所示,JVM包括类装载器子系统、运行时数据区、执行引擎。类装载器子系统根据给定的权限的名来装入类型(类或者接口)。执行引擎负责执行那些包含在被装载类的方法中的指令。运行时数据区包含方法区、堆、Java栈、PC寄存器、本地方法栈。 类装载器子系统:在JVM中负责查找并装载类型的那部分被称为类装载器子系统。JVM中有两种类装载器:启动类装载器和用户自定义
2016-08-24 20:38:10 1589
转载 红黑树
文章转自:http://www.cnblogs.com/fornever/archive/2011/12/02/2270692.html 红黑树(RBT)的定义:它或者是一颗空树,或者是具有一下性质的二叉查找树: 1.节点非红即黑。 2.根节点是黑色。 3.所有NULL结点称为叶子节点,且认为颜色为黑。 4.所有红节点的子节点都为黑色。 5.从任一节点到其叶子节
2016-08-23 19:55:54 325
原创 结合Java反射用简单工厂模式改进抽象工厂模式
前一篇简单介绍了抽象工厂模式,结合Java的反射机制,可以用简单工厂模式来改进抽象工厂模式,减少类的数量,增加可维护性。UML图如下: 去除IFactory、SqlserverFactory和AccessFactory三个工厂类,取而代之的是DataAccess类,用一个简单工厂模式来实现。 代码示例: 1. 两个表User和Department的实体类
2016-08-20 12:01:50 2722 4
原创 抽象工厂模式
试想一个应用,在开发时使用的是MySQL数据库,由于各种原因现在需要将底层的数据库更改为Oracle。由于数据库使用的命名空间不同,用到的方法不同,所以很难直接进行替换,往往需要大量的时间进行代码的修改。因此,考虑将DAO层的设计尽可能的降低耦合,一个数据库有多个表,对每个表的操作分别进行封装,抽象出一个对该表进行操作的接口,然后不同的数据库类型(myslq、oracle...),分别进行实现。结
2016-08-20 10:43:24 517
转载 B-Tree 、B+树、B*树
大规模数据存储中,实现索引查询这样一个实际背景下,树节点存储的元素数量是有限的(如果元素数量非常多的话,查找就退化成节点内部的线性查找了),这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下。 1. B-Tree B 树是为了磁盘或其它存储设备而设计的一种多叉平衡查找树。许多数据库系统都一般使用B树或者B树的各种变形结构,如下文即将要介绍的B+树
2016-08-17 20:55:50 12496 1
原创 观察者模式
观察者模式又称为“发布-订阅模式”。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象。这个主题对象在发生状态变化时,负责通知所有观察者对象,使观察者对象能自动更新自己。 Subject类一般用一个抽象类或者接口实现。它把所有对观察者对象的引用保存在一个聚集里边,每个主题都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者对象,并notify所
2016-08-16 19:56:20 504
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人