`
lgx522
  • 浏览: 126101 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

硬件越跑越快,软件越陷越慢

    博客分类:
  • Java
 
阅读更多
近日总算有点空闲,走马观花测试了一些技术,包括Grails、Seam、AOM、Python、ZendFramework、CakePHP、Flex、WPF等等,回到JE看了一些讨论,忍不住又要放点黄腔了。

自从多核CPU成为PC标配以后,硬件又上了好大一个台阶。到朋友家看了一下“孤岛危机”,实在是超级惊艳。单位上也终于耗上了一台双核、2G内存,这下跑什么IDE和AppServer都不用去小歇片刻了,真是感谢硬件产商们的努力。

某天看了一篇文章,地址记不清了,却道出了应用程序的本质:“不过就是在数据库里读读写写”,这下便像吃了苍蝇般不爽了起来。搞腾这个行当转眼也七、八年了,回头一想,的确是该反省反省了。

好几年前,更换电脑似乎总是为游戏而换。越来越清晰、越来越眩目、越来越震撼,且不论游戏好不好玩,单声光效果的提高都物有所值。那时候的应用程序其实要求是不高的,VB、Delphi、ASP、PHP这些老革命的IDE和作品,至今可以在怀旧的时候,拿到奔腾166的老机器上去跑一跑,丝毫不见慢。所以那时候更换电脑是与App无关了。

Java引领的虚拟机时代让笔者一度迷了五六年,曾经笔者一度天真地以为只要全面进入虚拟机和中间件时代就可以解决企业应用软件的种种问题,达到高度的业务逻辑重用、高度的异构集成、高度的安全性与伸缩性。这其间折腾的技术、框架加起来怎么也有几十种了,时光飞逝,转眼三十老几了,回头一想,当初的信仰很傻很天真,到头来“不过就是在数据库里读读写写”,最可笑的不过是越来越复杂、越来越慢。看来这些年是陪Sun、IBM、Microsoft以及开源领域的大牛们玩过去了。

由于是在单位上混,出于饭碗的需要,几年来不得不参加了当初以为“不切实际”的软考,一直混到系统分析师。回头看下来,这些个“不切实际”的学究体系其实反倒有些有用处。硬着头皮大体上啃了一遍学究知识,最后才搞明白程序要快要稳定,还是要搞清楚CPU、内存和硬盘;而所谓的可靠性、重用性、扩展性、...XX性,不是靠什么具体的软件技术,而是在于规范的管理与审慎的规划。

缘木求鱼,这就是国内软件业超级混乱的根源。根子上在于我们想偷懒的惰性,明明是我们该自己去思考、去设计、去解决的问题,我们不断地迷信可以依靠“大腕”、“大牛”们来解决。其实连伟大的党都承认了,“没有放之四海而皆准的真理”,何况是软件这种由人造、由人用的事物。结果如何,“大腕”、“大牛”们出于各种各样的目的,不断制造混乱。而我们,正是那随波逐流混水中的泥。

虚拟机时代到来了,动态语言时代到来了,SOA时代到来了,XXX时代到来了,无数吹鼓手吹起了喇叭,震耳欲聋。大家昏头昏脑跳进大大小小的池塘,一边陷下去,一边互相嘲笑、互相鄙视、互相谩骂。好一个热闹的软件大超市。

吹嘘有何用,迷信有何用?最终,还是要抓住硬件这根救人的稻草。
分享到:
评论
77 楼 neora 2008-05-07  
robbin 写道


这是因为FastCGI是持续运行的,但是跑FastCGI的PHP/Ruby解析器却不是为这种应用定制出来的,PHP没有GC,Ruby虽然有,但是也差强人意,和JVM的GC差出好几条街,所以即使你应用程序没有问题,也很难保证FastCGI进程绝对不会有内存泄漏。根据我这么多年运营FastCGI的经验来看,你无法避免FastCGI进程的缓慢内存泄漏问题,所以必须定期重起来释放内存。

所以综合而言,其实最稳定的还是Java。当然这种东西也看谁去用,在高手的手里,FastCGI一样跑的很稳定,很少需要重起,在菜鸟手里Tomcat也可以跑得很烂,动不动宕机。



嘎嘎 ,Apache 1.3.x + CGI(纯)最稳。即便用C来写,一个free()都不给,内存malloc了通通不管也没事!反正一瞬间运行完了进程就掉了。1byte内存都不泄露。
76 楼 balan 2008-05-07  
lgx522 写道
balan 写道
很多软件新技术的出现,初衷并不是运行的更快,而是开发的更快,响应需求变化更快,扩展和维护更快。


做软件,最终目的是要开发得快、维护得快、运行得快。做出来的系统费了比别人多几倍的时间,硬件费了几倍的钱,最后还比别人跑得慢,维护起来要折腾好几个弯弯,再多的大词也只能自欺欺人。
本人其实正是这些大词的迷信者,折腾了几年才知道是怎么回事。

说点闲话,JE的很多牛人为何都倒戈RoR,这已经是耐人寻味了。
本人RoR实践了半年,说句实话,除了性能,什么都好。但这一缺点,对于以写为主的企业应用基本上可以毙了。

运行速度不是衡量技术进步与否的唯一标准。
现在技术进步有个明显特征就是先解决关心的问题,再优化速度。
EXT框架不是要提升运行速度而产生的,Ruby也不是,Java更不是。
Java对于C++等前辈,从以下意义上说是一种进步:
1,在基于网络的业务领域,简化了开发,降低了门槛
2,基于对象的设计,为复杂应用提供了扩展和构建的基础
3,面向接口的理念,为软件产业工人分工、系统之间交互提供了定义支持,适应软件工业化需求
4,对开源软件和自由软件的启发、鼓励和支持,促进Java、Eclipse等生态链的成长
5,虚拟机技术的产业化应用,挑战技术垄断,形成主流的业务处理平台
总之,Java的初衷不是要挑战C++的速度,而是要适应时代的新需求;Ruby不是要取代Java,而是要填补一些重要的空白。
运行速度?放心吧,以Java为例,虚拟机从来没有停止过改进。
硬件越跑越快?的确如此,这正是硬件厂商的职责啊,否则凭什么给他们钱?
软件越跑越慢?Java技术越跑越慢吗?Hibernate3.0比2.0慢吗?Spring2.0比1.0慢吗?Flex3要比Flex2慢吗
你看见的仅仅是新生的技术,运行速度暂时存在不足之处吧。或者是有人使用不当导致速度低下吧。

另外,软件开发不是“在数据库里读读写写”,数据库是一种数据引擎,还有其他各种引擎服务,如地图引擎、搜索引擎、业务引擎、还有应用平台引擎等。软件开发人员会面对越来越多的无状态服务引擎,不仅仅是数据库。不赞成把业务逻辑放到数据库端,数据库最好是无业务逻辑的,不影响第三方平等使用的。
75 楼 Lxh 2008-05-07  
别的我都没用过
但是tomcat是很稳定的,跑在windows2003下
真的很稳定
低负载跑1年也没见有问题
高负载下每个小时10万独立ip的访问时也很稳定,当然持续时间没那么长
ztka 写道
icewubin 写道
ztka 写道
你告诉我你的java跑在什么app上?tomcat,jboss?weblogic?或者你向google学习,自己开发app?

用Tomcat + APR好了,企业应用客户要求什么就给买什么,我们不管的,也有用jboss的,数据库也是如此。


你应该比较一下tomcat+apr和lighhttp或者apache+fastcgi的稳定性,看看如何。一个可以保证你连续几个月不当机。tomcat+apr。。。呵呵。

74 楼 lgx522 2008-05-07  
ozzzzzz 写道
因为我知道你不是弱智,所以我才说几句。要是我觉得你是弱智,我才懒得发言。
再说啥叫实际应用啊。你要是有实际应用会觉得健壮性和稳定性,可靠性和扩展性会依靠管理和规划?这个玩笑开的太大了吧。稍微有点开发经验的也明白,这些东西不在实际中去整,根本就是纸上谈兵。
你一个三十几岁的人还在这些东西搞不清爽,你说我咋说你。你要说觉得我是人身攻击你,那我就就此打住。不过说实在的如果你要是这样看我的发言,我对你的看法倒是确实要改一改了。


看来你是误解我的说法了,或者说我的说法在文字上容易产生岐义吧,那就解释一下。
这里说的“管理”,指的是组织的管理,“规范的管理才产生好的信息系统”,这一点相信是大家的共识了吧。这个问题当前在国内尤其严重,国内大多数组织的管理是极度不规范的,朝令夕改,拍脑袋作决策的事情比比皆是。在这种环境下,无论应用什么具体技术,所谓的健壮性、稳定性、可靠性和扩展性等等都是很难保证的。
这里说的“规划”,指的是要认真地分析、设计系统,这就是个难点了。如何深入准确地理解各类组织的业务,具有一定的前瞻性,转化为相应的技术实现,并最终由信息系统产生足够好的效益,要做到这一点相当不容易。

也就是说,不论你是用C、VB,还是PHP、Java、C#。也不论是用瀑布方式、或者OO、敏捷、原型,都是仅供参考。最后还是要深入实际,认真思考。程序员刚开初的时候往往过于注重具体技术,沟通、组织能力有限,难以做出足够好用、足够有价值的系统。
而本文的主题,是要说明盲目跟风是相当不明智的。尤其在当前软件“越来越复杂、越来越慢”的产业大环境下。
73 楼 fujohnwang 2008-05-07  
ozzzzzz 写道
总结即不懂管理,也对技术失去了热情的一种顾影自怜的说法。
其实这样的人我见过的多了。他们今天读着MSE,觉得无聊和空虚,说:啥我也学不到,就是来混一张纸。去搞软考,说一点用处也没有,就是一种混的方法。过了几年说,其实MSE还是学了点东西的。对软考说,这些个“不切实际”的学究体系其实反倒有些有用处。其实只要稍微有点脑子,也喜欢动脑子的人就都明白,现在的教育和考证究竟是咋回事。也会明白那些知识之所以过几年才能觉得有用,恰恰就是说明这个系统,这个教的方式,以及这个知识组织的形成存在重要的问题。
而动不动就又说要以硬件为中心,其实归根结底是这些人最基本的知识系统有问题,或者说他考的软考白考了,读的MSE白读了。当然企业应用最终也就是数据库读读读,写写写。但是是不是说只要你会读读读,就可以去写写写了,然后就可以企业应用了。这样的想法是不是太幼稚了,幼稚到了只有幼儿园的程度呢?
而说实在的,在国内天天叫不要迷信,不要吹嘘的人未必不是自己也在迷信,也在吹嘘。
为什么要出现虚拟机,为什么要尽量做到软件与硬件无关,这样的问题难道还需要再次拿出来科普科普吗?动不动就企业应用,难道不知道这些都是因为随着企业应用发展,带来的必然趋势吗?
还啥硬着头皮大体上啃了一遍学究知识,最后才搞明白程序要快要稳定,还是要搞清楚CPU、内存和硬盘,你去看看现在的云计算,告诉我cpu在啥地方,内存在啥地方,你的硬盘又在啥地方。去看看新的亚马逊的平台,google平台在搞啥东西。
更加奇怪的是还说,而所谓的可靠性、重用性、扩展性、...XX性,不是靠什么具体的软件技术,而是在于规范的管理与审慎的规划。貌似规范和规划是一种超脱于技术独立存在的东西,就是忘记了如果不于具体的技术结合规则就只能停留在纸面上。再审慎的规划,如果不以技术数据和技术方法相结合,也仅仅就是一种吹嘘和混闹。

wk,太帅了,哈哈
看了这么一堆,就这篇话听着爽!!!
72 楼 ztka 2008-05-07  
robbin 写道
liusong1111 写道
buaawhl 写道
liusong1111 写道

ztka,能比较下php和rails的ActiveRecord吗?对这个话题比较感兴趣。也许,应该单独开个贴。


那就开个贴吧.
PHP ActiveRecord, sounds cool.
应该也有method missing之类的机制简化开发.


貌似坛子上用过php和rails的人很少,没法玩。


PHP的类Rails框架有好几个,其ORM也是仿ActiveRecord的。CakePHP是其中的佼佼者,不过和Rails相比,还有非常巨大的差距。

http://www.cakephp.org/

贴一个CakePHP的ORM例子:

http://www.1x3x.net/cakephp/model.html




fleaphp也可以,虽然我本人不赞同用php还要使用这种类框架的做法。
71 楼 icewubin 2008-05-07  
zhangdaiping 写道
现在硬件比软件发展的快

我有个提议,某个公司和nVidia合作,直接把企业计算转嫁到显卡上,虽然目前nVidia在努力,但是进展太慢。
民用级的显卡价格在企业领域来看真是便宜啊。或者说同等计算力的硬件提供的成本很低啊。
70 楼 robbin 2008-05-07  
liusong1111 写道
buaawhl 写道
liusong1111 写道

ztka,能比较下php和rails的ActiveRecord吗?对这个话题比较感兴趣。也许,应该单独开个贴。


那就开个贴吧.
PHP ActiveRecord, sounds cool.
应该也有method missing之类的机制简化开发.


貌似坛子上用过php和rails的人很少,没法玩。


PHP的类Rails框架有好几个,其ORM也是仿ActiveRecord的。CakePHP是其中的佼佼者,不过和Rails相比,还有非常巨大的差距。

http://www.cakephp.org/

贴一个CakePHP的ORM例子:

http://www.1x3x.net/cakephp/model.html


69 楼 eyeqq 2008-05-07  
lgx522 写道

拐一个弯就慢一点,拐好几个弯就慢得太多。倒不如简单直接,开发、运行和维护都才够快。
说真的,最近是越来越认同Oracle大牛们把业务逻辑放进存储过程的言论了,不仅仅是高效率,同时也是现实可行的高重用。好在MySQL5也可以用存储进程了,大家大可试试这种模式。


我是小鸟,不过对楼主说的这点还是非常恐惧的。“把业务放入存储过程中”
我们项目有一个模块,就是按这种方案去做的。SP写得非常巨大非常强大。但是现在我们遇到了一下很恶心的问题,我们为了满足新用户的需求要对系统做二次开发…………
没人想去负责这一块,因为改起来实在是太恶心了!
68 楼 liusong1111 2008-05-07  
这些框架的出现,都表达了作者的预期和诉求,都分享了作者对特定问题的解决方案。而使用者的选择,也不能简单的评估成盲从,而是当时在现有掌握的设施上进行的取舍。

以前某些应用过度考虑了重用性、可扩展性,实际是当时对未来发展的错误估计,以及选用框架在实现上的失误。
如果前几年就人们就能准确的知道现在CPU的发展程度、网络的发展程度、内存达到的程度,能准确的知道现在的业务模型、运营模型、商业发展方向,就不会有那么多现在看起来方向彻底错误的东西了,也许ejb就直接是现在ejb3的样子,borland会活得好一点,vista不会像现在这么慢。。。
67 楼 zhangdaiping 2008-05-07  
现在硬件比软件发展的快
66 楼 liusong1111 2008-05-07  
buaawhl 写道
liusong1111 写道

ztka,能比较下php和rails的ActiveRecord吗?对这个话题比较感兴趣。也许,应该单独开个贴。


那就开个贴吧.
PHP ActiveRecord, sounds cool.
应该也有method missing之类的机制简化开发.


貌似坛子上用过php和rails的人很少,没法玩。
65 楼 icewubin 2008-05-07  
ztka 写道
icewubin 写道
ztka 写道
icewubin 写道
ztka 写道
你告诉我你的java跑在什么app上?tomcat,jboss?weblogic?或者你向google学习,自己开发app?

用Tomcat + APR好了,企业应用客户要求什么就给买什么,我们不管的,也有用jboss的,数据库也是如此。


你应该比较一下tomcat+apr和lighhttp或者apache+fastcgi的稳定性,看看如何。一个可以保证你连续几个月不当机。tomcat+apr。。。呵呵。


那你拿着你的方案去竞标试试看,呵呵看看你能拿下标么?

不好意思,我又说了非技术因素,这个算营销成本吧。


因为php没法忽悠,简单的道理,看看现状就知道了,这些人去忽悠facebook,youtube,wiki看看,是否可以用java方案。

taobao和阿里巴巴、ebay还需要忽悠么?

关于之前你说的tomcat当机的问题,未必是由tomcat造成的吧,刚刚我打了个电话问我另一个同学,问他的一个tomcat网站,虽然负载不高,但是也没出现你说的当机问题啊。

抛开商业因素不谈,你自己说说看PHP本身为什么不能忽悠,或者说PHP本身的核心竞争力在哪里?
64 楼 robbin 2008-05-07  
ztka 写道
icewubin 写道
ztka 写道
你告诉我你的java跑在什么app上?tomcat,jboss?weblogic?或者你向google学习,自己开发app?

用Tomcat + APR好了,企业应用客户要求什么就给买什么,我们不管的,也有用jboss的,数据库也是如此。


你应该比较一下tomcat+apr和lighhttp或者apache+fastcgi的稳定性,看看如何。一个可以保证你连续几个月不当机。tomcat+apr。。。呵呵。


这个问题我是专家,让我来告诉你吧:

apache+fastcgi的稳定性最差,可以说奇差无比!

tomcat的稳定性相当好,只要Java程序没有内存泄漏问题,JVM参数调整适当,又不需要更新应用程序的话,几个月不重起tomcat是很正常的事情。

lighttpd+fastcgi稳定性相当不错,但需要定期重起,起码你一周得重起一次。

这是因为FastCGI是持续运行的,但是跑FastCGI的PHP/Ruby解析器却不是为这种应用定制出来的,PHP没有GC,Ruby虽然有,但是也差强人意,和JVM的GC差出好几条街,所以即使你应用程序没有问题,也很难保证FastCGI进程绝对不会有内存泄漏。根据我这么多年运营FastCGI的经验来看,你无法避免FastCGI进程的缓慢内存泄漏问题,所以必须定期重起来释放内存。

所以综合而言,其实最稳定的还是Java。当然这种东西也看谁去用,在高手的手里,FastCGI一样跑的很稳定,很少需要重起,在菜鸟手里Tomcat也可以跑得很烂,动不动宕机。

63 楼 ozzzzzz 2008-05-07  
lgx522 写道
ozzzzzz 写道
总结即不懂管理,也对技术失去了热情的一种顾影自怜的说法。
其实这样的人我见过的多了。他们今天读着MSE,觉得无聊和空虚,说:啥我也学不到,就是来混一张纸。去搞软考,说一点用处也没有,就是一种混的方法。过了几年说,其实MSE还是学了点东西的。对软考说,这些个“不切实际”的学究体系其实反倒有些有用处。其实只要稍微有点脑子,也喜欢动脑子的人就都明白,现在的教育和考证究竟是咋回事。也会明白那些知识之所以过几年才能觉得有用,恰恰就是说明这个系统,这个教的方式,以及这个知识组织的形成存在重要的问题。
而动不动就又说要以硬件为中心,其实归根结底是这些人最基本的知识系统有问题,或者说他考的软考白考了,读的MSE白读了。当然企业应用最终也就是数据库读读读,写写写。但是是不是说只要你会读读读,就可以去写写写了,然后就可以企业应用了。这样的想法是不是太幼稚了,幼稚到了只有幼儿园的程度呢?
而说实在的,在国内天天叫不要迷信,不要吹嘘的人未必不是自己也在迷信,也在吹嘘。
为什么要出现虚拟机,为什么要尽量做到软件与硬件无关,这样的问题难道还需要再次拿出来科普科普吗?动不动就企业应用,难道不知道这些都是因为随着企业应用发展,带来的必然趋势吗?
还啥硬着头皮大体上啃了一遍学究知识,最后才搞明白程序要快要稳定,还是要搞清楚CPU、内存和硬盘,你去看看现在的云计算,告诉我cpu在啥地方,内存在啥地方,你的硬盘又在啥地方。去看看新的亚马逊的平台,google平台在搞啥东西。
更加奇怪的是还说,而所谓的可靠性、重用性、扩展性、...XX性,不是靠什么具体的软件技术,而是在于规范的管理与审慎的规划。貌似规范和规划是一种超脱于技术独立存在的东西,就是忘记了如果不于具体的技术结合规则就只能停留在纸面上。再审慎的规划,如果不以技术数据和技术方法相结合,也仅仅就是一种吹嘘和混闹。


o6z随时摆出一付权威的架势不要紧,老是把别人当弱智来教训就太不厚道了。
都是做实际应用,谈点实践经验。人身攻击的事情,就此打住,不再多说。

因为我知道你不是弱智,所以我才说几句。要是我觉得你是弱智,我才懒得发言。
再说啥叫实际应用啊。你要是有实际应用会觉得健壮性和稳定性,可靠性和扩展性会依靠管理和规划?这个玩笑开的太大了吧。稍微有点开发经验的也明白,这些东西不在实际中去整,根本就是纸上谈兵。
你一个三十几岁的人还在这些东西搞不清爽,你说我咋说你。你要说觉得我是人身攻击你,那我就就此打住。不过说实在的如果你要是这样看我的发言,我对你的看法倒是确实要改一改了。
62 楼 icewubin 2008-05-07  
ztka 写道
核心的算法也不是java,php,而是C。

那你怎么不用C来做网站,或者使用C做企业应用呢?CGI啊。
61 楼 ztka 2008-05-07  
核心的算法也不是java,php,而是C。
60 楼 lgx522 2008-05-07  
ozzzzzz 写道
总结即不懂管理,也对技术失去了热情的一种顾影自怜的说法。
其实这样的人我见过的多了。他们今天读着MSE,觉得无聊和空虚,说:啥我也学不到,就是来混一张纸。去搞软考,说一点用处也没有,就是一种混的方法。过了几年说,其实MSE还是学了点东西的。对软考说,这些个“不切实际”的学究体系其实反倒有些有用处。其实只要稍微有点脑子,也喜欢动脑子的人就都明白,现在的教育和考证究竟是咋回事。也会明白那些知识之所以过几年才能觉得有用,恰恰就是说明这个系统,这个教的方式,以及这个知识组织的形成存在重要的问题。
而动不动就又说要以硬件为中心,其实归根结底是这些人最基本的知识系统有问题,或者说他考的软考白考了,读的MSE白读了。当然企业应用最终也就是数据库读读读,写写写。但是是不是说只要你会读读读,就可以去写写写了,然后就可以企业应用了。这样的想法是不是太幼稚了,幼稚到了只有幼儿园的程度呢?
而说实在的,在国内天天叫不要迷信,不要吹嘘的人未必不是自己也在迷信,也在吹嘘。
为什么要出现虚拟机,为什么要尽量做到软件与硬件无关,这样的问题难道还需要再次拿出来科普科普吗?动不动就企业应用,难道不知道这些都是因为随着企业应用发展,带来的必然趋势吗?
还啥硬着头皮大体上啃了一遍学究知识,最后才搞明白程序要快要稳定,还是要搞清楚CPU、内存和硬盘,你去看看现在的云计算,告诉我cpu在啥地方,内存在啥地方,你的硬盘又在啥地方。去看看新的亚马逊的平台,google平台在搞啥东西。
更加奇怪的是还说,而所谓的可靠性、重用性、扩展性、...XX性,不是靠什么具体的软件技术,而是在于规范的管理与审慎的规划。貌似规范和规划是一种超脱于技术独立存在的东西,就是忘记了如果不于具体的技术结合规则就只能停留在纸面上。再审慎的规划,如果不以技术数据和技术方法相结合,也仅仅就是一种吹嘘和混闹。


o6z随时摆出一付权威的架势不要紧,老是把别人当弱智来教训就太不厚道了。
都是做实际应用,谈点实践经验。人身攻击的事情,就此打住,不再多说。
59 楼 ztka 2008-05-07  
icewubin 写道
ztka 写道
icewubin 写道
ztka 写道
你告诉我你的java跑在什么app上?tomcat,jboss?weblogic?或者你向google学习,自己开发app?

用Tomcat + APR好了,企业应用客户要求什么就给买什么,我们不管的,也有用jboss的,数据库也是如此。


你应该比较一下tomcat+apr和lighhttp或者apache+fastcgi的稳定性,看看如何。一个可以保证你连续几个月不当机。tomcat+apr。。。呵呵。


那你拿着你的方案去竞标试试看,呵呵看看你能拿下标么?

不好意思,我又说了非技术因素,这个算营销成本吧。


因为php没法忽悠,简单的道理,看看现状就知道了,这些人去忽悠facebook,youtube,wiki看看,是否可以用java方案。
58 楼 icewubin 2008-05-07  
mcpssx 写道
icewubin 写道
mcpssx 写道
缓存都是些赶时髦的,

企业应用还缓存个P?WEB应用会用什么hibernate缓存吗?

java的Web开发



XML说可配置,

用JAVA不用SQL说数据库可移植,
分N多层还说可维护,
关系模型不用去转换成什么对象模型,

最后被一群phper草根乱拳打死老师傅

企业应用为什么不能用缓存,以很小的代价获得高性能回报,为什么不用?
二级缓存先不提,hibernate一级缓存(一个事物中的缓存)就能直接减少数据库的访问次数,当然有用。
不要老说web开发,那只是“平原型”的项目,如果是“深井型”的项目,或者后台逻辑稍微一复杂,重点就不是web开发了。

XML可配置,现在不流行的,java框架也可以进步的,思想本来就可以借鉴的嘛。

可移植当然重要,难道你自己写针对不同数据高效的分页算法么?你不要告诉我什么项目定了,数据库就定了,我见过太多的更换数据库的例子,还就是做产品的话,怎么能不考虑数据库的多样性。

分N层不很正么,比如事务层,aspectJ配好就完事,一劳永逸有什么不好,难道自己不停的写begin transaction、end transaction么?你用数据库如何实现灵活的事务传播机制,难道不停的复制粘贴代码么,可维护性好么?

phper草根乱拳,我不否认任何语言的存在合理性。
1.思想可以互相借鉴,比如约定大于配置的思想。
2.技术的繁荣那个程度的因素不是有时否是“草根”决定的,非技术的因素太多了,说起来Hibernate不也是“草根”出身么?为什么phper的草根就比别人高贵么?


1,企业应用用缓存,基本属于淡操心。100个里面没有一个需要。
2,XML配置不流行了,不是进步,是走了一大弯路,其他的php,asp都没有天天配,照样成为了开发主流
3,数据库可移植,也是淡操心,100个应用没有一个。你看asp基本只用access,sqlserver,php基本只用mysql
4,分层会极大提高维护成本,php往往一个页面可以搞定,你需要去维护n个xml,重生成一堆pojo
5,phper草根不是比别人高贵,

而是它成功了,你看看网上的论坛,整站,电子商务,文章,blog系统有多少是php,asp的,

而又有多少是数据库可移植的,事务分层可维护的,框架无数,缓存无数的

java开发的。



我先问一下,你到底是说企业应用还是一般的非核心的网站应用。不要两个混起来说。

我同意你的一些说法,很多网站是PHP做的,包括taobao的部分,但是他们的核心业务会用php做么?你认为他们会么?

引用
1,企业应用用缓存,基本属于淡操心。100个里面没有一个需要。

就这点,我想我就没必要再和你讨论下去了。

相关推荐

    计算机组成原理:硬件软件接口 原书第5版课后答案

     增加“运行更快”这一新实例,说明正确理解硬件技术的重要性,它能使软件性能提高200倍。  讨论并强调计算机体系结构的“8个伟大思想”——通过并行提高性能、通过流水线提高性能、通过预测 提高性能、面向摩尔...

    嵌入式系统 硬件与软件架构

    第三部分是关于嵌入式软件的介绍,包括设备驱动、操作系统及中间件和应用软件;第四部分介绍了嵌入式系统的设计与开发。此外,书中还包括大量图和计算机代码,帮助读者理解嵌入式系统的理论知识。

    平台硬件和系统软件部署方案V1.1.docx

    "平台硬件和系统软件部署方案V1.1" 本资源是某网公司的某系统硬件和系统软件部署方案的详细指导文档,旨在帮助相关人员了解该系统的硬件和软件部署要求,确保系统的稳定运行和高效运作。 硬件部署 在该方案中,...

    黑苹果硬件兼容检测和查询软件

    "黑苹果硬件兼容检测和查询软件"是一款专为想要在非苹果硬件上安装MAC OS(又称黑苹果,Black macOS)的用户设计的工具。这款软件的主要功能是评估个人计算机(PC)的硬件配置,判断其是否能够支持苹果操作系统,...

    计算机组成与设计:硬件软件接口教材+习题答案 中文第5版

    《计算机组成与设计:硬件/软件接口(原书第5版)》是计算机组成与设计的经典畅销教材,第5版经过全面更新,关注后PC时代发生在计算机体系结构领域的革命性变革——从单核处理器到多核微处理器,从串行到并行。...

    解决keras backend 越跑越慢问题

    总之,遇到Keras后台运行速度变慢的问题时,可以通过复用计算图、优化模型结构、选择合适的优化器以及调整硬件配置等方式来提升性能。同时,对比不同框架的性能可以帮助我们选择更适合的工具来完成特定任务。

    Delphi读取电脑硬件信息及安装软件列表

    在IT领域,开发人员经常需要获取计算机的硬件信息和已安装软件列表,以便进行系统监控、故障排查或软件管理。Delphi是一款强大的Object Pascal集成开发环境,它提供了丰富的API和库来实现这样的功能。以下是对如何...

    计算机组成与设计硬件软件接口risc-v中文.pdf

    计算机组成与设计硬件软件接口risc-v中文版

    QN8035硬件与软件设计指南

    QN8035 嵌入式设计驱动程序(C/C++) PCB布板规范 硬件原理 QN8035 API for MCU QN8035 clean API V1.0 20100223 FMR设计指南.doc QN8035 Hardware Application Note Version 0.3-20100226.pdf QN8035-MSOP 参考设计v...

    计算机组成原理:硬件软件接口(第五版)答案

    《计算机组成原理:硬件软件接口》是David A. Patterson教授的经典著作,该书详细阐述了计算机硬件与软件之间的交互机制,是理解计算机系统基础的重要教材。第五版在前四版的基础上进行了更新和完善,以适应现代...

    牛B硬件信息修改大师-一键修改电脑所有信息

    这个软件工具的主要功能是让用户能够方便快捷地更改他们的计算机硬件信息。在IT行业中,硬件信息修改可能涉及到多个方面,包括但不限于CPU型号、内存容量、硬盘型号、显卡信息等。这样的工具通常用于测试、调试或...

    计算机组成与设计 硬件软件接口第三版中文 pdf(part1)

    计算机组成与设计 硬件软件接口第三版中文 pdf(part1) part1 中文 计算机 组成与设计 硬件软件接口

    计算机组成与设计硬件软件接口 (中文版详细书签)原书第5版

    计算机组成与设计硬件软件接口 (中文版详细书签)原书第5版

    计算机组成与设计硬件软件接口(英文版第4版ARM版)经典教材

    计算机组成与设计硬件软件接口(英文版第4版ARM版)经典教材 Computer Organization and Design ,The Hardware Software Interface 4e,ARM edition,2009

    机器码修改工具-硬件信息虚拟工具

    VirtualHardwares并不是真正的修改,而是虚拟修改,您重启计算机后将恢复到原始计算机状态,不会对您的硬件和软件造成任何影响。VirtualHardwares内置了查询硬件信息和随机生成硬件信息,用户不需要任何专业知识,...

    彩虹UDA软件狗工具带硬复制工具

    原则上您调用、设置的加密接口越多将更有利于阻止潜在破坏您的软件保护。 加密方案二:使用外壳工具 使用外壳工具对软件保护是一种快速、简单的保护方案。它不象使用接口函数需要对源代码进行改动,而是自动给您...

    中兴软件及硬件面试题.

    中兴软件及硬件面试题.中兴软件及硬件面试题.

    (新)计算机的硬件与软件(初中教案).pdf

    CPU的速度通常以时钟频率衡量,单位为GHz,频率越高,计算速度越快。此外,CPU的二级缓存也影响性能。 - **存储器**:分为主存储器(内存)和辅助存储器(如硬盘)。内存提供快速访问,但容量小且易失;辅助存储器...

    获取机器硬件特征码!!!!!

    例如,某些专业软件会将硬件特征码与许可证密钥绑定,只有当设备的硬件特征码与激活时一致时,软件才能正常运行。此外,在云服务和虚拟化环境中,硬件特征码也用于识别和隔离虚拟机,防止非法克隆。 然而,获取硬件...

    硬件设计方案模板

    《硬件设计方案模板详解》 硬件设计方案是任何电子产品或系统开发过程中的关键环节,它为产品的构建提供了基础蓝图。本文将详细解析硬件设计方案模板,帮助读者理解如何有效地进行硬件设计。 一、产品概述 在硬件...

Global site tag (gtag.js) - Google Analytics