- 博客(117)
- 收藏
- 关注
转载 Java中的迭代与递归
原文出处:http://www.hollischuang.com/archives/1298递归提到迭代,不得不提一个数学表达式: n!=n*(n-1)(n-2)…*1有很多方法来计算阶乘。有一定数学基础的人都知道n!=n*(n-1)!因此,代码的实现可以直接写成:代码一int factorial (int n) { if (n == 1) { return 1; }
2016-10-20 10:36:14
651
原创 clojure中的小细节
1.&可变参数(defn add [v1 v2 & others] ;;&后面的是可变参数(+ v1 v2 (if others ;;判断可变参数列表是否是空,如果不是累加列表中的值,否则返回0(reduce + 0 others) ;;使用reduce函数计算others的数字之和。0)))2.defn - (defn -name & decls)作用和defn类似,唯一的不同是创
2016-10-19 17:33:32
1462
原创 clojure的binding和引用类型
binding 包括:全局binding,线程本地(thread local) binding ,函数内的本地binding,表达式内部的binding 全局binding:引用类型 Refs通过使用SoftwareTransactional Memory(STM)来提供对于多块共享数据的同步访问。 Atoms提供对于单个共享数据的同步访问。 Agents提供对于单个共享数据的异步访问。
2016-10-18 11:30:26
549
原创 clojure中的map析构
map析构对下面集中数据结构有效: 1.clojure原生的hash-map、array-map,以及记录类型 2.任何实现了java.util.Map的对象 3.get方法所支持的任何对象。clojure提供 :keys、:strs、:syms来指定map中key的类型。 :keys表示key的类型是关键字; :strs表示key的类型是字符串; :syms表示key的类型是符号。ex
2016-10-10 18:15:08
1544
转载 关于clojure的ns中的require,use,import等
关于require require只负责引入clojure库,不绑定函数到当前的ns中。 Clojure代码 ;;引入java io,并指定缩略名为io (require ‘[clojure.java.io :as io]) ;;使用 (io/file “Filename”) ;;在ns中使用 (ns test (:require [clojure.java.io :as i
2016-10-10 16:40:18
2644
转载 windows下搭建flask环境
转载:http://blog.youkuaiyun.com/jiqimiao/article/details/9393345本帖是本人在安装配置python和flask环境时所用到的资源下载及相关的教程进行了整理罗列,来方便后面的人员,省去搜索的时间。如果你在安装配置是存在问题可留言给我。首先罗列一下python+flask环境所用的一些程序组件的下载地址:1、python
2015-06-04 18:44:00
3084
转载 python一些包的说明文档/教程链接
0.伯乐在线:伯乐在线python资源板块:http://hao.jobbole.com/?catid=144。有介绍了150多种python包,你想要的几乎都可以在里面找到.1.numpy:科学计算来自《用Python做科学计算》http://sebug.net/paper/books/scipydoc/numpy_intro.html(中文版
2015-04-29 17:20:09
3380
原创 用PHP批量插入数据到MySQL中
1 .插入大批量数据时,要先保证数据库的可以接收来自server端的数据set global max_allowed_packet = 2*1024*1024*10;2.$values=array(); // print_r($array); foreach($array as $k => $v) { $values[] = $v['Id'] .",
2015-04-10 19:25:40
900
原创 轻量级分布式缓存Memcached
什么是Memcached许多Web 应用程序都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等重大影响。Memcached是高性能的分布式内存缓存服务器。一般的使用目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高动态Web 应用的速度、提高扩展性。如图:
2014-12-20 22:24:55
950
原创 Spring中的定时器
最近项目中使用到了定时器的功能,在每天凌晨,如果内存中存有数据,将会把内存中的数据刷入数据库中。1.java中的定时器 Timer使用java中的java.util.Timer工具类,这个类允许调度一个java.util.TimeTask任务。java.util.Timer timer;timer = new Timer(false);//如果为true,这个线程是一个守护线程
2014-12-19 22:21:52
813
原创 数据库和文件系统的快照snapshot
1.快照用途通俗法:快照的作用主要是能够进行在线数据恢复,用数据库采集下系统某一时刻的数据,将数据存入数据库中,当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复,将数据恢复成快照产生时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。利用不同时间点的快照,还可以生成报告,用来检测系统在这段
2014-12-18 12:57:07
6984
原创 Merkle tree算法
1.Merkle Tree原理Merkle Tree是Dynamo中用来在多个节点之间同步数据集合一致性的算法,Merkle Tree是基于数据Hash构建的一个树。它具有以下几个特点:(1)数据结构是一个树,可以是二叉树,也可以是多叉树。(2)Merkle Tree的叶子节点的值是自己制定的,可以是数据集合的单元数据或者单元数据的hash。(3)Merkle Tree非叶子节
2014-12-17 21:47:10
1707
原创 Java缓存
常见的缓存算法有LRU、LFU和FIFO等算法。1. LRU (Least Recently Used,最近最少使用)算法根据数据的最近访问记录来淘汰数据,其原理是如果数据最近被访问过,将来被访问的概率比较高,最常见的实现是使用一个链表保存缓存数据,详细具体算法如下:1)新数据插入到链表头部;2)每当缓存数据命中,则将数据移到链表头部;3)当链表满的时候,将链表尾部的数据丢弃;
2014-12-13 21:56:17
740
原创 布隆过滤器-Bloom Filter
1.布隆过滤器算法简介Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁的表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有可能会出现错误判断,但不会漏掉判断。也就是Bloom Filter判断元素不在结合,那么元素肯定不在集合,如果判断元素存在集合中,有一定的概率判断错误。它的优点
2014-12-10 21:07:16
1130
转载 NoSQL数据库的分布式算法
本文另一地址请见NoSQL数据库的分布式算法本文译自 Distributed Algorithms in NoSQL Databases系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性。这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去。尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地
2014-10-05 12:49:54
770
转载 MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分
2014-10-05 12:44:14
582
转载 MapReduce算法 – 反转排序(Order Inversion)
本文译自 MapReduce Algorithms – Order Inversion译者注:在刚开始翻译的时候,我将Order Inversion按照字面意思翻译成“反序”或者“倒序”,但是翻译完整篇文章之后,我感觉到,将Order Inversion翻译成反序模式是不恰当的,根据本文的内容,很显然,Inversion并非是将顺序倒排的意思,而是如同Spring的IOC一样,表明的是一种
2014-10-05 12:05:30
1982
转载 用 Hadoop 计算共生矩阵
本文译自Calculating A Co-Occurrence Matrix with Hadoop本文是《Data-Intensive Text Processing with MapReduce》提到的MapReduce算法的系列文章的延续。这次我们会使用语料库建立一个单词共生矩阵。所谓共生矩阵可以描述为对于某种事件,给予一个特定的时间或者空间限制,然后记录在这种情况下会发生的
2014-10-05 12:04:34
1067
转载 用MapReduce进行数据密集型文本处理 – 本地聚合(下)
本文译自 Working Through Data-Intensive Text Processing with MapReduce – Local Aggregation Part II本文是《Data Intensive Processing with MapReduce》中的算法实现系列文章的最新一篇。在第一篇里,我们讨论了使用本地聚合技术来减少shuffle阶段的网络传输数据量
2014-10-05 12:03:10
1002
转载 用MapReduce进行数据密集型文本处理 – 本地聚合(上)
本文译自Working Through Data-Intensive Text Processing with MapReduce因为最近忙于Coursera提供 的一些课程,我已经有一段时间没有写博客了。这些课程非常有意思,值得一看。我买了一本书《Data-Intensive Processing with MapReduce》,作者是Jimmy和Chris Dyer。书里以伪码形式
2014-10-05 11:58:45
1450
转载 MapReduce的常用算法
本系列文章翻译自博客codingjunkie.net , 作者总结了在《Data-Intensive Processing with MapReduce》这本书中涉及到的处理数据的方法,并写了真实可用的hadoop样例代码来代替书中的伪码。遗憾的是这本书目前在国内还买不到,只能从Amazon.com上购买。本系列文章包括用MapReduce进行数据密集型文本处理 – 本地聚合(
2014-10-05 11:57:36
1500
转载 分布式系统
分布式系统从当初的CORBA 到EJB,Web和SOA,从集群到现在的NoSQL 云计算和大数据Hadoop等分布式系统,横向水平扩展Scala out/in是分布式系统设计的一个特点,可靠性 容错性是两个质量指标。 什么是分布式系统? 一大批服务器组成一个集合,对于用户来说仍然是一个整体连贯系统。 A. Tanenbaum定义:分布式网络的计算机中的组件之间
2014-10-03 22:14:00
768
转载 浅析Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁
锁有两种分类方法。(1) 从数据库系统的角度来看锁分为以下三种类型: •独占锁(Exclusive Lock)独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、 UPDATE 或DELETE 命令时,SQL Server 会自动使用独占锁。但当对象上有其它锁存在时,无法对其加独占锁。独占锁一直到事务结束才能被释放。
2014-10-03 21:59:33
923
转载 高性能IO设计的Reactor和Proactor模式
在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞,什么是同步和异步,同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指
2014-09-25 19:19:37
513
转载 遍历hashmap的两种方法及分析
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getVa
2014-07-17 10:47:07
465
转载 【java】遍历hashmap的两种方法及分析
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getVa
2014-07-17 10:43:45
500
转载 Unclean shutdown detected
启动mongodb时,提示Unclean shutdown detected mongodb,解决方法很简单mongod --repair --dbpath D:\MongoDB\data\db转载于:http://www.cnblogs.com/windphoenix/archive/2012/02/09/2344397.html
2014-07-10 11:05:21
1105
转载 java链接MongoDB:com.mongodb.MongoException$CursorNotFound: cursor 0 not found on server /127.0.0.1:270
java链接MongoDB处理大量数据时经常碰到cursor not found 的异常在国内论坛上转了一圈,解决方法说的不知所云,其实解决方法很简单: DBCursor dbc_user = op.DBQuery("user_info"); dbc_user.addOption(com.mongodb.Bytes.QUERYOPTION_N
2014-07-08 18:55:43
3906
转载 linux定时器自动备份Mongodb
sourcePath='/var/mash5/mongodb-linux-x86_64-1.8.1/bin'targetPath='/var/mash5/mongodb-linux-x86_64-1.8.1/bak'rm -rf $sourcePath/dump$sourcePath/mongodump --port 27017 -d mash5_t2 -o $sourcePath/d
2014-07-08 17:18:09
649
原创 oracle的权限和角色
如何管理权限和角色,权限和角色的区别。权限分为系统权限和对象权限。如果要执行某种特定的数据库操作,则必须为其授予系统权限;如果用户要访问其他方案的数据对象,则必须为其授予对象权限。1、系统权限 (1)常用的系统权限:create session 连接数据库create table 建表create view 建视图create public synon
2014-05-05 10:05:51
636
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人