上一页 1 ··· 3 4 5 6 7

2013年11月13日

Java对象的访问定位

摘要: 摘录至:深入理解java虚拟机 建立对象是为了使用对象,我们的Java程序需要通过栈上的reference数据来操作堆上的具体对象。由于reference类型在Java虚 拟机规范里面只规定了是一个指向对象的引用,并没有定义这个引用应该通过什么种方式去定位、访问到堆中的对象的具体位置,对象访问方式也是取决于虚拟机实 现而定的。主流的访问方式有使用句柄和直接指针两种。如果使用句柄访问的话,Java堆中将会划分出一块内存来作为句柄池,reference中存储的就是对象的句柄地址,而句柄中包含了对象实例数据与类型数据的具体各自的地址信息。如图1所示。图1 通过句柄访问对象如果使用直接指针访问的... 阅读全文

posted @ 2013-11-13 15:19 依蓝jslee 阅读(455) 评论(0) 推荐(0) 编辑

C++虚函数原理及函数调用栈模型

摘要: 精简原文:http://blog.csdn.net/haoel/article/details/1948051/ 关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 对C++了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要... 阅读全文

posted @ 2013-11-13 15:02 依蓝jslee 阅读(380) 评论(0) 推荐(0) 编辑

Mongodb数据库

摘要: 1.概述 NoSql,全称是 Not Only Sql,指的是非关系型的数据库。下一代数据库主要解决几个要点:非关系型的、分布式的、开源的、水平可扩展的。原始的目的是为了大规模web应用,这场运动开始于2009年初,通常特性应用如:模式自由、支持简易复制、简单的API、最终的一致性(非ACID)、大容量数据等。NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,... 阅读全文

posted @ 2013-11-13 14:34 依蓝jslee 阅读(209) 评论(0) 推荐(0) 编辑

oracle分区原理

摘要: 1.分区概述 1)可用性提高 当一个分区不可用(磁盘出故障等),优化器知道有这个分区机制,会相应的从查询计划中去除这个分区。提高整个表的可用性。 2)减少管理负担 假如需要重建一个100GB的表: *需要在某处存放100GB的空闲存储空间来存储它的副本。 *需要一个临时事务日志表来记录重建索引期间对基表的修改。 *假如在过程中出现故障,一切都付之东流。 但是当分区后就会减小这些负担。 3)改善语句性能 在数据仓库系统中,会执行并行DML,如果分区后,执行一个DELETE时,它会开启多个线程或进程来并行执行。这样效率更高。 在OLTP系统中,效果不明显,因为很少用并行DML... 阅读全文

posted @ 2013-11-13 11:10 依蓝jslee 阅读(548) 评论(0) 推荐(0) 编辑

B-树和B+树和B*树和R树

摘要: 在大规模数据存储中,实现索引查询这样一个实际背景下,树节点存储的元素数量是有限的(如果元素数量非常多的话,查找就退化成节点内部的线性查找了),这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下,那么如何减少树的深度(当然是不能减少查询的数据量),一个基本的想法就是:采用多叉树结构(由于树节点元素数量是有限的,自然该节点的子树数量也就是有限的)。 为了更有效的减少树的深度,新的查找树结构——多路查找树。根据平衡二叉树的启发,自然就想到平衡多路查找树结构。即B树结构。 磁盘读取数据是以盘块(block)为基本单位的。位于同一盘块中的所有数据都能被一次性... 阅读全文

posted @ 2013-11-13 10:12 依蓝jslee 阅读(822) 评论(0) 推荐(0) 编辑

2013年11月12日

数据库索引

摘要: 1.顺序索引 顺序索引的作用主要用于能迅速地按顺序或随机地访问文件中的记录顺序索引的结构是按顺序存储搜索码的值并将搜索码与包含该搜索码的记录关联起来。 如果被索引的字段本身按照一定的顺序排序,那么这种索引叫做聚集索引。否则叫做非聚集索引。 如果被索引的字段的每个值都有一个索引与其对应,那么这种索引叫做稠密索引,否则叫做稀疏索引。 顺序索引分为两类,单级索引(很少使用)和多级索引(通常是B+树,大量使用)。 单级索引就是把所有的索引字段以及对应的文件位置按顺序一个个的排列出来,这种索引查找起来比较慢,因为是顺序存储的,可以使用二分查找法,但是总体来说效率不高,这种索引是最基础的索引,一... 阅读全文

posted @ 2013-11-12 20:22 依蓝jslee 阅读(229) 评论(0) 推荐(0) 编辑

数据库三范式

摘要: 1.第一范式(确保每列保持原子性) 第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。 第一范式规定关系的每一个分量必须是一个不可分的数据项。 eg:非第一范式的例子如表5-5,可以转换为第一范式如表5-6。表5-5导师专业研究生张三 李四表5-6导师专业研究生1研究生2 张三李四2.第二范式 第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。 也就是说列... 阅读全文

posted @ 2013-11-12 20:07 依蓝jslee 阅读(171) 评论(0) 推荐(0) 编辑

最短路径

摘要: 1.Dijskra最短路径算法 1)所需数据结构 节点结构:邻居列表adjacency list、是否已访问过known、起点到此节点的长度distance、路径上一个节点。 优先队列:保存节点长度,以此选出最小的节点长度的节点来进行访问。 2)松弛技术RELAX的介绍 Dijkstra 算法使用了松弛技术,对每个顶点v d[u] + w(u, v) 2 then d[v] ← d[u] + w(u, v) 3 π[v] ← u//O(E)2.A*算法 1)需要数据结构 创建两个表,OPEN表保存所有已生成而未考察的节点,CLOSED表中记录已访问过的节点。 节点的 g(n... 阅读全文

posted @ 2013-11-12 19:37 依蓝jslee 阅读(455) 评论(0) 推荐(0) 编辑

TCP相关

摘要: 1.包首部 1)源端和目的端的端口号客户IP地址、客户端口号、服务器IP地址和服务器端口号的四元组)可唯一确定互联网络中每个TCP连接的双方。 2)序号用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则TCP用序号对每个字节进行计数。序号是32bit的无符号数,序号到达232-1后又从0开始。 当建立一个新的连接时(或断开连接),序号字段包含由这个主机选择的该连接的初始序号ISN(InitialSequenceNumber)。ISN随时间而变化,因此每个连接都将有不同的ISN。这样做,一方面是为了防止连... 阅读全文

posted @ 2013-11-12 18:32 依蓝jslee 阅读(210) 评论(0) 推荐(0) 编辑

IO阻塞与非阻塞

摘要: 同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事异步:异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。 例如 ajax请求(异步):请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕阻塞阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu 阅读全文

posted @ 2013-11-12 16:48 依蓝jslee 阅读(446) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7

导航