您的位置:首页 > 编程语言 > Java开发

java程序应注意点--经验积累

2014-03-25 15:18 190 查看
一. 日志部分:

1. log4j日志info.warn.error应该在各方法中有效的运用,一些错误日志必须打上error日志,一些重要的方法必须加上info日志,以便以后定位问题的查询

2.log4j应该轮循删除前15天之前的日志,以防磁盘满

二. 代码分层、分模块、甚至分工程、一个项目分多个机器部署不通域名:

rpc.action的代码只处理参数的封装;

service代码专注于业务逻辑的控制,包括参数的校验

dao这块在mybaits的话功能就是SQL,如果是ibatis也应该只限于数据库的参数封装等

大项目为了降低各功能的耦合度、各个功能的分工开发、系统的健壮性(一个操作失败了不影响总个流程的运转),都通过拆分模块或者拆分子工程分开部署的方法,通过分布式服务框架来调用,这里可以使用dubbo或者HSF

三. 接口

对外接口注意权限控制。

(传输数据+传输当前时间)的加密

https

接口通用化,一个接口满足多个小业务,支持多种查询条件

方式:尽量使用dubbo集群对内接口,这样好分流。当然应用的话http接口(http接口更加通用)通过Nginx Haproxy、Lvs Tengine等负载均衡

http接口内容用json统一的格式,如果有追求,序列化压缩更好

大数据list都需要分页取

四. 内存

大批量的操作注意内存溢出,比如DB事务操作,大数据应该用临时表

资源记得释放,比如文件流后都需要close要不文件将被锁定无法修改,而且还占用内存

SQL注意分页,注意一些参数必须有,不要因特殊业务场景,导致一些核心参数少,就查出几百万条数据,这样内存立马打满溢出了。

死循环,

五 异常的处理

在不要求事务的前提下,catch住异常,并记录日志,这样不影响大流程的运转

应用需要自定义自己的异常类,这样好区分,在外面也可以catch想用的异常类做相关的处理

为了减小用户开发时处理异常的开销,程序可以不抛出异常(RunTimeException除外),而是返回错误代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: