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

一. 日志部分:

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除外),而是返回错误代码


     


     

     

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值