博文

Windows下多个tomcat服务独占JVM启动的设置方法(2012-01-30 23:44:00)

摘要:时间:2012-01-15 浏览:15次 来源:本站 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,目前已经单独作为项目进行维护,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是7.0,支持Servlet3.0和JSP2.2规范,以下是7.0的特性说明: Apache Tomcat 7.x is the current focus of development. It builds upon the improvements made in Tomcat 6.0.x and implements the Servlet 3.0, JSP 2.2 and EL 2.2 specifications. In addition to that, it includes the following improvements: Web application memory leak detection and prevention(内存泄露的检测和预防) Improved security for the Manager and Host Manager applications(加强了应用管理安全) Generic CSRF protection(Cross-site request forgery跨站请求伪造的防护机制) Support for including external content directly in a web application(支持跨web应......

阅读全文(1940) | 评论:0

架设大型在线订票系统的一种思路(2012-01-30 23:42:00)

摘要:通过多站点分摊服务压力,采用多队列预定后付款的服务机制,静态数据缓存,和实时动态数据弱延迟大内存缓存操作来提高订票系统的整体系能,现在吧一些思路粗略设计后放在网上大家相互交流. 在线订票系统的一些特点:可使用数量需要时时更新,但允许一个时间延迟更新;时间空间上的集中并发导致数据查询和更新性能的下降。 更多文章见happy漫步者BLOG......

阅读全文(1349) | 评论:0

编程语言性能比较 ubuntu one core(2011-04-03 10:28:00)

摘要:......

阅读全文(3197) | 评论:0

JSP/PHP/JSV8-ENGINE亿次累加测试效率比较(2010-08-21 14:30:00)

摘要:jsp运行环境 tomcat6.0.26, php5.2.13,ZendOpt3,v8cgi,与apache2.2.14整合 默认配置 Apache 整合后启动截图 : 各项测试结果见图: 需要说明一点的是JSP运行的JVM参数设置为 -server 启用服务器端JVM 如果不设置则默认为客户端JVM 代码如下: JSP: <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" buffer="2kb" session="false" autoFlush="true"%> <% long t = System.currentTimeMillis(); long s=0; for(int n=0; n<1000000000; n++){ s++; } out.print("Apache Tomcat 6.0.26/Java 1.6 Server Mode/ 10亿次累加测试<br/>t="); out.print(System.currentTimeMillis()-t); out.print("ms<br/>.s="); out.print(s); %> PHP: <?php $t1 = time(); $s = 0; $n=0; while($n<100000000){ $s++; $n++; } $t2 = time() - $t1; echo "Hypertext Preprocessor 1亿次累加测试<br/>". $t2 ."s<br/>s=" . $s; ?> jsV8CGI: function test(){ var s=0; var t1 = (new Date()).getTime(); for(var i=0; i<100000000; i++){ s++; } var t2 = (new Date()).getTime() -t1; response.write("V8 JS SERVER ENGINE<br/>"); resp......

阅读全文(3153) | 评论:0

2010年4月TIOBE社区编程语言排名 C语言重返王座(2010-04-10 22:01:00)

摘要:TIOBE Programming Community Index for April 2010April Headline: C programming language back at number 1 position! C语言经过4年多的发展,在2010年4月重返排名首位,其所得比率在之前10年内徘徊于15%到20%之间,C的前进不是因为其比率大幅上升,而是Java语言长期处于下降的趋势,归咎于在jvm上运行了其他的语言(如ruby python javafxscript 甚至php都可以用jvm来实现),比如JAVAFXScript 也逼近前20名. After more than 4 years C is back at position number 1 in the TIOBE index. The scores for C have been pretty constant through the years, varying between the 15% and 20% market share for almost 10 years. So the main reason for C's number 1 position is not C's uprise, but the decline of its competitor Java. Java has a long-term downward trend. It is losing ground to other languages running on the JVM. An example of such a language is JavaFX script that is now approaching the top 20. TIOBE Programming Community给出当今较为受欢迎的编程语言排名结果及发展趋势.指数依据范围在技术性工程师,路线和第三方供营商的全世界可及性得出.流行的搜索引擎如GOOGLE,MSN,YAHOO! 和 YOUTUBE用于计算得出指数评级,TIOBE调查与多数代码行被写的最佳的编程语言或最好的语言无关.该指数可以用来检查是否你的编程技能,仍然是直至目前为止,或作出的战略决策,什么编......

阅读全文(3541) | 评论:1

Java字符串连接效率比较之String.concat()连接符(2010-04-06 10:50:00)

摘要:SUN JDK6环境,测试String累加测试,以便比较字符串连接的效率问题class StrConcatTest{public static void main(String[] args) {long t1 = System.currentTimeMillis();long i=0;long l=20000;String tmp ="测试字d";String ret = "";StringBuilder sb = new StringBuilder();while(i<l){// 1. ret+=tmp;// 2. ret=ret.concat(tmp);//3. sb.append(tmp);i++;}long t2 = System.currentTimeMillis();System.out.println(ret.length()); // 3. System.out.println(sb.toString().length());System.out.println(t2-t1);}}结果如下:(命令行第二行为执行毫秒数)1.直接用'+'连接字符串2.用String.concat()方法连接字符串3.用StringBuilder类方法追加字符串http://www.txdnet.cn/essay/view.jsp?tid=1270481150604&cid=2......

阅读全文(3341) | 评论:0

PHP/Ruby/Python的一些总结(2010-02-11 17:05:00)

摘要:转发论坛上Robbin对PHP的一些总结,供参考! 引用 PHP和Python/Ruby的运行机制有一个本质区别:PHP是每次HTTP请求过来以后,初始化全部资源(例如创建数据库链接、加载系统类库,创建缓存等等),处理完毕,释放全部资源,这不像Python/Ruby之类带有GC的脚本语言,Python/Ruby是初次启动的时候初始化资源,随后的请求就不必再次初始化资源了。 这种机制的差异带来的区别就是: 1、PHP极难出现严重的内存泄露问题,随便你代码写的多烂,反正每个请求一执行完毕,所有资源统统释放光。而Python/Ruby则需要依赖GC来回收内存,因此稍有不慎,还是会出现GC无法释放的内存泄露问题。 2、PHP每次请求都要初始化资源,这个开销非常大。所以尽管PHP解析器本身的运行速度是极快的,但是一旦使用复杂的PHP框架,那么由于需要每次请求的时候初始化整个框架,性能的下降非常厉害,你用一个很复杂的PHP框架的结果就是整体性能被Ruby远远甩开。这也是为什么PHP社区这么多年来,并不怎么倾向于使用框架的原因之一。 3、由于PHP这种每请求初始化资源的机制,也造成了PHP添加跨请求的高级特性相当困难,这是PHP本身一个很大的限制,但是反过来说,正是这种限制使得PHP始终保持在一个比较简单的web语言上面,而正是这一点才是PHP得以成为互联网第一Web编程语言的原因,因此也未必就不好。 总之,PHP和Ruby的差异还是很大的,不适合放在一起比较,其实应该比较的是Ruby和Python才对。 所以我觉得Rails这种框架性做法被PHP跟风以后,其实是把PHP带上了邪路,所以不如说是Rails在误导PHP的发展。顺便多说一句:DHH在编写basecamp之前,一直是用PHP的,并且自己还写了一个PHP的快速开发框架,他改用ruby以后,把当初自己写的PHP框架也移植过来了,这个框架实际上是Rails最初的原型。那么为什么DHH当初不直接基于PHP做Rails呢?非要改用ruby以后,才发表rails呢?你看看PHP这种运行机制就知道了,PHP做复杂的web开发框架并不是一条光明的道路。 Robbin的总结对PHP长短各有陈辞,不错。 末了,还是要解决选择谁的问题,我想,结论绝对不是抛弃PHP. 是否选择PHP,是否选择PHP Fr......

阅读全文(3998) | 评论:0

2010年1月TIOBE编程语言排名统计 Google编程语言Go上榜前20排名(2010-02-02 15:34:00)

摘要:January Headline: Google's Go is the TIOBE Programming Language of 2009! Apple's language Objective-C scored a positive trend of 1.24% in one year's time. Objective-c在过去一年的时间内赢得了1.24个百分点. PHP在去年赢得了1.19个百分点. Go语言在官方宣布发布后的时间内迅速赢得1.25个百分点. 下面是Go语言编写的代码举例: package main import "fmt" func main() {fmt.Printf("Hello, 世界\n")} http://www.txdnet.cn/essay/view.jsp?tid=1265094793049&cid=2......

阅读全文(2293) | 评论:0

甲骨文公布MySQL和Sun服务器发展计划(2010-01-29 19:58:00)

摘要:本周三,甲骨文发布了对收购Sun后的产品承诺.甲骨文表示,将积极推进MySQL开源数据库的发展,而不是任其自生自灭.同时甲骨文宣布了Sun硬件和其它软件的发展计划. 据甲骨文公司首席社区架构师Edward Screven介绍,甲骨文还计划继续投资和维持OpenOffice.org的独立性,同时还将推出一个单独的类似于谷歌Docs的云生产力套件.目前,Sun的OpenOffice一直是微软Office的有力挑战者. 此前,由于和甲骨文的商用数据库产品冲突,许多用户担心甲骨文将逐渐取消MySQL.因为此前MySQL凭借开源的思想和理念在数据库领域谋得了一席之地,并在一定程度上构成了对甲骨文的威胁.将MySQL收至旗下后,用户最担心的是甲骨文将其"冷冻"起来. 并且,甲骨文一向喜欢融合被收购公司的产品和技术,此前就对People Soft的收购就是一个比较典型的例子,尽管甲骨文保留了People Soft(仁科)的商标,但对这家公司知之甚少的企业很难再感受到仁科存在.这也造成了前期欧盟迟迟不通过甲骨文收购Sun交易审查的主要原因. 为此,甲骨文不得不做出有限的让步,2009年12月,甲骨文做出了10项具体承诺以此来支持MySQL的后续发展.甲骨文表示,未来3年内至少投资7200万美元用于开发MySQL,以及继续发布这款开源软件的最新技术研发成果.在未来5年内允许其它技术厂商继续在各自产品中授权使用MySQL. 现在,欧盟通过并购审查后,甲骨文方面表示将继续MySQL的独立的销售队伍,同时提高MySQL的代码,支持和与其他Oracle应用程序的兼容性.Screven将在开源软件部门负责MySQL,OpenOffice.org和其他开源开源应用. 在周三举行的网络直播发布会上,Screven和其他甲骨文的官员表示,甲骨文收购Sun的许多一流技术后,将使合并后的公司提供"完整,开放,集成"的系统."甲骨文和Sun合并后对IBM是一个巨大的挑战.此外,合并后的甲骨文-Sun还是企业开源技术的最大支持者."Screven这样评价道. 甲骨文还在周三的发布会上公布了其它一些软件及技术的发展规划. Java:甲骨文计划"扩大和加强Java的范围",同时实现Java平台的整合和简化.具体来说,就是推出针对桌面电脑的Java标准版客户端7,同时推出移动版本的Java ME,......

阅读全文(1729) | 评论:0

Mysql5.1.42 GA发布(2010-01-11 00:22:00)

摘要:MySQL 5.1 是 MySQL 数据库目前发布的最新的稳定版本(5.5是beta状态,6.0是alpha状态). 该版本增加了对下面几个平台的支持: Mac OS X 10.6 x86/x64 HP-UX 11.31 IA64 SLES 11 x86/x64 InnoDB 插件升级到 1.0.6 版本,另外通过对查询缓存的碎片优化提升了性能,更多详细的内容请看这里.下载地址:http://dev.mysql.com/downloads/mysql/5.1.html MYSQL当前已有800万次的下载量,丝毫没有受oracle-sun收购案的影响. MySQL Enterprise Monitor MySQL 5.1低廉的总成本与其高性能,高缩放性和优异的企业级特性的结合,使它成为许多大型企业和Web公司的最合适的数据库解决方案. 官方称全球MYSQL开发者中使用JAVA开发应用超过50%   http://www.txdnet.cn/search/?kw=mysql&scope=0......

阅读全文(1752) | 评论:0