以下为《优化分为编码阶段优化和项目上线后优化,编码阶段优化》的无排版文字预览,完整内容请下载
优化
优化分为编码阶段优化和项目上线后优化,编码阶段优化:
编码规范
我们会在编码之前制定统一编码规范,保持项目组内成员编码风格的一致性,同时,也会在规范中制定一些优化策略,比如代码中的sql语句尽量大写,查询时不要用select * ,而是需要哪些字段,就查询哪些字段的信息。
Java代码的规范:
类名首字母应该大写。对于所有标识符,使用驼峰命名法。
(5) 设计一个类时,请设身处地为客户程序员考虑一下(类的使用方法应该是非常明确的)。然后,再设身处地为管理代码的人考虑一下(预计有可能进行哪些形式的修改,想想用什么方法可把它们变得更简单)。
(6) 使类尽可能短小精悍,而且只解决一个特定的问题。
■数量众多的方法涉及到类型差别极大的操作:考虑用几个类来分别实现
■许多成员变量在特征上有很大的差别:考虑使用几个类
(7) 让一切东西都尽可能地"私有"--private。可使库的某一部分"公共化"(一个方法、类或者一个字段等等),就永远不能把它拿出。若强行拿出,就可能破坏其他人现有的代码,使他们不得不重新编写和设计。若只公布自己必须公布的,就可放心大胆地改变其他任何东西。在多线程环境中,隐私是特别重要的一个因素--只有private字段才能在非同步使用的情况下受到保护。
(9) 若不得已进行一些不太雅观的编程,至少应该把那些代码置于一个类的内部。
(10) 任何时候只要发现类与类之间结合得非常紧密,就需要考虑是否采用内部类,从而改善编码及维护工作
(11) 尽可能细致地加上注释,并用javadoc注释文档语法生成自己的程序文档。
(18) 尽量使用interfaces,不要使用abstract类。若已知某样东西准备成为一个基础类,那么第一个选择应是将其变成一个interface(接口)。只有在不得不使用方法定义或者成员变量的时候,才需要将其变成一个abstract(抽象)类。接口主要描述了客户希望做什么事情,而一个类则致力于(或允许)具体的实施细节。
代码优化
1、尽最大努力少New新对象,新对象占用的是宝贵的内存空间。
2、字符串的拼接是一件非常浪费资源的事情,所以如果非要对字符串进行拼接的话,使用stringbuffer而不用string这种形式。
3、对于稀缺资源的使用问题,像io流、数据库连接这种稀缺资源使用后一定要关闭。对于数据库我们会采用数据库连接池,降低与数据库连接的频率。
4、多看数据结构、和算法方面的书,很多非常复杂的算法,前辈们都已经提供了非常简单的算法实现,如果这些东西自己编写程序实现那是一件非常繁琐而且浪费时间的事情,可想效率也不一定很好。
5、如果对于线程安全性没有要求的话,尽量使用线程不安全的类,因为一个类实现线程安全,也就是线程同步,这个是非常耗费系统资源的做法。所以对于线程安全没有要求的情况下,不用线程安全的类。
6、避免无用的空字符串:
如为了避免NullPointerException,新手常把字符串初始化为空字符串,
其实这是非常不好的做法,白白创建一个无用的字符串对象,占用资源。
7、及时清除不再需要的会话:
为了清除不再活动的会话,许多应用服务器都有默认的会话超时时间,一般为30分钟。当应用服务器需要保存更多会话时,如果内存容量不足,操作系统会把部分内存数据转移到磁盘,应用服务器也可能根据“最近最频繁使用”算法把部分不活跃的会话转储到磁盘,甚至可能抛出“内存不足”异常。当会话不再需要时,应当及时调用HttpSession.invalidate()方法清除会话。HttpSession.inv 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 areThreads )
connectionTimeout 连接超时
minProcessors 服务器创建时的最小处理线程数
maxProcessors 服务器同时最大处理线程数
URIEncoding URL统一编码
三.Tomcat缓存优化
参数说明
c ompression 打开压缩功能
compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB
compressableMimeType 压缩类型
connectionTimeout 定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《优化分为编码阶段优化和项目上线后优化,编码阶段优化》的无排版文字预览,完整内容请下载
优化分为编码阶段优化和项目上线后优化,编码阶段优化由用户“semsun”分享发布,转载请注明出处