自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

HotSpot VM 内存堆的两个Servivor区

   今天看了一下 HotSpot JVM (下简称JVM)的内存管理,先来简单说说我的理解吧。     JVM将堆分成了 二个大区  Young 和 Old 如下图:           而Young 区又分为 Eden、Servivor1、Servivor2, 两个Survivor 区相对地作为为From 和 To 逻辑区域, 当Servivor1作为 From ...

2011-01-24 18:09:33 140

原创 (转)最接近点对算法

    这个问题很容易理解,似乎也不难解决。我们只要将每一点与其他n-1个点的距离算出,找出达到最小距离的两个点即可。然而,这样做效率太低,需要O(n2)的计算时间。在问题的计算复杂性中我们可以看到,该问题的计算时间下界为Ω(nlogn)。这个下界引导我们去找问题的一个θ(nlogn)算法。    这个问题显然满足分治法的第一个和第二个适用条件,我们...

2010-12-16 17:43:08 425

原创 (转)Andriod是什么

导读:Sans Serif是Google的一位工程师,近日发布了一篇博文非常清楚的描述了Android系统架构,中国移动通信研究院院长黄晓庆在新浪微博上推荐了该文,并认为文中对Android的介绍很好,如下是CSDN对文章的简单编译:Andriod是什么?首先,就像Android开源和兼容性技术负责人Dan Morrill在Android开发手册兼容性部分所解释的,“Android并不...

2010-12-02 11:24:31 130

原创 (转)SQLite入门与分析(六)---再谈SQLite的锁

写在前面:SQLite封锁机制的实现需要底层文件系统的支持,不管是Linux,还是Windows,都提供了文件锁的机制,而这为SQLite提供了强大的支持。本节就来谈谈SQLite使用到的文件锁——主要基于Linux和Windows平台。 Linux的文件锁Linux 支持的文件锁技术主要包括建议锁(advisory lock)和强制锁(...

2010-11-19 00:09:51 107

原创 (转)SQLite入门与分析(五)---Page Cache之并发控制

写在前面:本节主要谈谈SQLite的锁机制,SQLite是基于锁来实现并发控制的,所以本节的内容实际上是属于事务处理的,但是SQLite的锁机制实现非常的简单而巧妙,所以在这里单独讨论一下。如果真正理解了它,对整个事务的实现也就理解了。而要真正理解SQLite的锁机制,最好方法就是阅读SQLite的源码,所以在阅读本文时,最好能结合源码。SQLite的锁机制很巧妙,尽管在本节中的源码中...

2010-11-19 00:05:04 92

原创 (转)SQLite入门与分析(四)---Page Cache之事务处理(3)

Code写在前面:由于内容较多,所以断续没有写完的内容。11、删除日志文件(Deleting The Rollback Journal)一旦更改写入设备,日志文件将会被删除,这是事务真正提交的时刻。如果在这之前系统发生崩溃,就会进行恢复处理,使得数据库和没发生改变一样;如果在这之后系统发生崩溃,表明所有的更改都已经写入磁盘。SQLite就是根据日志存在情...

2010-11-19 00:01:51 84

原创 (转)SQLite入门与分析(四)---Page Cache之事务处理(2)

写在前面:个人认为pager层是SQLite实现最为核心的模块,它具有四大功能:I/O,页面缓存,并发控制和日志恢复。而这些功能不仅是上层Btree的基础,而且对系统的性能和健壮性有关至关重要的影响。其中并发控制和日志恢复是事务处理实现的基础。SQLite并发控制的机制非常简单——封锁机制;别外,它的查询优化机制也非常简单——基于索引。这一切使得整个SQLite的实现变得简单,SQ...

2010-11-18 23:57:39 62

原创 (转)SQLite入门与分析(四)---Page Cache之事务处理(1)

写在前面:从本章开始,将对SQLite的每个模块进行讨论。讨论的顺序按照我阅读SQLite的顺序来进行,由于项目的需要,以及时间关系,不能给出一个完整的计划,但是我会先讨论我认为比较重要的内容。本节讨论SQLite的事务处理技术,事务处理是DBMS中最关键的技术,对SQLite也一样,它涉及到并发控制,以及故障恢复,由于内容较多,分为两节。好了,下面进入正题。 本节通过一个具体...

2010-11-18 23:53:14 118

原创 (转)SQLite入门与分析(三)---内核概述(2)

写在前面:本节是前一节内容的后续部分,这两节都是从全局的角度SQLite内核各个模块的设计和功能。只有从全局上把握SQLite,才会更容易的理解SQLite的实现。SQLite采用了层次化,模块化的设计,而这些使得它的可扩展性和可移植性非常强。而且SQLite的架构与通用DBMS的结构差别不是很大,所以它对于理解通用DBMS具有重要意义。好了,下面我们开始讨论SQLite剩余的两部...

2010-11-18 23:48:34 113

原创 (转)SQLite入门与分析(三)---内核概述(1)

写在前面:从本章开始,我们开始进入SQLite的内核。为了能更好的理解SQLite,我先从总的结构上讨论一下内核,从全局把握SQLite很重要。SQLite的内核实现不是很难,但是也不是很简单。总的来说分为三个部分,本章主要讨论虚拟机(Virtual Machine),但是这里只是从原理上概述,不会太多的涉及实际代码。但是概述完内核之后会仔细讨论源代码的。好了,下面我们来讨论虚拟机(V...

2010-11-18 23:41:43 109

原创 (转)SQLite入门与分析(二)---设计与概念(续)

写在前面:本节讨论事务,事务是DBMS最核心的技术之一.在计算机科学史上,有三位科学家因在数据库领域的成就而获ACM图灵奖,而其中之一 Jim Gray(曾任职微软)就是因为在事务处理方面的成就而获得这一殊荣,正是因为他,才使得OLTP系统在随后直到今天大行其道.关于事务处理技术,涉及到很多,随便就能写一本书.在这里我只讨论SQLite事务实现的一些原理,SQLite的事务实现与大...

2010-11-18 23:38:14 87

原创 (转)SQLite入门与分析(二)---设计与概念

写在前面:谢谢各位的关注,没想到会有这么多人关注。高兴的同时,也感到压力,因为我接触SQLite也就几天,也没在实际开发中用过,只是最近项目的需求才来研究它,所以我很担心自己的文章是否会有错误,误导别人。但是我很想把自己的学习成果与大家分享,所以如果大家觉得我有不对的地方,望不吝赐教。   我原打算直接从VDBE入手的,因为它起着承上启下的作用,是整个SQLite的核心,并分析源码...

2010-11-18 23:35:09 96

原创 (转)SQLite入门与分析(一)

写在前面:出于项目的需要,最近打算对SQLite的内核进行一个完整的剖析,在此希望和对SQLite有兴趣的一起交流。我知道,这是一个漫长的过程,就像曾经去读Linux内核一样,这个过程也将是辛苦的,但我相信结果一定是美好的... ...接下来是第一章。   1、SQLite介绍  自几十年前出现的商业应用程序以来,数据库就成为软件应用程序的主要组成部分。正与数据...

2010-11-18 23:31:33 114

原创 (转)深入研究B树索引(五)续

5.3重建B树索引对于查询性能的影响      最后我们来看一下重建索引对于性能的提高到底会有什么作用。假设我们有一个表,该表具有1百万条记录,占用了100000个数据块。而在该表上存在一个索引,在重建之前的pct_used为50%,高度为3,分支节点块数为40个,再加一个根节点块,叶子节点数为1000...

2010-11-18 15:10:49 74

原创 (转)深入研究B树索引(五)

5.    重建B树索引5.1如何重建B树索引重建索引有两种方法:一种是最简单的,删除原索引,然后重建;第二种是使用ALTER INDEX … REBUILD命令对索引进行重建。第二种方式是从oracle 7.3.3版本开始引入的,从而使得用户在重建索引时不必删除...

2010-11-18 15:07:49 88

原创 (转)深入研究B树索引(四)续

4.2  B 树索引的对于删除(DELETE)的管理       上面介绍了有关插入键值时索引的管理机制,那么对于删除键值时会怎么样呢?在介绍删除索引键值的机制之前,先介绍与索引相关的一个比较重要的视图:index_stats。该视图显示了大量索引内部的信息,该视图正常情况下没有数据,只有在...

2010-11-18 14:58:22 67

原创 (转)深入研究B树索引(三、四)

3.    B树索引的访问我们已经知道了B树索引的体系结构,那么当oracle需要访问索引里的某个索引条目时,oracle是如何找到该索引条目所在的数据块的呢?      当oracle进程需要访问数据文件里的数据块时,oracle会有两种...

2010-11-18 14:44:43 70

原创 (转)深入研究B树索引(二)

2.    B树索引的内部结构我们可以使用如下方式将B树索引转储成树状结构的形式而呈现出来:alter session set events 'immediate trace name treedump level INDEX_OBJECT_ID'       比如,对于上面的例子来说,我们把创建在go...

2010-11-18 14:20:29 88

原创 (转)深入研究B树索引(一)

摘要:本文对B树索引的结构、内部管理等方面做了一个全面的介绍。同时深入探讨了一些与B树索引有关的广为流传的说法,比如删除记录对索引的影响,定期重建索引能解决许多性能问题等。1.B树索引的相关概念索引与表一样,也属于段(segment)的一种。里面存放了用户的数据,跟表一样需要占用磁盘空间。只不过,在索引...

2010-11-18 14:12:53 75

原创 (转)B树、B-树、B+树、B*树都是什么

B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       ...

2010-11-17 23:46:31 93

四则运算求值(中缀转逆波兰式)

参照leno_a大牛的代码自己练习了一遍中缀转后缀的算法,写个类自用package javatestcode;import java.math.BigDecimal;import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;import java.util.List;...

2010-08-26 19:27:42 141

原创 画UML图时注意的几个原则(转)

软件开发中,分析和设计时,文档的编写和思想的交流,经常要绘制各种各样的图。相对于人类的自然语言,描绘复杂结构,图具有直观和整体的特征,有着不可替代的表现力。软件开发是创造性的劳动,开发人员几乎在每一分钟都要做出某些选择,每一个选择都好像决定着最后的结果。绘图的时候也是如此,脑中有完整或不完整的想法,要清晰的表现出来时相当不容易。事实上,我发现许多老手不会画图。在实践的过程中,我总结了一些经...

2010-08-03 12:34:54 439

原创 你是个软件架构师吗?(转)

开发和架构的界限难以捉摸。有些人告诉你它根本不存在,架构只是开发者们所做的设计过程的简单扩展。 另外一些人认为这是一个鸿沟,它只能由那些做到高度抽象,而且不会陷入实现细节的开发者才能跨越。通常,在这两个极端的观点中间某处有个可操作的平衡点;不论如何,怎么从开发转换为架构师都是个有趣的问题。经常被用来区分软件架构和软件设计开发的关键几点包括 伸缩性和抽象程度的增加以及作出正确设计决策...

2010-07-14 11:11:02 93

jscalendar- 1.0中文解决方法

因为项目需要下了个jscalendar的小插件,然后竟然发现不支持中文,上网找解决方法,发现有大牛连这个问题都研究了,佩服佩服~ 顺便自己也记录一下这个问题以备后用 环境:jscalendar- 1.0 问题表现:使用中文会日期中显示undefine的字样 问题原因:jscalendar-1.0不支持中文是由于没有设置每周的开始日期解决方法:...

2010-04-12 16:36:27 81

(转)同曲异奏——高效能项目团队的五大特点

同曲异奏——高效能项目团队的五大特点 田俊国在管理类的书籍中,不管花多大的篇幅讨论团队建设都不为过。项目团队管理是要把来自不同单位和从事不同工作的人员组织起来,为实现项目目标而共同奋斗。营造高效能的项目团队是项目经理和项目团队成员共同的职责。 就如项目本身的独特性一样,没有哪两个项目团队会一模一样。但是,项目团队能...

2010-03-29 00:24:04 84

myeclipse生成不了class导致 NoClassDefFoundError的问题

又是一个无头无脑的问题 ,不查查classes文件夹就不知道可恶的编译器没生成class ,无语啊-_- 环境:myeclipse6.5 + tomcat6 问题表现: 明明有对应的包和类,却产生java.lang.NoClassDefFoundError 问题分析:因为项目是导入到myeclipse的,所以包重新导入,包的位置改变了,而项目中classpath...

2010-03-08 20:09:02 179

XFire + spring 多项目同时启动产生的tomcat卡死的问题

这几天做个项目有个问题困扰着,上网找答案一直没解决,最后还是自己调试解决了,痛苦啊 环境: Spring+Struts+Hibernate+XFire 问题表现: 多个项目同时在同个tomcat服务器同时启动,tomcat在启动某个项目时卡死Initializing WebApplicationContext for Struts ActionServlet 'acti...

2010-03-08 19:29:51 163

jQueryAPI CHM文档

jQuery 1.4.1 速查表 CHM格式 里面有使用的例子,便于jQuery速查函数,初学者学习使用

2010-07-15

普元公司的面向构件《项目开发规范》参考模板

普元公司的面向构件《项目开发规范》参考模板 , 对面向构件的项目管理十分有帮助

2009-06-14

EOS5.1程序员培训教程

学习普元的EOS的官方学习资料,是EOS5.1为例子的,与EOS6有点区别

2009-06-14

ACM 动态规划学习资料

在网上搜到的DP专题资料十分有用,希望对新手有帮助

2009-06-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除