- 博客(12)
- 收藏
- 关注
原创 用Codility测试你的编码能力
没有宏观的架构设计,没有特定的框架语言。在Codility提出的一些小问题上,用最纯粹的方式测试你最基本的编码能力。Codility第一课:算法复杂度各种算法书的开篇大多是算法分析,而复杂度(complexity)又是最基本的分析指标。所以Codility的第一课也不例外,直入复杂度主题。这里不再详述其概念,而只提及复杂度的几个注意点:复杂度不是程序运行时间的准确度量,而是数量级。重点是找到主要因
2015-01-19 21:53:11 19179
原创 六星经典CSAPP-笔记(3)程序的机器级表示
1.前言IA32机器码以及汇编代码都与原始的C代码有很大不同,因为一些状态对于C程序员来说是隐藏的。例如包含下一条要执行代码的内存位置的程序指针(program counter or PC)以及8个寄存器。还要注意的一点是:汇编代码的ATT格式和Intel格式。ATT格式是GCC和objdump等工具的默认格式,在CSAPP中一律使用这种格式。而Intel格式则通常会在Intel的IA32架构文档
2015-01-17 10:22:42 5244 1
原创 IMDG产品功能扩展
开源IMDG通常都提供了SPI或其他接口,供用户自行扩展。以Hazelcast为例,我们可以用一些好玩的小工具增强其查询、Map和后端持久化的功能。这些小工具虽然看起来很小,但功能也非常强大。SQL查询JoSQL非常简单易用,只需几步就可以在普通Java对象上实现SQL查询功能,而且对标准SQL支持的还很全面呢。同时也提供了接口,我们可以自定义想要的SQL函数。 它与Hazelcast的集成方法非
2015-01-17 10:11:28 2858
原创 Redis中的关系查询
本文对Redis如何保存关系型数据,以及如何对其匹配、范围、模糊查询进行举例讲解,其中模糊查询功能基于最新的2.8.9以后版本。1 关系型数据的存储以Staff对象为例,在关系型数据库或类似GridGain的内存网格产品中(底层使用H2数据库的内存模式存储),我们以表形式保存对象的数据。因为内存网格是基于对象做缓存的,所以还要额外多出一列(Staff列)保存整个对象的编码,例如序列化后的二进制或者
2015-01-16 21:35:28 47322 6
原创 十大Intellij IDEA快捷键
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧。1智能提示Intellij最强大的功能当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有...
2015-01-16 21:31:42 647773 104
翻译 可能是CAP理论的最好解释
一篇非常精彩的解释CAP理论的文章,翻译水平有限,不准确之处请参考原文,还请见谅。 Chapter 1: “Remembrance Inc” Your new venture :Last night when your spouse appreciated you on remembering her birthday and bringing her a gift, a strange Idea
2015-01-16 21:28:56 18831 18
原创 六星经典CSAPP笔记(2)信息的操作和表示
2.Representing and Manipulating Information本章从二进制、字长、字节序,一直讲到布尔代数、位运算,最后无符号、有符号整数、浮点数的表示和运算。诚然有些地方的数学证明有些枯燥,但总体上看,本章还是干货十足的!2.1 Decimal vs. Binary Notation我们习惯十进制只是因为我们有十根手指头(?),所以会对二进制感到不习惯。但是二值信号(tw
2015-01-11 22:19:32 3632
原创 开源IMDG之GridGain
作为另一款主流的开源数据网格产品,GridGain是Hazelcast的强有力竞争者。同样提供了社区版和商业版,近日GridGain的开源版本已经进入Apache孵化器项目Ignite(一款开源的内存计算(In-Memory Computing)IMC中间件),目前Apache正在迁移GridGain开源版本的代码到Ignite项目。鉴于经过之前Hazelcast的介绍已经对数据网格产品有了一定了
2015-01-11 20:56:10 8404 5
原创 P2P系统,一致性哈希和DHT
数据网格产品经常会使用P2P进行通信,借此机会系统地学习一下P2P网络和其资源搜索策略。1 P2P网络架构谈到P2P就涉及到一个概念:Overlay Network(覆盖网络)。所谓覆盖网络是应用层网络,几乎不考虑网络层和物理层,它具体指的就是建立在另一个网络上的网络。例如P2P网络就是覆盖网络,因为它运行在互联网之前,但允许对未知IP主机的访问。通过DHT等算法,可以在事先不知道IP地址的情况下
2015-01-11 17:24:14 10654 5
原创 Hibernate缓存集成IMDG
1 第三方缓存插件除了Ehcache这种轻量级的缓存方案外,几乎所有IMDG产品都提供了对Hibernate二级缓存的直接支持,常用的有:Ø HazelcastØ GridGainØ JBoss InfinispanØ Terracotta(额外提供了直接替换Session对象的集成方式)2 缓存工作过程下面以JVM集群Terracotta为例,首先从最原始的JDBC到Hibernate到
2015-01-11 16:58:18 2389
转载 开源协议介绍(GPL,LGPL,BSD,MIT,Apache)
http://blog.csdn.net/zhulinu/article/details/7419068 什么是许可协议?什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表
2015-01-11 16:51:25 2115
转载 阅读,思想,编译器
转载自36kr:查看文章...============================================================================================================================维尔阿杜安的《第四次十字军东征》我看过不下两次,但是你让我把我记住的内容写下来,我可能连一张纸都写不满。类似的感受发生的太
2015-01-11 16:48:19 1720
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人