Java代码优化综合监控-赵志华代码优化代码优化原则代码优化步骤代码优化实践代码优化原则代码优化是什么。代码优化是指对程序代码进行等价(指不改变程序的运行结果)变换。程序代码可以是中间代码,也可以是目标代码。等价的含义是使得变换后的代码运行结果与变换前代码运行结果相同。优化的含义是最终生成的目标代码更加轻松自如(运行时间更短、占用空间更小)地工作,时空效率优化。明确为什么优化。现场问题触发,维护工作量大等等 优化是要朝着好的方向发展而不是过度地优化,过度优化会降低程序可读性,会给后期维护人员增加难度系数。满足实际需要即可,不要为了优化而优化。要对优化的对象,进行测试或者有一定的深入理解。有些api人家的单线程效率就非常高,你为了优化,写了一堆多线程,然后各种锁,各种问题。。。。。预防大于优化。代码优化步骤1、明确优化目标 在优化工作开始的时候,你还尚未明确优化内容和目的,那么你很容易陷入误区。在一开始,你就应该清楚地了解你要达到的效果,以及其他优化相关的各种问题。这些目标需要明确指出(至少精通技术的项目经理可以理解和表达它),接下来,在整个优化过程中,你需要坚持这些目标。 2、选择正确的优化指标选择正确的指标,是优化的一个重要组成部分,你需要按照这些指标来测量优化工作的进展情况。如果指标选择不恰当,或者完全错误,你所做的努力有可能白费了。即使指标正确,也必须有一些辨别。在某些情况下,将最多的努力投入到运行消耗时间最多的那部分代码中,这是实用的策略。但也要记住,Unix/Linux内核的大部分时间花费在了空循环上。需要注意的是,如果你轻易选择了一个很容易达到的指标,这作用不大,因为没有真正解决问题。你有必要选择一个更复杂的、更接近你的目标的指标。3、找到优化的关键点 这是有效优化的关键。找到项目中与你的目标(性能、资源或其他)相背的地方,并将你的努力和时间用在那里。举一个典型的例子,一个Web项目速度比较慢,开发者在优化时将大部分精力放在了数据库优化上,最终发现真正的问题是网络连接慢。另外,不要分心于容易实现的问题。这些问题尽管很容易解决,但可能不是必要的,或与你的目标不相符。容易优化并不意味着值得你花费工夫。使用java工具:jmap,jstack,jprofiler等4、优化完后测试功能!(jstack,内存换效率),再优化告警统计效率优化for$neinneList{id===(id)//dosomethings}数据:neList1000w的网元集合,alarmMap<neId,alarm>10w的告警map问题:根据object_class统计告警数,执行慢方法:jstack,。如:,内存换效率prepare:{id===(id)cls=//dosomethings}旧方案新方案告警统计效率优化其他方法:使用JavaVisualVM/Jprofiler查看方法耗时DW线程优化问题:DealThread,SendDataThread等都用Queue传递数据方法:抽象、,,
Java代码优化赵志华 来自淘豆网m.daumloan.com转载请标明出处.