作者归档: 童燕群

OpenSSL HeartBleed漏洞原理漫画图解

前几天OpenSSL 的「滴血之心」漏洞造成的恐慌几乎席卷全球,国内外白帽子黑帽子疯狂刷数据刷积分,各大网站的安全部门也是遇到了从未有过的危机。虽然大家都讨论的很热烈,但对于用户们来说,只关心一件事情:我们支付宝里的钱还安全么。

除此以外,好奇的人们或许更想知道OpenSSL的程序员到底犯了什么错误,好在有xkcd这样的geek网站,用最最通俗易懂的方式,向大家展示了这个漏洞的原理和可爱之处。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.00- 9票) Loading ... Loading ... | 归档目录:IO编程, WEB网络, 移动互联 | 标签: , , , |

深入分析Volatile的实现原理

引言

在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。

它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的,通过深入分析能帮助我们正确的使用Volatile变量。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.33- 9票) Loading ... Loading ... | 归档目录:Java, 多线程编程, 算法数据结构 | 标签: , , |

写Java也得了解CPU缓存

CPU,一般认为写C/C++的才需要了解,写高级语言的(Java/C#/pathon…)并不需要了解那么底层的东西。我一开始也是这么想的,但直到碰到LMAX的Disruptor,以及马丁的博文,才发现写Java的,更加不能忽视CPU。经过一段时间的阅读,希望总结一下自己的阅读后的感悟。本文主要谈谈CPU缓存对Java编程的影响,不涉及具体CPU缓存的机制和实现。

现代CPU的缓存结构一般分三层,L1,L2和L3。如下图所示:

CPU三级缓存示意图

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.14- 7票) Loading ... Loading ... | 归档目录:Java, 多线程编程, 算法数据结构 | 标签: , |

配置OpenStack Swift支持Amazon S3 API

首先需要Keystone支持S3格式的证书扩展,EC2的扩展只是能帮助Keystone识别和创建EC2证书,也就是AK和SK。EC2的证书和S3的证书是通用的。

默认的Keystone安装后并不支持S3扩展,需要修改Keystone的PasteDeploy配置文件,在ec2_extension之后加入s3_extension中间件,首先还需要定义该中间件,具体的修改过程为:

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.55- 11票) Loading ... Loading ... | 归档目录:Amazon S3, Swift, 云计算/云存储, 存储技术 | 标签: , , , |

Google Guava简介

看到Guava这个名字觉得有点怪怪的,于是搜索了一下,Google Java的合称。Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合(collections)、缓存(caching)、原生类型支持(primitives support)、并发库 (concurrency libraries)、通用注解(common annotations)、字符串处理(string processing)、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。

项目信息
首页:https://code.google.com/p/guava-libraries/ 
并发编程网在对每一个主题的各个子类的介绍进行翻译并发表。这里转载目录。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.13- 8票) Loading ... Loading ... | 归档目录:Java, 语言基础 | 标签: , |

VMware 产品家族概述(20121231第二版)

image

下载链接:VMware 产品家族概述(20121231第二版).ppt

| 1 分2 分3 分4 分5 分 (3.00- 4票) Loading ... Loading ... | 归档目录:云计算/云存储, 软件技术 | 标签: |

构建高可用和弹性伸缩的KV存储系统

作为常用的NoSQL存储系统之一,KV存储系统受到了开发者的关注。但常见的KV存储系统并不具备自动容灾和在线扩容功能,这给系统运营造成了不少麻烦。本文提出了一种构建高可用和自动弹性伸缩的KV存储系统的方法。

常见KV存储系统

与互联网时代不同,社交时代和移动互联网时代的互联网产品,拥有海量的读写请求和爆发式增长的数据和用户。传统关系型数据库的性能、可扩展性和数据结构的灵活性逐渐成为瓶颈。NoSQL型数据库在近些年风生水起,越来越受到开发者的关注。NoSQL无须遵循关系型数据库的ACID理论,简单灵活的数据结构和操作使其具备与生俱来的高性能和可扩展性。常见的NoSQL产品有KV(key-value)型、文档型、列存储型、图存储型、对象存储型、XML数据库型等,图1为各种类型NoSQL数据库的代表产品和介绍。

阅读全文 »

| 1 分2 分3 分4 分5 分 (3.60- 5票) Loading ... Loading ... | 归档目录:云计算/云存储, 架构设计 | 标签: , , |

HTTPS、SSL与数字证书介绍

在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了。本文追本溯源围绕这个模式谈一谈。

名词解释

HTTPS:在HTTP(超文本传输协议)基础上提出的一种安全的HTTP协议,因此可以称为安全的超文本传输协议。HTTP协议直接放置在TCP协议之上,而HTTPS提出在HTTP和TCP中间加上一层加密层。从发送端看,这一层负责把HTTP的内容加密后送到下层的TCP,从接收方看,这一层负责将TCP送来的数据解密还原成HTTP的内容。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.00- 6票) Loading ... Loading ... | 归档目录:WEB网络, 软件技术 | 标签: , , , |

如何使用1M的内存排序100万个8位数

今天看到这篇文章,颇为震撼,感叹算法之“神通”。借助于合适的算法可以完成看似不可能的事情。

最早这个问题是在Stack Overflow网站上面给出的(Sorting numbers in RAM):

Sorting numbers in RAM 

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.00- 5票) Loading ... Loading ... | 归档目录:奇趣见闻, 算法数据结构 | 标签: |

多核编程入门

image

链接:下载

| 1 分2 分3 分4 分5 分 (4.43- 7票) Loading ... Loading ... | 归档目录:IO编程, 多线程编程 | 标签: |
返回顶部