仓酷云

标题: 发布一篇Java程序功能调优的基础常识和JDK调优 [打印本页]

作者: 灵魂腐蚀    时间: 2015-1-18 11:23
标题: 发布一篇Java程序功能调优的基础常识和JDK调优
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。
一基础常识
1.1功能是甚么
在功能调优之前,我们起首来懂得一下功能是甚么?关于功能,我想每一个进修过Java的人都能列出几点,乃至能够纸上谈兵。在《JavaTMPlatformPerformance》一书中,界说了以下五个方面来作为评判功能的尺度:
1)运算的功能——哪个算法的实行功能最好?
2)内存的分派——程序运转时必要泯灭几内存?
3)启动的工夫——程序启动必要多长工夫?这在Web项目中的影响不年夜,但要注重部分程序必要部署或运转在客户端时的情况(好比applet程序)。
4)程序的可伸缩性——在压力负载的情形下,程序的功能怎样?
5)功能的感知——用户在甚么情形下会以为程序的功能欠好?
以上五个方面,在详细的利用场景能够有选择的往评判。至于这五方面的功能调优,在后续的章节中将会连续的赐与响应的功能调优战略。
1.2调优的划定规矩
我们只必要体贴对我们程序有影响,能够发觉到的功能成绩,而不是每个类中的每个办法我们都必要千方百计的进步功能。假如程序的功能没有到达我们所希冀的请求,我们才必要思索怎样优化功能。一样的,流畅的代码固然进步了程序的功能,但同时大概带给我们的是保护的恶梦。我们必要折衷的思索以上两种情形,使得程序的代码是幽美的,而且运转的充足快,到达客户所希冀的功能请求。
优化代码乃至会招致不良的了局,DonaldKnuth(一名对照牛对照有影响的人物,详细是谁,我也忘了,谁晓得,能够告知我一下,感谢!)曾说过,“Prematureoptimizationistherootofallevil”。在入手下手功能调优前,必要先指出不优化代码的一些来由。
1)假如优化的代码已一般事情,优化后大概会引进新的bug;
2)优化代码趋势于使代码更难了解和保护;
3)在一个平台上优化的代码,在另外一个平台上大概更糟;
4)消费良多工夫在代码的优化上,进步了很少的功能,却招致了流畅的代码。的确,在优化前,我们必需仔细的思索是不是值得往优化。
1.3调优的步骤
一样平常我们进步使用程序的功能分别为以下几个步骤:
1)明白使用程序的功能目标,如何才切合希冀的功能需求;
2)在方针平台举行测试;
3)假如功能已到达功能目标,Stop;
4)查找功能瓶颈;
5)修正功能瓶颈;
6)前往到第2步。
<p>
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难
作者: 活着的死人    时间: 2015-1-20 23:45
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者: 分手快乐    时间: 2015-1-30 07:31
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: 飘灵儿    时间: 2015-1-30 22:24
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者: 简单生活    时间: 2015-2-4 13:15
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者: 透明    时间: 2015-2-5 00:12
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者: 若天明    时间: 2015-2-6 16:35
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
作者: 谁可相欹    时间: 2015-2-7 23:30
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者: 老尸    时间: 2015-2-21 17:52
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 再见西城    时间: 2015-2-22 22:52
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
作者: 再现理想    时间: 2015-3-4 03:29
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者: 海妖    时间: 2015-3-7 02:40
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 山那边是海    时间: 2015-3-14 04:20
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
作者: 金色的骷髅    时间: 2015-3-21 00:03
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2