自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

全面理解OAuth 2.0

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。一、应用场景为了理解OAuth的适用场合,让我举一个假设的例子。有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"...

2014-10-30 10:21:05 165

OAuth 2.0概览

OAuth 1.0已经在IETF尘埃落定,编号是RFC5894http://tools.ietf.org/html/rfc5849这也标志这OAuth已经正式成为互联网标准协议。 OAuth 2.0也早已经开始讨论和建立的草案 OAuth在OAuth组织的主页http://www.oauth.net/2/ OAuth2.0的草案http://tools....

2014-10-27 14:59:36 226

Java排序算法【总结】

1、冒泡排序冒泡排序是排序算法中最基本的一种排序方法,该方法逐次比较两个相邻数据的大小并交换位置来完成对数据排序,每次比较的结果都找出了这次比较中数据的最大项,因为是逐次比较,所以效率是O(N^2)的。[java] view plaincopy public void bubbleSort() {          int out,in;       ...

2014-10-27 09:43:34 122

什么时候用MongoDB?

NoSQL products (and among them MongoDB) should be used to meet challenges. If you have one of the following challenges, you should consider MongoDB:You Expect a High Write Load MongoDB by defaul...

2014-10-24 12:54:03 319

敏捷开发

敏捷开发简单的说,敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。价值观敏捷建模(Agile Modeling,AM)的价值观包括了E...

2014-10-24 12:46:45 306

大规模网站架构的缓存机制和几何分形学

缓存机制和几何分形学缓存机制在我们的实际研发工作中,被极其广泛地应用,通过这些缓存机制来提升系统交互的效率。简单的总结来说,就是在两个环节或者系统之间,会引入一个cache/buffer做为提升整体效率的角色。 而有趣的是,这种缓存机制令人惊奇并且优美的遵循着“几何分形”的规律,也就是几何分形学中的“自相似性”:从整体上看遵循某种组成规律或者特性,同时从每一个局部看,仍然遵循某种组成的规...

2014-10-24 12:09:36 101

MySQL导出数据到文件

MySQL导出数据到文件: mysql -h ip -uroot -p database -e "select * from table">/tmp/export.txt

2014-10-20 17:50:23 131

淘宝的架构

淘宝的架构淘宝用的是JBoss,框架是iBATIS,缓存服务器是自己开发的,基本遵循SNA架构,水平扩展,数据库是Oracle,阿里集团的DBA几乎是国内最强悍的。目前淘宝的系统架构正在重构,计划用两到三年时间重写,目标有两个:1、水平扩展已经不满足需求了,还需要水平加垂直扩展 2、开放API,让店家可以把外部网站资源集成到淘宝,不必直接在淘宝开店淘宝首席架构师是原来JBoss的Be...

2014-10-20 13:47:35 167

天猫浏览型应用的CDN静态化架构演变

      在天猫双11活动中,商品详情、店铺等浏览型系统,通常会承受超出日常数倍甚至数十倍的流量冲击。随着历年来双11流量的大幅增加, 每年这些浏览型系统都要面临容量评估、硬件扩容、性能优化等各类技术挑战。因此,架构方面的重点在于,如何能够利用合理成本应对瞬间飙高的峰值请求,并确 保活动完整周期中系统容量的可伸缩性、用户响应时间的稳定性,以及外部依赖系统出现问题时的高可用性。此外,作为最主要的...

2014-10-20 13:45:22 152

大型网站系统架构的演化

前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解决海...

2014-10-20 11:53:28 92

Memcache和Redis比较

Today marks the day that memcached no longer has any significant advantages over redis, while redis continues to have many distinct advantages over memcached. Today, redis 3.0, which includes Redis C...

2014-10-19 17:29:12 112

Java集群解决方案

序言越来越多的关键应用运行在J2EE(Java 2, Enterprise Edition)中,这些诸如银行系统和账单处理系统需要高的可用性(High Availability, HA),同时像Google和Yahoo这种大系统需要大的伸缩性。高可用性和伸缩性在今天高速增长的互连接的世界的重要性已经证实了。eBay于 1999年6月停机22小时的事故,中断了约230万的拍卖,使eBay的股票...

2014-10-18 18:28:44 1067

Java公钥私钥签名工具包应用实例

package com.locator.encryption; import java.io.ByteArrayOutputStream;import java.security.Key;import java.security.KeyFactory;import java.security.KeyPair;import java.security....

2014-10-17 17:57:31 348

Java完整并发教程

计算机的使用者一直以为他们的计算机可以同时做很多事情。他们认为当其他的应用程序在下载文件,管理打印队列或者缓冲音频的时候他们可以继续在文字处理程序上工作。甚至对于单个应用程序,他们任然期待它能在在同一时间做很多事情。举个例子,一个流媒体播放程序必须能同时完成以下工作:从网络上读取数字音频,解压缩数字音频,管理播放和更新程序显示。甚至文字处理器也应该能在忙于重新格式化文本和刷新显示的情况下同时响...

2014-10-11 12:15:52 148

Java 7 并发编程指南

当你用计算机工作的时候,你在同时做多样事情。你可以边听音乐边写文档边读取邮件。可以这样做的原因是你的操作系统运行并发任务。并发编程是关于基础与进程的一个提供了多任务或者多程序同时运行还相互沟通来交换数据和相互同步的平台。Java是一个并发平台,在Java程序中提供了很多执行并发任务的类。每个版本,Java提升了促进程序员开发并发程序的功能。这本书包含了在Java版本7的并发API中最重要和最有用...

2014-10-11 10:01:10 86

Tomcat configuration recommendations

This topic provides some configuration tips for getting started with your Tomcat application server.Keep in mind that complete documentation on configuring and using the Tomcat server is available ...

2014-10-11 09:50:24 112

原创 JVM调优总结 -Xms -Xmx -Xmn -Xss

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550...

2014-10-10 17:36:17 86

原创 The Ubuntu's Directory Tree

Ubuntu adheres to the Filesystem Hierarchy Standard for directory and file naming. This standard allows users and software programs to predict the location of files and directories. The root level di...

2014-10-09 14:22:26 111

原创 Instagram工程师教你如何改善App的性能

扁平化设计由于其简洁的外表,更少的按钮和选项使得界面干净整齐,从而减少认知障碍的产生。扁平化设计更是功能上的简化于与重组,相比于 拟物化而言,扁平风格的一个优势就在于它可以更加简单直接的将信息和事物的工作方式展示出来。本文来自Instagram一名工程师的分享。 以下为译文:扁平化设计仅仅只是一个漂亮的外表,还是一个性能利器,从而触发一场UI革命?实践证明是后者。 Tyler...

2014-10-09 14:20:38 154

原创 What Factors Justify the Use of Apache Hadoop?

Relational database authors and advocates have two criticisms of Hadoop. First, that most users have little need for Big Data. Second, that MapReduce is more complex than traditional SQL queries.B...

2014-10-07 10:15:17 97

原创 Java NIO框架Mina, Netty, Grizzly比较

Mina:Mina (Multipurpose Infrastructure for Network Applications) is a relatively new project of the Apache organization, it provides a very convenient framework for the development of high-performa...

2014-10-05 21:31:19 224

原创 Java并发完整教程

Table of Contents1 什么是并发问题。2 java中synchronized的用法3 Java中的锁与排队上厕所。4 何时释放锁?5 Lock的使用6 利用管道进行线程间通信7 阻塞队列8 使用Executors、Executor、ExecutorService、ThreadPoolExecutor9 并发流程控制10 并发3定律...

2014-10-02 16:52:25 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除