随笔分类 -  转帖

STL学习】自己动手C++编程实现hash table(散列表)
摘要:GI STL中散列表采用链接法解决冲突。结构中维护了一个vector,vector中每一个元素称为一个桶(bucket),它包含的是一个链表的第一个节点。下面代码展示了自己编程实现的hash table,C++模板类封装。如有错误,还请包涵和指正(E-Mail:xiajunhust@gmail.com)!HashTable.h:[cpp]view plaincopyprint?//《STL源码剖析》5.7hashtable编程实现//Author:江南烟雨//E-Mail:xiajunhust@gmail.com#include#include#include//hashtable中链表节点数 阅读全文

posted @ 2013-11-01 15:58 gllxy 阅读(551) 评论(0) 推荐(0)

HashMap和Hashtable的区别
摘要:1 HashMap不是线程安全的 hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。2 HashTable是线程安全的一个Collection。HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable 阅读全文

posted @ 2013-11-01 15:47 gllxy 阅读(242) 评论(0) 推荐(0)

ByteArrayOutputStream用法
摘要:字节数组流:ByteArrayOutputStream: 可以捕获内存缓冲区的数据,转换成字节数组。ByteArrayoutputStream bout=new ByteArrayOutputStream();bout.write(int a);bout.write(int b);bout.write(int c);byte[] buf=bout.toByteArray();//获取内存缓冲中的数据for(int i=0;i<=buf.length;i++){System.out.println(buf);}bout.close();注:通过调用reset()方法可以重新定位。ByteA 阅读全文

posted @ 2013-10-31 14:07 gllxy 阅读(823) 评论(0) 推荐(0)

SSL/TLSV1.0 programe in linux
摘要:一、几个名词:1.SSL(Secure Socket Layer)是Netscape公司设计的主要用于WEB的安全传输协议。这种协议在WEB上获得了广泛的应用。2. IETF将SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),从技术上讲,TLS1.0与SSL3.0的差别非常微小。SSL可以用于保密的传输,这样我们与WebServer之间传输的消息便是“安全的”。二、原理1.SSL是一个介于HTTP协议与TCP之间的一个可选层,其位置大致如下:---------| HTTP |---------| SSL |---------| TCP | 阅读全文

posted @ 2013-10-14 17:36 gllxy 阅读(793) 评论(0) 推荐(0)

PEM文件
摘要:OpenSSL 使用 PEM 文件格式存储证书和密钥。PEM 实质上是 Base64 编码的二进制内容,再加上开始和结束行,如证书文件的-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----。在这些标记外面可以有额外的信息,如编码内容的文字表示。文件是 ASCII 的,可以用任何文本编辑程序打开它们。观察这个示例 PEM 文件。Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: 阅读全文

posted @ 2013-10-12 15:13 gllxy 阅读(10753) 评论(0) 推荐(0)

编译OpenSSL
摘要:一、编译OpenSSL 在编译OpenSSL前,需要正确安装Perl,因为在编译OpenSSL时需要使用到该程序。 下载最新版本的Perl:http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.822-MSWin32-x86-280952.zip。然后安装之。 下载最新版本的OpenSSL:http://www.openssl.org/source/openssl-0.9.8g.tar.gz 然后将源码释放的c:\openssl-0.9.8g目录中。 进入openssl源码目录。 cd c:\opens 阅读全文

posted @ 2013-10-12 13:28 gllxy 阅读(846) 评论(0) 推荐(0)

导航