仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 535|回复: 11
打印 上一主题 下一主题

[学习教程] 来看Java实际与理论: 功能办理 D 您有计划吗?

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:25:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.
功能办理一般被视为一种巫术,由于功能成绩一般在使用程序开辟完成以后才会呈现。到当时,就难以断定它们的本源。但是,一旦非常正确地断定了功能成绩的原因,那末修改它经常是对照复杂的事变。工程师在寻觅更无效的办法来实行特别义务方面一般具有相称的制造性(偶然他们的制造性过了头)。关于任何给定的功能成绩,经由过程利用高速缓存来削减冗余盘算大概只是增加更多的硬件,办理计划大概会与用更无效的算法举行交换一样复杂。可是,要分明地断定性能成绩的本源会很坚苦,而计划庞大程序乃至加倍坚苦,以是起首要使它们没有功能成绩。
固然编程决议D如算法或数据暗示的次优(sub-optimal)选择,没法重用先前盘算的了局,大概糟的资本办理D一般被以为是功能成绩的间接原因,但年夜多半功能成绩另有一个更深的原因:没法起首将功能办理、方针和丈量集成到开辟过程当中。
成绩?甚么成绩?
您怎样晓得什么时候有功能成绩呢?关于年夜多半开辟团队,回覆(用美国初级法院法官PotterStewart对恶行形貌的话来说)是:在碰到时才晓得。这是成绩的中心D功能方针、器度和丈量经常没被思索到,直到发明时,已太晚了。
最多见的功能办理战略是……也没甚么,它一般接纳以下两种情势之一:
在使用程序开辟完成之前完整疏忽功能
开辟时举行优化,这一般意味着只存眷极巨大的功能思索事项,而疏忽较年夜的方面
这两种战略共有统一个基础成绩D它们未将功能办理视作开辟历程的一个集成部分。
出缺陷的功能战略A:完整疏忽功能
第一种办法是完整疏忽功能,该办法将功能视作能够在项目停止时处置的事情,好比象编写刊行申明或构建安装程序。该战略基础上靠命运,由于盘算机运算速率一年比一年快,以是在功能方面总可以对付得已往。
这类靠命运的成绩(即便当做功的大概性十分年夜时)就是:当呈现功能成绩时,您没有处置它、断定其本源或以出格体例办理它的框架。您也没有在开辟规划中布置用于功能丈量和调优的工夫。这有点象网站,除安装具出缺省设置的防火墙外,没有实验利用一个联贯的平安性战略,然后发明它们已被夺取。您从那边动手呢?
出缺陷的功能战略B:开辟时举行优化
另外一个罕见但乃至更糟的办法是让极巨大的功能思索事项驱动系统布局和设计决议。开辟职员喜好优化代码,其合法来由就是它使人中意和带来兴趣。可是,就存眷的代码和在开辟周期中办理功能成绩的机会而言,晓得什么时候优化更加主要。遗憾的是,开辟职员一样平常没法凭直觉判别功能成绩将实践呈现在使用程序的哪一个地位。了局,他们华侈了大批精神对很少实行的代码路径举行优化,大概更糟的是,他们伤害好的计划和开辟理论来优化新近没有任何功能成绩的组件。当您专一编写代码时,很简单在功能成绩上只见树而不见林。
使各个代码路径尽量快地运转其实不包管终极产物会很好地实行。再怎样进行部分优化都不成能填补基本上效力低的计划,即便将每一个组件完成为尽量的快,也是云云。开辟时优化战略用存眷初级其余功能思索事项来替换对全部项目实行的功能战略,并且让您没法确信您真正有一本性能战略。
开辟时举行优化的很多成绩之一是它疏忽了优化中的固有风险。多数优化也会使计划更佳,毛病更少,但这些都是破例情形。一般,优化触及功能和别的考虑事项(如洁净的计划、明白性、天真性和功效性)之间的衡量。优化会支付一定的本钱微风险:它大概会引进毛病、限定代码的功效性大概使利用或保护变得加倍坚苦。在接受这些本钱之前,请确保值得如许做。
将功能办理作为开辟历程的一部分
从一入手下手就应当将功能丈量和计划集成到开辟过程当中,对开辟和功能丈量和调优举行独自、交织的迭代。这意味着设定功能方针、筹办功能丈量计划和在开辟代码时常常复查代码功能。最好将旧的测试了局保留在数据库中,如许您可以简单地对照当您变动代码时功能的变更情形。
对开辟和功能举行独自的迭代,可以让您在开辟迭代时代会合精神编写起感化的无毛病的代码,假如必要的话,您还会晓得不久将有一个得当的时机来改善性能。假如您想起一个使代码运转更快的奇妙秘诀,那末在代码中加一个正文以详细形貌您的设法,但如今不要完成!如今不是举行优化的时分。假如终极必须这么做,则当您存眷功能时再前往来。功能优化应当由功能方针驱动,并受功能丈量撑持。其余工具不外是“主要的”。
丈量两次,然后再丈量几回
丈量是功能办理的关头元素。想一下:一个给定的奇策将使代码运转得更快吗?我们筹办考证这一点。在实行奇策的前后,利用功能丈量工具来测试功能。假如您没有测到有改善,该怎样办?那末,筹办发出您的奇策。假如您测不出有优点,那为何要冒损坏事情代码的风险呢?
在功能迭代时代,丈量使用程序或其组件的功能,并将它们与先前迭代的测量对照。有些方面慢上去了吗?找出缘故原由。假如它达不到功能方针,那末您纷歧定非得变动它,但如今您已取得了有代价的、有关您变动后对功能影响的反应信息。
到达方针了吗?
假如您没有定量的功能方针和撑持它们的丈量计划,那末功能调优仿佛是无意义的。您怎样晓得您已到达方针了?别的开辟阶段(如编码、测试和打包)都界说了方针D完成这组功效、修改这些毛病等等。功能阶段也应当有布局和方针。
当对功能的存眷是源自于内部时(不论是客户仍是公司内的另外一个部门),具有功能方针尤其主要。当或人告知您使程序运转得更快时,您应当先问一下“我必需使它快几?”不然,您大概会在调优方面投进过量的资本,但仍不克不及使客户中意。投进十二分的精神来使程序运转速率进步30%,不意却有人反响“哎呀,我原但愿速率能进步50%。”,这会让人很扫兴。
停止语
功能办理不但包含优化,还包括很多别的工具。它有一个用于决意什么时候优化什么时候不优化的框架。您应当依据明白的功能方针、丈量和计划来做这些决议,而不是直觉。

那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net网页编程比java好。
山那边是海 该用户已被删除
沙发
发表于 2015-1-21 06:08:10 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
老尸 该用户已被删除
板凳
发表于 2015-1-24 14:51:24 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
若相依 该用户已被删除
地板
发表于 2015-1-25 14:38:46 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
柔情似水 该用户已被删除
5#
发表于 2015-1-25 23:33:20 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
再现理想 该用户已被删除
6#
发表于 2015-2-4 12:04:12 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
第二个灵魂 该用户已被删除
7#
发表于 2015-2-5 23:39:15 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
兰色精灵 该用户已被删除
8#
发表于 2015-2-14 05:32:34 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-4 04:56:13 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
只想知道 该用户已被删除
10#
发表于 2015-3-11 02:56:02 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
小魔女 该用户已被删除
11#
发表于 2015-3-17 19:09:48 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
蒙在股里 该用户已被删除
12#
发表于 2015-3-24 21:13:04 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 09:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表