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?测试开发工程师如何选择合适的编程语言?
很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对 ...
随机推荐
- Hibernate:不容易理解的 lock 和 merge
背景 lock 和 merge 在字面上很容易理解它们的语义,不过它们的实际行为所代表的语义范围要大一点,本文就简单的记录下来,还请朋友们多批评和指正. Lock 官方的注释 /** * Obtain ...
- Out of memory: Kill process 内存不足
服务直接被 killed,感觉特别奇怪.代码肯定是没有问题的,但为什么放到服务器上就出错了呢. 部署时报错如下: Failed to add the deployment content to the ...
- 在CMD下如何搜索某个名字的文件?
命令如下: dir FileYouWantToFind.txt /a /s 效果如图: 偷看Kun总操作学来的 ^_^
- Fragment 创建 传递参数 跳转【典例】
Fragment一定要有一个无参的构造方法! 因为当Activity因屏幕旋转或者因内存不足被系统杀死时,会导致Activity被重新创建,而当Activity被重建时,FragmentManager ...
- JS-为句柄添加监听函数
具体谈如何实现JS为句柄添加监听函数之前先看一段代码,算是抛出这个问题. <html> <head> <title>JS为句柄添加监听函数</title> ...
- python分号使用
一:python分号使用 每一条语句最后个加个分号:这是c,oc,java,php等语言中不可缺少的部分,但是对于python,分号是可加,可不加的 如:不加分号代码 >>> cla ...
- PotPlayer 如何设置多屏幕全屏播放
如何在播放器中,设置扩展播放模式? 全屏设置/主全屏显示设备:Display2 如何使视频播放时,没有黑边并且全屏充满? 高宽比/处理方式:保持全屏宽高比 如果取消掉视频上方的文字提示信息 ...
- javaSE知识点汇总
Java基础知识精华部分 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言 ...
- C# Dictionary通过value获取对应的key值[转发]
1:最直白的循环遍历方法,可以分为遍历key--value键值对以及所有的key两种表现形式 2:用Linq的方式去查询(当然了这里要添加对应的命名空间 using System.Linq) 如下为一 ...
- [Done]com.aerospike.client.AerospikeException: Error Code 12: Bin type error
今天遇到了一个问题:com.aerospike.client.AerospikeException: Error Code 12: Bin type error 异常栈: 网上找了一些资料:https ...