`
youyu4
  • 浏览: 441727 次
社区版块
存档分类
最新评论
文章列表
互联网项目架构     什么是架构设计         通俗的说,架构设计就像是小学考试中解答应用题的过程,但是解决的问题更复杂,构思设计的过程更庞大,解题的工作量更大。         项目的质量指标         软件 ...
如何构建一个安全, 稳定, 高效的互联网平台体系架构           构建一个比较完善的互联网平台体系架构,广义上可以归纳为:高可用性,高扩展性,高性能,高安全性。     高可用性          高可用性又可以分为硬 ...
互联网系统架构的变迁     参看人家的见解 https://segmentfault.com/a/1190000008016139
关于HTTP和HTTPS的安全问题     普通HTTP请求存在的问题         HTTP 本身是明文传输的,没有经过任何安全处理。例如用户在百度搜索了一个关键字,比如“苹果手机”,中间者完全能够查看到这个信息,并且有可能打电话过来骚扰用户。也有一些用户投诉使用百度时,发现首页或者结果页面浮了一个很长很大的广告,这也肯定是中间者往页面插的广告内容。如果劫持技术比较低劣的话,用户甚至无法访问百度。         这里提到的中间者主要指一些网络节点,是用户数据在浏览器和百度服务器中间传输必须要经过的节点。比如 WIFI 热点,路由器,防火墙,反向代理,缓存服务器等。   ...
Redis几个认识误区     Redis不可能比Memcache快         很多开发者都认为Redis不可能比Memcached快,Memcached完全基于内存,而Redis具有持久化保存特性,即使是异步的,Redis也不可能比Memcached快。但是测试结果基本是Redis占绝对优势。一直在思考这个原因,目前想到的原因有这几方面。   Libevent。和Memcached不同,Redis并没有选择libevent。Libevent为了迎合通用性造成代码庞大(目前Redis代码还不到libevent的1/3)及牺牲了在特定平台的不少性能。Redis用libev ...
java -- Iterator和Enumeration比较     区别在哪         在Java集合中,我们通常都通过 “Iterator(迭代器)” 或 “Enumeration(枚举类)” 去遍历集合。先看看下面源码:   Enumeration是一个接口,它的源码如下: package java.util; publi ...
java -- Map总结     框架图       概括   接口   Map 是“键值对”映射的抽象接口。 AbstractMap 实现了Map中的绝大部分函数接口。它减少了“Map的实现类”的重复编码。 SortedMap 有序的“键值对”映射接口。 NavigableMap ...
java -- LinkedHashMap     特点   LinkedHashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 继承自HashMap 所以依然是散列表,拥有key-value结构。 LinkedHashMap 键和值都可以为null。 与HashMap有着同样的存储结构,但它 ...
java -- WeakHashMap     特点   WeakHashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 WeakHashMap 也是一个散列表,它存储的内容也是键值对(key-value)映射。 WeakHashMap 键和值都可以是null。 WeakHashMap 的键是“弱键 ...
java - TreeMap     特点   TreeMap 是一个有序的key-value集合,它是通过红黑树实现的。 TreeMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 TreeMap 实现了NavigableMap接口,意味着它支持一系列的导航方法。比如返回有序的key集合。 TreeMap 基于红黑树(Red-Black tree)实现。该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。 TreeMap 非同步,所以它的i ...
java -- HashTable     特点   HashTable 是一个散列表,它存储的内容是键值对(key-value)映射。 HashTable 继承于Dictionary,实现了Map、Cloneable、java.io.Serializable接口。 HashTable 的实现同步的,这意味着它是线程安全的。它的key、value都不可以为null。此外,HashTable中的映射不是有序的。     跟HashMap的区别   HashTable是线程安全,HashMap不是 HashTable不允许key和value为null,HashMap ...
java -- HashMap     特点   HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。       扩容   初始容量:哈希表在创建时的容量,默认是16 加载因子:哈希表在其容量自动增加之前可以达到多满的一种尺,默认是0.75 当哈希表的容量超过 ...
java -- Set总结         学习Set会容易很多,毕竟,Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。   首先,我们看看Set架构。         Set 是继承于Collection的接口。它是一个不允许有重复元素的集合。 AbstractSet 是一个抽象类,它继承于AbstractCollection,AbstractCollection实现了Set中的绝大部分函数,为Set的实现类提供了便利。 HastSet 和 TreeSet 是Set的两个实现类。   ...
Redis管道机制(pipeline)       Redis的管道机制,其实是为了批量读写而设计的,如果进行多次的读和写数据到redis,每次都建立一个链接,这样是比较消耗资源的,而且也比较忙,于是想到了管道机制(pipeline),只建立一个连接,然后批量执行读或写。         插入数据效果         非管道: 数据量 = 2W, 执行时间 = 1分多钟       管道:     数据量 = 2W, 执行时间 = 1~2秒         代码讲解     public boolean add(final List<T> ...
java -- TreeSet       TreeSet和HashSet很类似,不过是以HashMap实现,并且是有序的。     优点   没有重复元素 元素可以为null 操作很简单,更像是对HashMap做了一次“封装”,而且只使用了HashMap的key来实现各种特性。 有序,因为底层以TreeMap实现,自动排序了 可以被克隆,因为实现了Cloneable接口 支持序列化,因为实现了java.io.Serializable接口,当写入到输出流时,依次写入“比较器、容量、全部元素”;当读出输入流时,再依次读取。     缺点   非同步的,也就 ...
Global site tag (gtag.js) - Google Analytics