JAVA
zhouwangyuan
这个作者很懒,什么都没留下…
展开
-
SRC 二分插入代码
int low = 0;int high = list.size() - 1;int mid = 0;int matchMid = -1;FightRequestReq matchFightRequestReq = null;while (low mid = (low + high) >>> 1; int midVal = list.get(mid).原创 2015-01-07 15:14:25 · 333 阅读 · 0 评论 -
[COPY] 《梦幻西游》手游服务器如何实现200万玩家同时在线?(技术篇)
去年,网易游戏学院成立并举行首个公开日活动,现场众多重量级嘉宾的干货分享深受广大游戏从业者的认可。6月27日,网易游戏学院第二届公开日活动在广州网易大楼开启,本次为网易游戏学院的技术专场,分享主题为《技术进步引发的灵感革命》。以下为游戏陀螺整理的部分内容分享。3 月26日,《梦幻西游》手游登陆iOS平台,它在上线两个多月的时间里,就创造了2000万注册用户,204万玩家同时在线,全转载 2015-07-07 14:18:14 · 945 阅读 · 0 评论 -
[COPY]大数据 hadoop 应用案例 大众点评
大数据 hadoop 应用案例 大众点评===========================================================大众点评网从2011年中开始使用Hadoop,并专门建立团队。Hadoop主分析集群共有60多个节点、700TB的容量,月运行30多万个Hadoop Job,还有2个HBase线上集群。作者将讲述这各个阶段的技术选择及改进之路。转载 2016-01-05 09:34:22 · 1179 阅读 · 0 评论 -
[COPY]Hadoop应用案例分析:在百度中的应用
【IT168 案例】百度作为全球最大的中文搜索引擎公司,提供基于搜索引擎的各种产品,包括以网络搜索为主的功能性搜索;以贴吧为主的社区搜索;针对区域、行业的垂直搜索、MP3音乐搜索,以及百科等,几乎覆盖了中文网络世界中所有的搜索需求。 百度对海量数据处理的要求是比较高的,要在线下对数据进行分析,还要在规定的时间内处理完并反馈到平台上。百度在互联网领域的平台需求如图3-3所示,这里就需要通过转载 2016-01-05 09:38:45 · 419 阅读 · 0 评论 -
[COPY]LBS的瓶颈和方案
快的打车从2013年年底到2014年下半年,系统访问量迅速膨胀,很多复杂的问题要在短时间内解决,且不能影响线上业务,这是比较大的挑战,本文将会阐述快的打车架构演变过程遇到的一些有代表性的问题和解决方案。LBS的瓶颈和方案先看看基本的系统模型,如图1所示。图1 系统模型示意图司机每隔几秒钟上报一次经纬度,存储在MongoDB里;乘客发单时,通过MongoDB圈选出转载 2016-01-05 10:55:20 · 1260 阅读 · 0 评论 -
COPY 淘宝图片服务的学习
一、淘宝网的困境 对于淘宝网这样的大型电子商务网站,对于图片服务的要求特别的高。而且对于卖家来说,图片远胜于文字描述,因此卖家也格外看重图片的显示质量、访问速度等问题。根据淘宝网的流量分析,整个淘宝网流量中,图片的访问流量会占到90%以上,而主站的网页则占到不到10%。同时大量的图片需要根据不同的应用位置,生成不同大小规格的缩略图。考虑到多种不同的应用场景以及改版的可能性,一张原图有可能转载 2016-01-05 16:06:46 · 530 阅读 · 0 评论 -
COPY 云部署中的 Hadoop
了解云部署的范围Hadoop 系统是一个用起来颇有挑战性的环境,但由于云环境所具有的限制(与自由),云部署会引入额外的复杂性。例如,借助云中的 Hadoop,如何处理可变的集群规模与信息的有效分布?如何有效地扩大和收缩云环境,以便应付您期望处理的 Hadoop 负载?如何计划和控制任务与处理,以便在云实例可用时最大限度地利用它们?根据具体云服务的不同,云部署的优势与劣势会对转载 2016-01-07 10:31:51 · 533 阅读 · 0 评论 -
COPY 基于Flume的美团日志收集系统架构和设计
美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流。美团的日志收集系统基于Flume设计和搭建而成。《基于Flume的美团日志收集系统》将分两部分给读者呈现美团日志收集系统的架构设计和实战经验。第一部分架构和设计,将主要着眼于日志收集系统整体的架构设计,以及为什么要做这样的设计。第二部分改进和优化,将主要着眼于转载 2016-02-14 13:51:49 · 700 阅读 · 0 评论 -
[COPY] 京东消息中间件JMQ
JMQ是京东自主研发的一款消息中间件系统,具有高可用、数据高可靠等特性。广泛应用于公司内部系统,包括订单、支付、库房等场景。整体结构 系统包括服务端、客户端、管理端与其他支撑模块。 服务端 服务端提供了配置信息分发、重试消息管理和消息存储与分发这三大类功能。每个服务端实例都具备这三类功能的服务能力,但是在实际部署上这三类功能对应三个不同的集群,对应转载 2016-10-14 10:20:15 · 2716 阅读 · 0 评论 -
COPY Linux与JVM的内存关系分析
在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所示。同时,由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了?要转载 2015-06-23 19:39:01 · 400 阅读 · 0 评论 -
COPY Java Secure Socket Extension (JSSE) Reference Guide
This guide covers the following topics:Skip Navigation LinksIntroductionFeatures and BenefitsJSSE Standard APISunJSSE ProviderRelated DocumentationThe JRE Installation DirectoryTerms and转载 2015-04-28 15:41:40 · 1536 阅读 · 0 评论 -
COPY Netty系列之Netty线程模型
1. 背景1.1. Java线程模型的演进1.1.1. 单线程时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。1.1.2. 多线程随着硬件性能的提升,CPU的核数越转载 2015-04-19 13:00:24 · 460 阅读 · 0 评论 -
COPY 推送服务设计要点
1. 背景1.1. 话题来源最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:Netty是否可以做推送服务器?如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端?使用Netty开发推送服务遇到的各种技术问题。由于转载 2015-01-12 18:04:46 · 946 阅读 · 0 评论 -
COPY Java安全管理器SecurityManager
一、JavaDoc如是说安全管理器是一个允许应用程序实现安全策略的类。它允许应用程序在执行一个可能不安全或敏感的操作前确定该操作是什么,以及是否是在允许执行该操作的安全上下文中执行它。应用程序可以允许或不允许该操作。SecurityManager类包含了很多名称以单词check开头的方法。Java库中的各种方法在执行某些潜在的敏感操作前可以调用这些方法。对check方法的典型调用如下:转载 2015-02-04 15:53:18 · 683 阅读 · 0 评论 -
COPY Java不同压缩算法的性能比较
JDK GZIP ——这是一个压缩比高的慢速算法,压缩后的数据适合长期使用。JDK中的java.util.zip.GZIPInputStream / GZIPOutputStream便是这个算法的实现。JDK deflate ——这是JDK中的又一个算法(zip文件用的就是这一算法)。它与gzip的不同之处在于,你可以指定算法的压缩级别,这样你可以在压缩时间和输出文件大小上进行平衡。可选的级别转载 2015-01-05 10:06:44 · 1340 阅读 · 0 评论 -
COPY Netty系列之Netty安全性
1. 背景1.1. 严峻的安全形势1.1.1. OpenSSL Heart bleed漏洞2014年上半年对网络安全影响最大的问题就是OpenSSL Heart bleed漏洞,来自Codenomicon和谷歌安全部门的研究人员发现OpenSSL的源代码中存在一个漏洞,可以让攻击者获得服务器上64K内存中的数据内容。该漏洞在国内被译为” OpenSSL心脏出血漏洞”,因其破转载 2015-04-19 13:02:38 · 1410 阅读 · 0 评论 -
COPY Netty系列之Netty并发编程分析
1. JAVA内存模型与多线程编程1.1. 硬件的发展和多任务处理随着硬件特别是多核处理器的发展和价格的下降,多任务处理已经是所有操作系统必备的一项基本功能。在同一个时刻让计算机做多件事情,不仅仅是因为处理器的并行计算能力得到了很大提升,还有一个重要的原因是计算机的存储系统、网络通信等IO性能与CPU的计算能力差距太大,导致程序的很大一部分执行时间被浪费在IO wait上面,CPU转载 2015-04-19 12:59:14 · 600 阅读 · 0 评论 -
COPY Netty系列之Netty可靠性分析
1. 背景1.1. 宕机的代价1.1.1. 电信行业毕马威国际(KPMG International)在对46个国家的74家运营商进行调查后发现,全球通信行业每年的收益流失约为400亿美元,占总收入的1%-3%。导致收益流失的因素有多种,主要原因就是计费BUG。1.1.2. 互联网行业美国太平洋时间8月16日下午3点50分到3点55分(北京时间8月17日6点转载 2015-04-19 12:56:41 · 635 阅读 · 0 评论 -
COPY Netty系列之Netty高性能之道
1. 背景1.1. 惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高转载 2015-04-19 12:43:47 · 1337 阅读 · 0 评论 -
COPY Netty系列之Netty 服务端创建
1. 背景1.1. 原生NIO类库的复杂性在开始本文之前,我先讲一件自己亲身经历的事:大约在2011年的时候,周边的两个业务团队同时进行新版本开发,他们都需要基于NIO非阻塞特性构建高性能、异步和高可靠性的底层通信框架。当时两个项目组的设计师都咨询了我的意见,在了解了两个项目团队的NIO编程经验和现状之后,我建议他们都使用Netty构建业务通信框架。令人遗憾的是其中1个项目转载 2015-04-19 13:00:19 · 604 阅读 · 0 评论 -
[COPY]《京东技术解密》——海量订单处理
OFC的重要性2014年的618显得和以往任何店庆促销日都不同,不仅仅是因为电子商务本身在中国不断飞速发展对京东系统带来的挑战,更为重要的是2014年5月22日刚走入美国纳斯达克殿堂的京东聚集了最耀眼的光芒,能不能保持这样的光芒,618则会是一份很有说服力的答卷,当然我们最终给出了满意的结果。作为一个普通的购物者,当我们在浏览器中输入www.jd.com并回车,便可以看到京东商城的首页,根转载 2016-10-14 10:21:03 · 3929 阅读 · 1 评论