![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开源杂记
一点一滴g
这个作者很懒,什么都没留下…
展开
-
Google Guava之缓存
前言 缓存在很多场景下都是相当有用的。例如,计算或检索一个值的代价很高,并且对同样的输入需要不止一次获取值的时候,就应当考虑使用缓存。 Guava Cache与ConcurrentMap很相似,但也不完全一样。最基本的区别是ConcurrentMap会一直保存所有添加的元素,直到显式地移除。相对地,Guava Cache为了限制内存占用,通常都设定为自动回收元素。在某些场景下,尽管LoadingC...原创 2019-07-15 16:59:18 · 131 阅读 · 0 评论 -
oAuth2.0简介
OAuth 2.0 是目前比较流行的做法,它率先被Google, Yahoo, Microsoft, Facebook等使用。之所以标注为 2.0,是因为最初有一个1.0协议,但这个1.0协议被弄得太复杂,易用性差,所以没有得到普及。 为了理解OAuth的适用场合,让我举一个假设的例子。 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲印"读取...转载 2019-07-18 13:23:29 · 194 阅读 · 0 评论 -
Thrift系列讲解(一)---概述和入门
前言 Thrift支持多种不同的编程语言,包括C++、Java、Python、PHP、Ruby等,本系列主要讲述基于Java语言的Thrift的配置方式和具体使用。 正文 Thrift的技术栈 Thrift对软件栈的定义非常的清晰, 使得各个组件能够松散的耦合, 针对不同的应用场景, 选择不同是方式去搭建服务。 Thrift软件栈分层从下向上分别为:传输层(Transport Layer)、协议...原创 2019-07-17 13:06:46 · 644 阅读 · 0 评论 -
Apache Thrift系列详解(二) - 网络服务模型
前言 Thrift提供的网络服务模型:单线程、多线程、事件驱动,从另一个角度划分为:阻塞服务模型、非阻塞服务模型。 阻塞服务模型:TSimpleServer、TThreadPoolServer。 非阻塞服务模型:TNonblockingServer、THsHaServer和TThreadedSelectorServer。 TServer类的层次关系: 正文 TServer TServ...转载 2019-07-17 14:26:39 · 300 阅读 · 0 评论