`
wxyfighting
  • 浏览: 191868 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
文章列表
从Tomcat源码分析(二)可知,用户的一个请求会经过n个环节的处理,最后到达开发人员写的Servlet,传给Servlet也就是HttpServletRequest和HttpServletResponse,因此可以认为这一路走下来无非就是把最原始的Socket包装成Servlet里用到的HttpSe ...
计费中心一期已做完,今天重新根据已开发的代码画了下类图和时序图,发现和项目开发之前画的有了很大变化,这说明之前的架构设计缺乏稳定性,经不起开发细化过程中的推敲。因此有必要对比一下改动点,吸取经验,争 ...
AOP是Spring的核心,Spring不但自身对多种框架的集成是基于AOP,并且以非常方便的形式暴露给普通使用者。以前用AOP不多,主要是因为它以横截面的方式插入到主流程中,担心导致主流程代码不够清晰,定位问题不够方便,而在计费二期的项目里需要一个很适合用AOP来做的功能,就是要把对外接口和所调用的外部接口的耗时时间给记录下来,这个需求主要来自于计费一期的联调,常常发生系统间交互不够顺畅的情况,这就需要看每个接口调用时间来判定是谁的问题。 计费中心是整个后台系统的中间环节,与其他系统交互很多,这样的接口也很多,如果在每个接口的调用前后加时间记录比较繁琐,也影响主流程代码的美观,因此比 ...
今天支付宝架构师蔡学镛给我们做了次有关PPT的分享,以前只知道蔡学镛是位Java大师,今天才知道他在演说和分享方面也颇有心得,听完分享感觉非常有收获,很值得总结一把。 今天他做分享的PPT就很有示范作用,非常符合他所宣扬的PPT原则和要领,链接如下: http://www.slideshare.net/heypig/caffeinenicotine-ppt 分享要点如下: 1)做PPT犹如做生鱼片,分为材料+结构+修饰三个要素 2)材料要点 目标听众正确 材料展示要精简 学会说故事 内容容量相当于书的一章 要点不要超过7个 时间不要超过90分钟 3)结 ...
HDFS+MapReduce+Hive+HBase十分钟快速入门 1.前言 本文的目的是让一个从未接触Hadoop的人,在很短的时间内快速上手,掌握编译、安装和简单的使用。 2.Hadoop家族 截止2009-8-19日,整个Hadoop家族由以下几个子项目组成: 成员名 ...
nio不太好理解,tomcat6在nio方面做了不小的支持,从那里可以学习到如何用好nio,下面是几张在网上找到的关于nio的架构图,可以帮助理解 BIO与NIO的区别: tomcat 5与tomcat 6 的区别: tomcat5: tomcat6:
最近常有数据库和网络设备升级和搬迁等事情,而各个应用都是基于数据库连接池做的,大部分都是基于C3P0,数据库或网络状况的变动都会导致客户端连接池中的connection失效,如何剔除这些blocked connection就和C3P0的各个配置息息相关。这两天,搭了个实验环境,根据C3P0的配置说明和实验结果,把C3P0关于这块的机制解析了一番。先看看我的结论: 1)C3P0容错和自动重连与以下配置参数有关: breakAfterAcquireFailure:true表示pool向数据库请求连接失败后标记整个pool为block并close,就算后端数据库恢复正常也不进行重连,客 ...
RPC(远程过程调用)是一种调用远程程序的协议,可以实现RPC的方案很多,比如RMI、Hessian,还有公司自己开发的dbo和TB-Remoting(实际上是基于Hessian和mina实现的),各种RPC的API差异很大,很多系统之间的远程接口调用总会就RPC的调用细节花费很多时间,因此设计一个实现细节对调用者透明的RPC统一框架是非常必要的。最近在学习公司平台产品dubbo时,就发现提供了一套封装多种实现的RPC设计,框架的大体类图如下所示: 服务的发布者和调用者都基于以上接口来完成RPC发布和调用,dubbo默认提供三种RPC具体实现方案,分别是RMI、Hessian和 ...
在项目过程中,通过观察,感觉做好PM这个角色需要做好以下几点: 对项目关键点的细节要足够了解 虽然PM可以不参与具体的编码工作,但并不等于不需要了解具体的实现细节,特别是一些影响项目成败的关键点。有些PM离技术越来越远,远到一些功能是怎么实现的、用的是什么技术、有哪些地方需要特别注意都不清楚,这会非常影响他的决策力和判断力,特别是在处理突发事件时会手足无措。在现阶段,特别是项目规模不大的情况下,感觉PM兼任架构师比较好。 对项目各个阶段的时间点要足够清晰 PM头脑得时刻有一个清晰的项目roadmap,并对每个时间点做好准备,比如在项目立项前,预估好工作量和资源分配,与其他团队协调 ...
web服务器并发策略无外乎从连接方式和IO策略上做文章了。 连接方式有短连接和长连接之分,并且也有单进程和多进程之分。 IO策略有阻塞和非阻塞之分,也有同步和异步之分。 以上这些概念不做过多解释,关键看看有哪些组合,其实常见的web服务器并发策略就是这些方式的组合。 一个进程处理一个连接,非阻塞I/O 这种策略下又分为: 1)主进程使用非阻塞啊accept()来接收连接,当建立连接后,主进程将任务分配给空闲的子进程来处理 2)所有子进程使用阻塞accept()来竞争接收连接,一旦一个子进程建立连接后,它将继续进行处理 其中,apache prefork采用方式2 ...
web服务器都提供长连接的方式,所谓长连接就是客户端一次请求完后,不关闭连接,保持一段时间的连接,下次此客户端再次请求时,不用创建新连接,复用所保持的连接即可。从理论上,长连接可以免去大量建立和关闭连接的资源消耗,但同时也有大量连接被占用的代价。因此可以初步判断长连接比短连接能带来更高的TPS,更低的CPU消耗,更少的IO,更高的内存占用,下面通过实战来验证。 服务器环境和测试工具可以见工具和环境准备篇 本次web服务器选用apache prefork模式,apache长短连接的选择可以配置httpd.conf里的KeepAlive选项,如: KeepAlive On:长连 ...
1.长期的任务,要尽早开始 一般来说,长期任务总是比较烦人,也有难度,而人心里总有逃避困难的趋势,最后的结果或者是最后干脆放弃,或者是剩下一点点时间手忙脚乱地赶工;我自己之前也有这样的教训,自欺欺人地 ...
前天遇到一款软件叫prezi,让我兴奋地晚上睡不着觉,用它可以很轻松地做出具有颠覆性的presentation简报,废话不多说,来看看我花了一天的功夫做的成品(正好明天有个分享需要做): http://prezi.com/rkjumcjeeo4w/teamforge-vs-alm-ali ...
1.浪潮之巅 推荐理由:帮助我们从程序员这样的小角色跳出来,以更宽视角重新认识我们从事的这个行当,只有吴军这样的大师才能写出这样的巨著 2.数学之美 推荐理由:吴军又一本让我痴迷的书,要是当年读了这本书,不至于枉费4年数学系的生涯 3.
最近在看《深入理解Java虚拟机》,书中给了几个例子,比较好的说明了几种OOM(OutOfMemory)产生的过程,大部分的程序员在写程序时不会太关注Java运行时数据区域的结构: 感觉有必要通过几个实在的例子来加深对这几个区域的了解 1)Java堆 所有对象的实例分配都在Java堆上分配内存,堆大小由-Xmx和-Xms来调节,sample如下所示: [java]view plaincopy
Global site tag (gtag.js) - Google Analytics