2013年11月13日

分布式理解

摘要: 1.分类 狭义的分布是指,指多台PC在地理位置上分布在不同的地方。 分布式操作系统:负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。 分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。 分布式计算:利用分布式系统解决来计算问题。在分布式计算里,一个问题被细化成多个任务,每个任务可以被一个或者多个计算机来完成。 分布式程序设计语言:用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。... 阅读全文

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

Spring IOC与AOP

摘要: 1.IOC原理 IOC(Inversion of Control)控制反转。 伴随着工业级应用的规模越来越庞大,对象之间的依赖关系也越来越复杂,经常会出现对象之间的多重依赖性关系,因此,架构师和设计师对于系统的分析和设计,将面临更大的挑战。对象之间耦合度过高的系统,必然会出现牵一发而动全身的情形。 IOC即借助于“第三方”(IOC容器)实现具有依赖关系的对象之间的解耦。 IOC模式,系统中通过引入实现了IOC模式的IOC容器,即可由IOC容器来管理对象的生命周期、依赖关系等,从而使得应用程序的配置和依赖性规范与实际的应用程序代码分开。其中一个特点就是通过文本的配置文件进行应用程序组件间... 阅读全文

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

java内存模型

摘要: 1.总体概述(多线程) jvm系统中存在一个主内存(Main Memory或Java Heap Memory),Java中所有变量都储存在主存中(不包括局部变量和方法参数,因为它们是完全私有的),对于所有线程都是共享的。 每条线程都有自己的工作内存(Working Memory),工作内存中保存的是主存中某些变量的拷贝,线程对所有变量的操作都是在工作内存中进行,线程之间无法相互直接访问,变量传递均需要通过主存完成。 volatile变量依然有工作内存的拷贝,但是由于它特殊的操作顺序规定,每次使用之前都要先刷新,它还能禁止指令重排序优化,所以它看起来如同直接在主内存中读写访问一般。顺便... 阅读全文

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

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) 编辑

导航