首页 > 编程语言
Redis源码中探秘SHA-1算法原理及其编程实现
SHA-1算法是第一代“安全散列算法”的缩写,其本质就是一个Hash算法。SHA系列标准主要用于数字签名,生成消息摘要,曾被认为是MD5算法的后继者。如今SHA家族已经出现了5个算法。Redis使用的是SHA-1,它能将一个最大264比特的消息,转换成一串160位的消息摘要,并能保证任何两组不同的消息产生的消息摘要是不同的。Redis的sha1.c文件实现了这一算法,但该文件源码实际上是出自Valgrind项目的/tests/sha1_test.c文件(可以看出开源的强大之处:取之于民,用之于民)...
分类:编程语言   时间:2015-04-28 22:53:30    收藏:0  评论:0  赞:0  阅读:427
C和C++的面向对象专题(8)——更为高级的预处理器PHP
我们这里使用PHP进行代码的预处理工作,将PHP代码当做C++的宏使用。 当然,你也可以用python做代码生成工作,但由于php是内嵌式的,处理起来可能更方便一些,当然,其他语言配上模板也是可以的。...
分类:编程语言   时间:2015-04-28 22:53:20    收藏:0  评论:0  赞:0  阅读:288
POJ1128 Frame Stacking(拓扑排序)经典
Frame Stacking Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4454   Accepted: 1509 Description Consider the following 5 picture frames placed on an 9 x 8 a...
分类:编程语言   时间:2015-04-28 22:52:50    收藏:0  评论:0  赞:0  阅读:457
java并发编程 -volatile关键字
java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他的线程。当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序,volatile变量 不会被缓存在寄存器或者对处理器不可见的地方,因此在读取volatile变量时总会返回最新写入的值。访问volatile变量不会执行加锁操作,因此也...
分类:编程语言   时间:2015-04-28 22:51:14    收藏:0  评论:0  赞:0  阅读:300
秒懂快速排序
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来 快速排序核心:"基准"(pivot),分区(partition),交换(swap),递归(r...
分类:编程语言   时间:2015-04-28 22:51:00    收藏:0  评论:0  赞:0  阅读:255
二叉查找树转换成排序的双向链表
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何 新的结点,只调整指针的指向。 比如将二元查找树 10 / 6 14 / \ / 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 思路:对于树的很多题目,都可以使用递归的方法来处理。这道题目也不例外。我们从最基本的思路来考虑这个题目。 把一个二叉树编程双向链表,...
分类:编程语言   时间:2015-04-28 22:50:30    收藏:0  评论:0  赞:0  阅读:251
《Python 源码剖析》一些理解以及勘误笔记(2)
以下是本人阅读此书时理解的一些笔记,包含一些影响文义的笔误修正,当然不一定正确,贴出来一起讨论。 注:此书剖析的源码是2.5版本,在python.org 可以找到源码。纸质书阅读,pdf 贴图。 文章篇幅太长,故切分成2部分,这是第二部分。 p248: 嵌套函数、闭包和 decorator  co_cellvars: 通常是一个tuple,保存嵌套的作用域内...
分类:编程语言   时间:2015-04-28 22:49:10    收藏:0  评论:0  赞:0  阅读:835
【C/C++学习】C++语言学习积累
1、命名空间 namespace cq{} using namespace cq; 2、使用继承 class Man: public Person { } 3、使用父类的方法 Man::Man(char*name) : Person(name, 12) { cout name age } 4、析构函数 (1)若用指针新建对象           要用delete销...
分类:编程语言   时间:2015-04-28 22:48:20    收藏:0  评论:0  赞:0  阅读:316
第十四节:线程劫持
本章前面讨论了垃圾回收期算法。但是,这些讨论有一个很大的前提:仅有一个线程运行,在现实世界,经常会出现多个线程同时访问托管堆的情况,或至少有多个线程同时操作托管堆中分配的对象。一个线程引发垃圾回收时,其它线程绝对不能访问其他任何对(包含他们自己线程栈上的引用),这是因为垃圾回收器可能移动对象,更改其...
分类:编程语言   时间:2015-04-28 22:46:40    收藏:0  评论:0  赞:0  阅读:484
编程之美-----在一个整型数组里找出只出现过一次的那两个数
一、一个数组里除了一个数字之外,其他的数字都出现了两次 用异或来解#include using namespace std;int main(){ int T; int n,m; while(cin>>T,T){ cin>>n; while...
分类:编程语言   时间:2015-04-28 22:44:40    收藏:0  评论:0  赞:0  阅读:353
面向对象程序设计-C++ Default constructor & Copy constructor& Destructor & Operator Overloading【第九次上课笔记】
先上笔记内容吧:这次上课的内容有关构造函数析构函数运算符重载return * this 内容很细,大家好好回顾笔记再照应程序复习吧 :)#include using namespace std;class Integer {public: int i; int geti () cons...
分类:编程语言   时间:2015-04-28 22:44:30    收藏:0  评论:0  赞:0  阅读:376
pythonchallenge 第五关
因为前几关代码已近删了,所以从这一关开始。思路我都是在网上找的,比如 http://blog.csdn.net/zlchina1989/article/details/6864562。 所以我在这边只贴上代码:import urllib.requestimport reimport pickleur...
分类:编程语言   时间:2015-04-28 22:40:50    收藏:0  评论:0  赞:0  阅读:315
Java 素数 prime numbers-LeetCode 204
Description:Count the number of prime numbers less than a non-negative number,nclick to show more hints.Credits:Special thanks to@mithmattfor adding t...
分类:编程语言   时间:2015-04-28 22:40:36    收藏:0  评论:0  赞:0  阅读:258
java多线程设计模式
java语言已经内置了多线程支持,所有实现Runnable接口的类都可被启动一个新线程,新线程会执行该实例的run()方法,当run()方法执行完毕后,线程就结束了。一旦一个线程执行完毕,这个实例就不能再重新启动,只能重新生成一个新实例,再启动一个新线程。Thread类是实现了Runnable接口....
分类:编程语言   时间:2015-04-28 22:40:20    收藏:0  评论:0  赞:0  阅读:305
JavaScript——引用类型之数组
前言之前本菜打算在写完基本类型后写引用类型Object的,因为Object是引用类型的基础,其他的引用类型也是以Object为根本。只是关于对象的基本认识与简单操作确实可写的不多,打算之后与原型、原型链一起写。本博将介绍引用类型Array,即JavaScript中的数组。Array首先数组到底是什么...
分类:编程语言   时间:2015-04-28 22:39:50    收藏:0  评论:0  赞:0  阅读:290
黑马程序员——C语言基础---指针
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一、指针变量的定义1.定义的格式l类名标识符*指针变量名;lint*p;2.先定义后赋值l简单取值inta=10;int*p;p=&a;printf(“%d”,*p);l简单改值*p=9;3.定义的...
分类:编程语言   时间:2015-04-28 22:39:06    收藏:0  评论:0  赞:0  阅读:332
【转】Javabyte[]数组和十六进制String之间的转换Util------包含案例和代码
原文网址:http://blog.csdn.net/caijunjun1006/article/details/11740223Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转...
分类:编程语言   时间:2015-04-28 22:37:10    收藏:0  评论:0  赞:0  阅读:350
Java与邮件系统交互之使用Socket验证邮箱是否存在
最近遇到一个需求:需要验证用户填写的邮箱地址是否真实存在,是否可达。和普通的正则表达式不同,他要求尝试链接目标邮箱服务器并请求校验目标邮箱是否存在。先来了解 DNS之MX记录 对于DNS不了解的,请移步百度搜索。 DNS中除了A记录(域名-IP映射)之外,还有MX记录(邮件交换记录),CN...
分类:编程语言   时间:2015-04-28 22:33:40    收藏:0  评论:0  赞:0  阅读:530
Java for LeetCode 010 Regular Expression Matching
Implement regular expression matching with support for '.' and '*'.'.' Matches any single character.'*' Matches zero or more of the preceding element....
分类:编程语言   时间:2015-04-28 22:28:40    收藏:0  评论:0  赞:0  阅读:302
2015年4月27日----高大上的数组,进制准换,最多是35进制
#include #include #include int main(int argc, char *argv[]){ /*十进制准换城任何进制的程序*/ int ival, base; //ival 是十进制数,base 是要转换的进制 int index =0; char arr[32]; m...
分类:编程语言   时间:2015-04-28 22:28:20    收藏:0  评论:0  赞:0  阅读:301
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!