atitit.为什么 java开发要比php开发速度慢??
atitit.为什么 java开发要比php开发速度慢??
1. 界面开发方面vs php
javaer的理念验证滞后,常常手写界面与tag,而不能好好利用dw
解决::好好利用dw这个最强大的html ide吧。。不要使用struts,jstl一类框架的tag,大大破坏布局,而且难以调试。。
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. 架构繁琐
:其实这与语言关系不在.更重要的是人的思想..可惜..大多数JAVA项目都用SSH MVC方式,以及大批框架,什么设计模式三层架构,复杂的结构带来复杂的开发方式。不像php大力简化结构,
更易于使用,更快速.
解决::大力简化架构
3. 环境配置复杂
这个没办法解决,天然比php复杂
引入类库,php需要修改php。ini文件。
java 。net系列只需要导入类库。。但是java ide许多关于类库缺失的提示不如vs系列提示的好。。。
4. 类库jar包冲突(严重)
这个极其严重的问题。稍微大点的程序,类库很容易冲突。。导致大量时间排查次类错误。。jdk 缺失大量标准库 ,只能使用第三方库,造成的..
解决::目前难以解决。。企业可以建立自己的标准库..大量的减少了冲突...可以建立排除冲突流程,可以大大减少时间开销,但是对开发人员要求高。。
对于初手来说,只能花时间排查。。
.net系列理论上也会有次dll hell的问题。。但是因为.net ms供应了大量的标准库,,引进的lib大大减少,,所以,冲突也很少了...
5. 配置文件热部署的缺失(严重)
常用的ssh的常常修改了配置文件,就要重启web服务器.....
解除:: 放弃struts,使用jsp+ajax,,使用guice替换spring
自自定义orm框架,,添加热修改能力..
当然也可以修改ssh源码解决次问题,但对开发人员要求高。。初学着还是算了把。。
6. 热部署的缺失(严重)
5.写在JSP的代码不用编译即可执行.但是写在JAVA文件里的代码必须要先编译..不利于快速修改...
而.NET网站模式可以即时修改CS文件里的代码,即时编译生效..从开发人员角度看,类似于PHP脚本,可快速修改生效.
普通人员使用的tomcat的热部署能力极差。。导致修改少量代码都要重启web服务器
解决::使用支持热部署的web服务器吧。。小项目基本可以达到apache的速度了。 大项目虽然也可以热部署,但可能启动要慢。。这个暂无法解决
7. 结论::
java可以做到快速开发,但对开发人员要求高,而且比如标准库的积累,都需要长时间的积累,要可以修改大型开源项目(比如ssh)的源码等能力要求。
普通人员能力不够的情况下,只能受其残害无法自拔。。
8. 参考:
paip.JAVA的几大优点与缺点相比C#.NET.txt - attilax的专栏 - 博客频道 - CSDN.NET.htm
paip.java优缺点attilax总结c0.doc - CSDN博客.htm
atitit.为什么 java开发要比php开发速度慢??的更多相关文章
- atitit.为什么java体系开发效率这样低的原因and解决
atitit.为什么java体系开发效率这样低的原因and解决 #---开发理念问题(影响度:很大的,2-3倍效率) mvc<>webform server control ajax< ...
- Atitit.技术管理者要不要自己做开发??
Atitit.技术管理者要不要自己做开发?? 1. 为什么很多管理者不能自己亲自做了1 1.1. 沟通成本多了1 1.2. .组织分散. 1 1.3. 会议多 .协调多 1 1.4. 问题的根源在于我 ...
- Java程序员转Android开发必读经验分享
小编最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区 ...
- .NET C#转Java没那么难,开发环境篇
.NET C#转Java没那么难,都是面向对向的语言,而且语法还是相似的,先对比一下开发环境,再到Servlet,再到MVC,都是一样一样的,只是JAVA的配制项比较多而已,只要配好一个,后面都是co ...
- Java 容器在实际项目开发中应用
前言:在java开发中我们离不开集合数组等,在java中有个专有名词:"容器" ,下面会结合Thinking in Java的知识和实际开发中业务场景讲述一下容器在Web项目中的用 ...
- Java与Kotlin, 哪个是开发安卓应用的首选语言?
Java是很多开发者创建安卓应用的首选语言.但它在 Android 界的领导地位正受到各种新语言的挑战,Kotlin就是其一.虽然Kotlin最近才开始受到热捧,但有为数不少的人相信 Kotlin 在 ...
- Java Web开发和Python Web开发之间的区别
今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...
- 【.net开发者自学java系列】使用Eclipse开发SpringMVC(3)
[.net开发者自学java系列]使用Eclipse开发SpringMVC(3) 标签(空格分隔): Spring RESTful 很久没继续学习java的spring了.接下来继续 回忆一下上个随笔 ...
- Java or Python?测试开发工程师如何选择合适的编程语言?
很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对 ...
随机推荐
- Sound.loadCompressedDataFromByteArray
前不久Adobe发布了Flash Player 11的release版本, Flash Player 11 带来了很多新特性, 最最红火的就是Stage3D了,但是这里讲的是这个版本的另一个新特性, ...
- Java中的break和continue关键字使用总结
java中的break和continue关键字使用总结 一.作用和区别 break的作用是跳出当前循环块(for.while.do while)或程序块(switch).在循环块中的作用是跳出 ...
- PAT 1033. To Fill or Not to Fill (贪心)
PAT-A的最后一题,最终做出来了... 是贪心,通过局部最优获得全局最优. 1. 将加油站按距离升序排序 2. 记录当前所在的加油站index,存有的汽油,花费.向后遍历全部 该站可抵达的加油站 3 ...
- Android 下文件cannot execute - Permission denied
安卓下执行交叉编译的可执行文件发现提示不允许. 原因是mount的方式问题,root后运行 su mount -o rw,remount /mnt/sdcard 就可以了 mount -o rw,re ...
- 修改SharePoint 2013中Search Topology时遇到的一些问题以及一些Tips
这次操作在笔者的场中涉及到5台服务器, CA, APP2, APP3, APP4, APP5. 原本只有CA运行着Search Service Applicaiton, 现在想让APP2-5运行这项服 ...
- JQuery中简约的进度条插件推荐
JQuery Progress Bar是基于JQuery开发的进度条插件,秉承了JQuery的简约哲学.不仅容易使用,而且可以轻松定制外观.对于使用了JQuery框架的项目来说,需要使用进度条控件时这 ...
- linux CentOS7 修改系统时间
linux在安装的时候如果时区选择错误,可以在系统安装完成之后修改.系统时间运行着也会有偏差,需要对时间进行实时同步,方法如下: 打开terminal 首先转到root权限 :并输入密码 然后输入:t ...
- 使用Intellij加载Spark源代码
如何使用Intellij加载Spark源代码 转载注明原文http://www.cnblogs.com/shenh062326/p/6189643.html 查看Spark源代码或修改Spark源代码 ...
- .NET破解之爱奇迪(二)
爱奇迪的其他系统软件我不感兴趣,但这个Database2Sharp看起来好像很有用的. 官网介绍: 一个简单点击几次鼠标就能完成一周代码量的代码生成工具,效率惊人.友好体贴,真正的开发好伴侣,提供了对 ...
- FFmpeg视频处理必备
http://ffmpeg.org/官网 A complete, cross-platform solution to record, convert and stream audio and vid ...