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除外),而是返回错误代码
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除外),而是返回错误代码
相关文章推荐
- java中split()函数,"."应该为''\\.",注意转义字符! 程序对分割后的文件碎片进行合并。
- 编写跨平台Java程序注意事项
- java程序报错经验
- 编写跨平台Java程序注意事项
- 编写跨平台的Java程序时需要注意的一些事情
- Java 命令行运行java程序,出现“找不到或无法加载主类 ”的注意事项
- Java高并发程序-Chapter5 锁的优化及注意事项(第三十二讲)无锁
- cmd下运行java程序的注意事项
- Java 设计方面经验积累
- Java 启动外部程序注意事项
- 编写跨平台Java程序注意事项
- 提升Java程序性能的经验原则和方法
- 编写跨平台Java程序注意事项
- 在Ubuntu下开发java程序注意jdk的版本
- 编写跨平台Java程序注意事项
- 编写跨平台的Java程序是需要注意的一些事情
- 编写多线程java程序时需要注意哪些问题?(来自于effective java se)
- Java知识积累——logback日志工具,告别到处输出变量值来调试程序的时代吧~
- 第一次做Java程序注意事项
- 使用Java程序的泛型应该注意的几个地方