`
文章列表
在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验。 1. 服务器资源     服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。     ...
重构和单元测试是程序员的两大法宝,他们的作用就像空气和水对于人一样,平凡,不起眼,但是意义深重。预善事,必先利器,本文就介绍怎样在Eclipse中进行重构。   本文介绍了Eclipse支持的重构种类,它们的含义,以及 ...
transient:         把一个对象的表示转化为字节流的过程称为串行化serialization,从字节流中把对象重建出来称为反串行化deserialization,transient 为不应被串行化的数据提供了一个语言级的标记数据方法。         对象的序列化(serialization)非常影响I/O的性能,尽量少用。对不需序列化的类的域使用transient关键字,以减少序列化的数据量。 Volatile:      修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线 ...
ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲解 ClassLoader,希望能对不了解该机制的朋友起到一点点作用。 要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用的。我们知道,java程序可以动态加载类定义,而这个动态加载的机制就是通过ClassLoader来实现的,所以可想而知ClassLoader的重要性如何。 看到这里,可能有的朋友会想到一个问题,那就是既然ClassLoader是用来加载类到JVM中的,那么ClassLoader又是如何被 ...
解读广告生态圈 by 牛 国柱 目前,国内网络广告行业基于RTB协议构建广告生态圈的发展方向越来清晰,DSP、Trading Desk、Exchange、SSP等平台在数量上增加迅速,国内从事广告网络的广告公司、4A公司、第三方监测公司以及各大巨头纷 ...
请求的分发 请求首先到达DispatcherServlet,应用服务器会根据Web应用中web.xml文件定义的url映射将相应的请求分发到DispatcherServlet中 请求的处理 DispatcherServlet会查找相应的HandlerMapping接口的实现类,调用其中的方法:HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception,该方法会返回一个HandlerExecutionChain。返回的HandlerExecutionChain中包含了零个或者是多个Interceptor ...
  较为不错的一些,今天就整理一下公开放出来。   UI:   jquery.HooRay(哈哈,自己写的插件是必须有的)   jquery UI(官方的UI插件,功能很多,但我只用少数几个)   jQuery EasyUI   jQuery LigerUI   对话框:   artDialog(很欣赏这个插件,又强大又美观)   AsyncBox(制作者小吴同学也是博客园的人呢)   jBox(继续国人的插件,就是皮肤稍微做的弱了点,功能上一点不输前两者)   lhgDialog(作者似乎和我同龄,挺不错的)   表单验证:   jquery-validate(这个就 ...
基本知识 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间 ...
什么时候需要重写equals()?   我们知道每一个java类都继承自Object类,equals()是Object类中提供的方法之一。那么,让我们先来看看Object#equals()在Java中的原代码: public boolean equals(Object obj) {   return (this == obj); } 可以看出, ...

Spring Hadoop

      VMware最近宣布,他们已经开始提供Spring Hadoop,这个项目整合了Spring框架和Apache Hadoop平台。该项目提供了一种方便的机制,让我们可以通过Spring容器来配置、创建和执行各种各样的服务和工具,像MapReduce、Hive、Pig和Cascadin ...
     你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇;你所有曾经潇洒的随遇而安,同样也会随时间流逝而让你承担那些似乎命中已经注定的代价。在这个世界上,“唯一不可阻挡的是时间,它像一把利刃,无 ...
Java对象池示例(转自http://www.cnblogs.com/devinzhang/archive/2012/01/05/2313406.html)   对象池使用的基本思路是:将用过的对象保存起来,等下一次需要这种对象的时候,再拿出来重复使用,从而在一定程度上减少频繁创建对象所造成的开销。 并非所有对象都适合拿来池化――因为维护对象池也要造成一定开销。对生成时开销不大的对象进行池化,反而可能会出现“维护对象池的开销”大于“生成新对象的开销”,从而使性能降低的情况。但是对于生成时开销可观的对象,池化技术就是提高性能的有效策略了。下面是构建对象池的一个例子: public class ...
做项目时需要考虑的安全性问题 转:http://ningandjiao.iteye.com/blog/1848487 在开发一个项目的时候,大家经常会忽略项目的安全性问题,有很多的安全性问题其实就是一个意识的问题,解决起来并不复杂,但是因为这些疏忽,却可能会给我们的用户带来很大的风险。下面就列举一些在做项目的时候应该考虑的一些安全性问题。 密码保存 保存密码的第一准则是不能明文保存密码,之前CSDN密码泄露一事还记忆犹新。通常的做法是对密码进行不可逆加密,加密时不要使用MD5或者SHA系列的算法加密,现在对这两个算法的破解研究工作已经有了相当的进展。推荐使用bcrypt。 CI服务器 ...
1.系统概况图 图1.1 系统架构概况图 图1.2 较为完整的系统架构图 2.系统使用的主要技术 下列排名不分先后 2.1前端 JavaScript,html,css,silverlight,flash Jquery Javascript类库,用来简化html的操作,事件处理,动画,异步访问,用 ...

Spring--RMI

使用Spring对RMI的支持,可以非常容易地构建你的分布式应用。在服务端,可以通过Spring的org.springframework.remoting.rmi.RmiServiceExporter可以暴露你的服务;在客户端,通过org.springframework.remoting.rmi.RmiProxyFactoryBean可以使用服务端暴露的服务,非常方便。这种C/S模型的访问方式,可以屏蔽掉RMI本身的复杂性,如服务端Skeleton和客户端Stub等的处理细节,这些对于服务开发和服务使用的人员来说,都是透明的,无需过度关注,而集中精力开发你的商业逻辑。 下面通过一个例子,说明如何 ...
Global site tag (gtag.js) - Google Analytics