一直是一个安静的不愿意改变环境的“懒人”,从毕业就来到这个项目组一待就2年5个月7天若不是个人原因很可能我还一直待在这儿,因为啥?还是因为不愿意找工作最大的原因就是自己害怕面试那总结一下就是没自信,技术不犀利。不扒拉了说正题。。。。。。。。小总结一下我们项目组对项目的性能注意事项吧。。。。
写于2016年
发布于2024年
不写了,以此纪念失去的美好时光,仅做回忆~
1.1 规范四:
代码提交之前请使用eclipse的format功能对代码进行格式化,可以通过ctrl+shift+f快捷键进行
1.2 规范五:
1.3 原则一:
原则上超过50行的方法需要进行重构,任一方法总行数不得超过200行。200行以上的代码逻辑需要进行优化review
1.1 原则二:
原则上超过50行的方法需要在方法头中进行业务处理逻辑的Javadoc描述
Java编程命名规范
》使用完整的英文描述符,采用适用于该领域的术语,采用大小写混合命名字可读
》避免使用长的名字,类,变量和函数名应小于15个字母
Java程序代码性能注意事项(一)
》如果你编写的SQL或者HQ需要关联5张以上(含5张)的表查询,那么多半是有问题的。可能出现在Datamodel本身设计或者业务算法上,必须由业务分析员,应用架构师,开发人员三方会谈确认性能优化。
》凡是查询的表数据量可能会超过1万以上,必须由业分析员,应用架构师,开发人员三方会谈确认性能优化。
》对于复杂的循环或递归调用算法,应由开必难员和应用架构师共同进行CodeReview,确保不会存在性能问题。
》对于本身应用不可控的代码操作例如文件读取,网络iC访问MQ连接,Email发送等,要对Java代码操作超时有一琮的预见,由开发人员和应用架构师共同CodeReview.
》在一次业务请求操作中如果读取,列新或者插入的SQL语句超过200条以上,必须由业务分析员,应用架构师和开发人员三方会谈确认。
.......................................................................
Java程序代码性能意思事项(二)
》所有用户提交的查询并返回客户端的数据必须以分页的方式进行。 后台处理线程来实现 ,如果一琮要需呀为用款待则必须提供 好的界面 时空行信息,户
》如果数据库表的存储的记录是树状关系,则应该尽可能全部读到内存中,然后通过HashMap方式在内存中建树层次关系,不要产生大量的数据库SQLrkwt
》对于Excel,PDF类型文件的生产一定要注意内存使用量,避免服务器出现内存不足,大数量的Excel可能采用CSV的方式流式输出。
》对于一次用户请求处理时间超过30秒以上的,一般采用后台定时处理或者台异步处理线程来实现 ,如果一定需要用户等待则必须提花好的界面进度提示信息。(yyw文件上传,下载例处。)
》文件的读取和下载一定不能一次全部读到内容 鸡飞蛋打同来,然后再定稿到Response的Out putStrean 流中,这样对服务器的内容资源消耗过大,应采取一块(Block)再写一块的方式 ,每块的大小建议在512Kb以下。
》对于复杂的查询操作,尽量使用联合查询而不要先查一张表再读取的每记录去再核销数据 库,基本上每个HTTP Request 所事业来的SQL查询总量不应该超过20条。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
项目开发注意事项
》程序开发涉及到表变更,甚而数据 修改必须由开发人员交由DBA来操作,禁止开发人员直接变更表结构,基础数据信息。
》DBA在开发过种 中定期收集TOP20的SQL进行项目组三方会谈,探计优化的可能性。
》DBA在开发的过种中和QA测试过程中要每天检查应用数据库锁表的问题,及时提出并与开发人员,应用架师时空行夜夜解决。
》禁止开发人员擅自作用项目中未的技术 和架构,例如引入一些经三方的JAR包等,如果有需要必须联系应用架构师,经过确认后由应该架构 师进时空行构调整
》针对在一张表内有同一记录的多个版本,查询的时间总是先只显赫最大的版本,这种 设计 查询必须增加一个TOPMark清除,在最新插入的记录中上设定TopMark为1.
》对于经常访问且变化量较少的表,例如数据字典类型,权限,菜单等信息都可以通过CacheManager每隔一段时间进行数据库刷新。