`
文章列表
    SIP5.0以后服务的请求量爆发性增长,因此也暴露了原来没有暴露出来的问题。由于过去一般一个新版本发布周期在一个月左右,因此如果是小的内存泄露,在一个月之内重新发布以后也就看不出任何问题。 因此这阵子除了优化Memcache客户端和SIP框架逻辑以外其他依赖部分以外,对于内存泄露的压力测试也开始实实在在的做起来。经过这次问题的定位和解决以后,大致觉得对于一个大用户量应用要放心的话,那么需要做这么几步。 1.       在GC输出的环境下,大压力下做多天的测试。(可以在 JAVA_OPTS增加-verbose:gc -XX:+PrintGC Details(这里要把GC和Detail ...
标准的Java DAO写法: 定义DAO接口; 编写DAO实现类; 在实现类中编写JDBC代码。 写JDBC代码非常枯燥而且容易出错,因此,增强的DAO可以用类似Spring的JdbcTemplate简化JDBC代码,不过仍然需要大量的ConnectionCallback,PreparedStatementCallbac等。 如果仅定义DAO接口,并利用Java 5 Annotation写好SQL语句,其余的工作全部由底层框架完成: 自动将接口方法的参数绑定到SQL的参数; 自动将ResultSet映射到Object; ... 现在,利用Express Persistence,完全可以实现 ...
1.Excution Plan     Excution Plan是最基本的调优概念,不管你的调优吹得如何天花乱堕,结果还是要由Excution plan来显示Oracle 最终用什么索引、按什么顺序连接各表,Full Table Scan还是Access by Rowid Index,瓶颈在什么地方。如果没有它的 ...
     Unix系统永远只会越来越多,开发人员就没必要特意学习它们的安装、配置和管理了,就全部交给集成人员吧。    但开发人员行走于Unix之间,依然有四样东西要熟练。     一、VI    虽然Unix上的文本编辑器已经越来越好用,但不在Console前面,网速也不够连XWindows的时候,还是要依赖VI。    回想VI的时代背景,发现VI对开发人员已经周到得离谱了,热键多到你双手不离键盘就能完成大半编辑工作。    建议自己制作一张自己认为有用,但又经常忘记的命令的sheet--参见附录A,拿出考试的力气把它背熟。     二、文本处理       开发人员在Unix下干得最多 ...
    Hadoop 是Google MapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同java程序员可以不考虑内存泄露一样, MapReduce的run-time系统会解决输入数据的分布细节,跨越机器集群的程序执行调度,处理机器的失效,并且管理机器之间的通讯请求。这样的模式允许程序员可以不需要有什么并发处理或者分布式系统的经验,就可以处理超大的分布式系统得资源。     一、概论    作为Hadoop程序员,他要做的事情就是:    1、定义Mapper,处理输入的Key-Value对,输出中间 ...
前言       本文档反映的是SpringSide 团队的编码规范,同时推荐所有使用SpringSide框架的开发人员遵循。     本文档基本遵循Sun's Coding Conventions,补充了其中没有说明或者有所改动的地方。    本文档随SpringSide的开发而不断 ...
一、核心竞争力架构设计的原理、模式与技术    未经培训的架构师们从试验与挫折中获得架构设计的技能,但其中大量的原理、知识、模式和技巧,都经历了一个重复发现的过程。    其实,各路神仙在这个领域虽则没有捣 ...
1.使用更多生命周期短的、小的、不改变指向(immutable)的对象,编写清晰的代码。     出于懒惰也好,朴素的节俭意识也好,我们都习惯对一个变量重用再重用。但是.... Java的垃圾收集器喜欢短生命周期的对象,对象如果在新 ...
一、相关概念 基本回收算法 引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark-Sweep)此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法需要暂停整个应用,同时,会产生内存碎片。 复制(Copying)此算法把内存空间划为两个相等的区域,每次只使用其中一个区域。垃圾回收时,遍历当前使用区域,把正在使用中的对象复制到另外一个区域中。 ...
1、堆(Heap) JVM管理的内存叫堆。在32Bit操作系统上有1.5G-2G的限制,而64Bit的就没有。 JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。 JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G。 默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制,可以由-XX:MinHeapFreeRatio=指定。 默认空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制,可以由-XX:MaxHeapFreeRatio=指定。 服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小,所以上面 ...
1.首先我会检查一下服务器配置,重新配置一次服务器安全,可以参考 http://hi.baidu.com/zzxap/blog/item/18180000ff921516738b6564.html 2.其次,用麦咖啡自定义策略,即使网站程序有漏洞,别人也很难在文件上写入代码了。 参考自定义策略,有了这个策略,再烂的程序,你也无法写入我的文件 http://hi.baidu.com/zzxap/blog/item/efe093a7e0f2c190d04358ef.html 3.可以用网络超级巡警删除被注入的JS代码。 参考 http://hi.baidu.com/anlish/blog/item/ ...
Google Web Toolkit (GWT)是一个开源的工具集,可以让Web开发人员用Java语言创建和维护复杂的JavaScript前端应用程序。它发布在Apache License version 2.0下。GWT的目标是:使开发人员可以使用现有的Java工具来在任何浏览器上构建AJAX,从而从根本上改善用户使用网络的体验。 谷歌今年晚些时候将推出GWT 2.0。虽然GWT的开发进程比较慢,然而这几年来一直稳步提升。让我们回眸GTW走过的岁月,并展望下它的未来: 先看看它的历史 * GWT 1.0 :2006,5月17日 * GWT 1.1:2006年8月11日 * GWT 1 ...
对于网站设计师来讲,网站的访问速度甚至比内容还重要。就算网站内容很优秀,但如果访问速度很慢,相信也不会有多少人耐心等待。下面就介绍一些我试用过的网站减肥方法,效果还不错,文章插图中的数字就是我博客减肥前后数据对比图,也希望在将来设计网站的时候能多多注意以下几项。       1:使用Gzip压缩文档:Gzip编码是用来改进网页性能的方法,不仅可以减小存储空间,还可以减少传输所需要的时间。将网站中的文件使用Gzip压缩后,可以显著地增加网页加载速度,同时也可以降低网站的带宽流量消耗。(使用此方法会加重服务器负担,因为需要修改服务器配置,对于虚拟主机用户来讲不可操作。)     2:CSS压缩减 ...
上班族看股票的好去处 http://www.3geye.com/stock/index.html   http://www.3geye.com/stock/index.html   http://www.3geye.com/stock/index.html
静态html文件js读取url参数 一、字符串分割分析法。   这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET 函数:<Script language="javascript">function GetRequest() {   var url = location.search; //获取url中"?"符后的字串   var theRequest = new Object();   if (url.indexOf("?&q ...
Global site tag (gtag.js) - Google Analytics