自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 HSF源码阅读笔记

HSF(highspeed service framework ) 是淘宝内部使用的一个rpc(remote procedure call) 框架,最近在看Apache Mina的应用层协议的编解码器时,想到了看HSF的源码。1、HSF单元测试环境的启动: HSF组开发同事提供了一个HSFEasyStarter,支持HSF环境的快速启动。它的原理是: 从淘宝内网下载一个taobao

2013-07-30 22:04:06 2695

原创 负载均衡简要概念

负载均衡(Load Balance)就是对工作任务进行平衡、分摊到多个操作单元上执行,共同完成工作任务。常见有三种1、链路负载均衡  链路负载均衡即通过DNS解析成不同的IP,然后用户根据这个ip来直接访问不同的目标服务器。优点:访问速度快、且不需要经过其他代理服务器缺点:dns可能在用户本地和Local DNS  Server都有缓存, 一旦某台Web

2013-07-26 01:11:31 844

原创 web交互中常出乱码问题总结

web交互中常出乱码问题,总结了几点。1、交互时编码方没有告诉解码方数据采用的编码,导致解码可能用默认的解码(默认编码很可能与真正的编码不匹配)。2、交互时编码方 "没有正确" 的告诉解码方数据采用的编码。3、交互时编码方 “正确” 的告诉解码方数据采用的编码,但解码方忽略了编码方正确的建议,采用了不相同的编码解码(多出现于服务器端过滤器或web容器设置编码错误)。

2013-07-26 00:38:50 616

原创 Java 的系统属性 sun.jnu.encoding 和 file.encoding 的区别

今天项目中遇到通过web上传文件到文件系统时,文件名乱码,一步步排查了http通讯过程中的编解码(通过utf-8)都没有发现问题。操作系统的默认字符集也是utf-8。 通过日志打印System.getProperty("file.encoding")也是utf-8码。。。。一时凌乱了!!     最后通过查资料,发现

2013-07-26 00:16:55 8046 1

转载 排序算法稳定性

排序算法稳定性目录概念判断方法常见排序算法的稳定性编辑本段概念假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。编辑本段判断方法对于不稳定

2013-07-22 23:00:05 755

转载 java.util.Arrays的排序研究

作者题记:JDK中有很多算法具有优化的闪光点,值得好好研究。 【java.uti.Arrays】 包含用来操作数组(比如排序和搜索)的各种方法。这篇文章我们就来研究一些大师们写的排序算法。(1) 基本数据类型数组的排序,如Arrays.sort(int[])等。采用了一种经 过调优的快速排序 。 该算法改编自 Jon L. Bentley 和 M. Dougla

2013-07-22 22:57:23 739

转载 Java IO读写大文件的几种方式及测试

读取文件大小:1.45G 第一种,OldIO: Java代码  public static void oldIOReadFile() throws IOException{      BufferedReader br = new BufferedReader(new FileReader("G://lily_947.txt"));      PrintWr

2013-07-22 22:53:17 836

转载 基于 HTTP 长连接的“服务器推”技术

“服务器推”技术的应用请访问 Ajax 技术资源中心,这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。订阅 Ajax 相关文章和教程的 RSS 提要传统模式的 Web 系统以客

2013-07-22 22:24:23 1018

原创 用RandomAccessFile实现linux tail命令效果

linux tail -f  命令可以实现在终端跟踪打印文件输出,但因项目需要将此命令web化。需要跟踪查看日志文件的打印,查

2013-07-22 22:21:17 2303

转载 花1K内存实现高效I/O的RandomAccessFile类

主体:目前最流行的J2SDK版本是1.3系列。使用该版本的开发人员需文件随机存取,就得使用RandomAccessFile类。其I/O性能较之其它常用开发语言的同类性能差距甚远,严重影响程序的运行效率。开发人员迫切需要提高效率,下面分析RandomAccessFile等文件类的源代码,找出其中的症结所在,并加以改进优化,创建一个"性/价比"俱佳的随机文件访问类BufferedRan

2013-07-22 20:23:25 819

转载 Java对文件的读、写随机访问,RandomAccessFile类的使用分析

在网上看了一些关于java中的RandomAccessFile类的介绍,又经过查看Java API和自己编的测试程序,总算是对RandomAccessFile的使用有了一定的了解。自己做了以下比较详细的总结吧。  1.RandomAccessFile类的简单介绍  该类的实例支持对文件的随机读取和写入。随机存取文件的行为类似存储在文件系统中的一个大型字节数组。存在指向该隐含数组的光

2013-07-22 20:22:08 817

转载 J2EE规范

j2ee规范J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的 13种技术规范进行简单的描述JDBC(Java Database Connectivity)  JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另

2013-07-22 20:16:30 527

转载 深入分析 Java 中的中文编码问题

几种常见的编码格式为什么要编码不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解。我们可以把计算机能够理解的

2013-07-22 20:08:01 596

转载 深入分析 Java I/O 的工作机制

Java 的 I/O 类库的基本架构I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开始引入了 NIO,提升了 I/O 的性能。关于 NIO 我们将在后面详

2013-07-22 20:04:59 755

原创 看科普片随感

很多专业知识的科普片为什么能够让没有专业知识背景的人也能够看懂、并且印象深刻? 粗略总结以下4点。1、图、文、动画并茂。2、讲故事、“平民化“。3、用生活场景映衬一些专业知识。4、把复杂的东西简单化。如果我们传播一些专业知识的时候也能做到这样,那专业知识学起来就容易多了。加油!

2013-07-22 19:28:51 562

转载 用AtomicStampedReference解决ABA问题

在运用CAS做Lock-Free操作中有一个经典的ABA问题:线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了,尽管CAS成功,但可能存在潜藏的问题,例如下面的例子:现有一个用单向链表实现的堆栈,栈顶为A,这时线程T1已经知道A.next为B,

2013-07-22 01:17:48 912

转载 REST和认证

REST和认证我们在设计REST(Representational State Transfer)风格的Web service API,有一个问题经常要考虑,就是如何设计用户认证的体系(Authentication).比较传统的做法是首先有一个登陆的API,然后服务器返回一个session ID,后续的操作客户端都必须带上这个session ID,但是这样的,服务就变成了有状态

2013-07-22 01:09:22 2380

转载 paxos 实现

本文主要介绍zookeeper中zookeeper Server leader的选举,zookeeper在选举leader的时候采用了paxos算法(主要是fast paxos),这里主要介绍其中两种:LeaderElection 和FastLeaderElection.我们先要清楚以下几点一个Server是如何知道其它的Server在zookeeper中,一个zook

2013-07-22 01:06:01 536

转载 Zookeeper全解析——Paxos作为灵魂

Zookeeper全解析——Paxos作为灵魂原计划在介绍完ZK Client之后就着手ZK Server的介绍,但是发现ZK Server所包含的内容实在太多,并不是简简单单一篇Blog就能搞定的。于是决定从基础搞起比较好。那么ZK Server最基础的东西是什么呢?我想应该是Paxos了。所以本文会介绍Paxos以及它在ZK Server中对应的实现。先说Paxos

2013-07-22 01:03:58 644

转载 【转】zookeeper 学习资料

这段时间学习zookeeper,记录一下找到的一些资料 zookeeper学习记录http://agapple.iteye.com/blog/1111377 zookeeper watcher功能分析http://luzengyi.blog.163.com/blog/static/529188201064113744373/   watche

2013-07-22 00:56:12 966

转载 基于ZooKeeper的分布式Session实现

1.   认识ZooKeeperZooKeeper—— “动物园管理员”。动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被动 物所观赏。为了让各种不同的动物呆在它们应该呆的地方,而不是相互串门,或是相互厮杀,就需要动物园管理员按照动物的各种习性加以分类和管理,这样我们才 能更加放心安全的观赏动物。回到我们企业级应用系统

2013-07-22 00:51:43 758

转载 分布式服务框架 Zookeeper -- 管理分布式环境中的数据

安装和配置详解本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。单机模式单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目

2013-07-22 00:49:24 707

转载 ZooKeeper典型应用场景一览

日期:2011-10-08 作者:ni掌柜查看PDF版本ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,

2013-07-22 00:45:14 695

转载 ZooKeeper权限控制

日期:2011-11-02 作者:ni掌柜目前在公司内部使用ZooKeeper的地方越来越多,应用大多喜欢自己部署一套ZK集群来使用。考虑到ZK的高可用,并且一套ZK集群至少3台机器, 那么每个应用,尤其是一些非核心应用都自己去部署一套的话,对资源利用率很低。另外,随着ZK容灾的提出,单套ZK集群使用的机器量会更大,运维人员开始 对这个情况担忧,强烈希望能够合并ZK集群。ZK集

2013-07-22 00:43:42 1150

转载 为ZooKeeper增加一个小功能:指定IP进行受限客户端过滤

日期:2011-12-07 作者:ni掌柜      (所有要下载的文件都在这里:https://issues.apache.org/jira/browse/ZOOKEEPER-1320)       ZooKeeper功能定位专一,这“导致”了他并不支持一些“非主流”功能。但是有时候,作为ZooKeeper管理员还是很需要某些功能:比如通过指定ip的方式,拒绝某个客户端的连接

2013-07-22 00:42:15 930

转载 ZooKeeper管理员指南——部署与管理ZooKeeper

日期:2012-10-20 作者:ni掌柜1.部署本章节主要讲述如何部署ZooKeeper,包括以下三部分的内容:系统环境集群模式的配置单机模式的配置系统环境和集群模式配置这两节内容大体讲述了如何部署一个能够用于生产环境的ZK集群。如果仅仅是想在单机上将ZK运行起来,进行一些开发与测试,那么第三部分或许是你的菜。1.1系统环境1.1.

2013-07-22 00:41:24 801

转载 zookeeper分布式锁避免羊群效应(Herd Effect)

日期:2012-10-25 作者:ni掌柜本文主要讲述在使用ZooKeeper进行分布式锁的实现过程中,如何有效的避免“羊群效应( herd effect)”的出现。一般的分布式锁实现这里简单的讲下一般的分布式锁如何实现。具体的代码实现可以在这里看到:https://svn.apache.org/repos/asf/zookeeper/trunk/src/recipes

2013-07-22 00:36:16 1521

转载 ZooKeeper FAQ

日期:2011-12-20 作者:ni掌柜这段时间来,也在和公司里的一些同学交流使用zk的心得,整理了一些常见的zookeeper问题。这个页面的目标是解答一些zk常见的使用问题,同时也让大家明确zk不能干什么。页面会一直更新。客户端1. 客户端对ServerList的轮询机制是什么随机,客户端在初始化( new ZooKeeper(String connectSt

2013-07-22 00:33:09 903

转载 ZooKeeper客户端地址列表的随机原理

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nileader.blog.51cto.com/1381108/932948查看PDF版本转载请用注明:@ni掌柜nileader@gmail.com 在之前一个文章《ZooKeeper Java API 使用样例》中提到,客户端使用ZooKee

2013-07-22 00:31:32 621

空空如也

空空如也

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

TA关注的人

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