编写框架代码的注意事项

作者:无名 - 开源软件 -

错误处理:

  • 对于运行时可能出现的环境运行错误,在框架内部不要用try完全处理掉,而是要显示向外部抛出错误,由调用框架的地方来处理:这样对于实际的业务代码将有最大的灵活性,可以根据实际情况来做不同的处理方法;如果一个方法中要抛出的错误 有重复 而且代表了不同的情况时,需要单独定义不同的错误类以做区分


功能或方法定义:

下面的做法可以更容易的把内存释放掉:

  • 尽量把功能放在对象中运行;功能不使用时可以直接移除对象来清理内存

  • 永远是 短期对象保存 长期对象的引用,尽量不把 短期对象 保存到 长期对象中;功能不使用时可以直接移除对象来清理内存,不容易残留垃圾

  • 【java+多线程应用】,共享数据尽量使用volatile关键字定义,这样程序不会重复在线程中新建共享数据的镜像


对象定义:

  • 定义对象分成3步:初始化,运行使用,析构,尽量每个类对象定义都有注意的考虑

  • 用 单例模式 使用类静态对象中的功能 优于 一定多个类的静态方法来使用功能

IT人知识库 原文地址:http://www.itpeo.net/15310/3488248.html





怎样在线程外部控制线程运行

一个在外部控制线程运行的一个论证实例。标准的java因为安全问题取消了stop等控制方法,我想看看能不能自己把它们... ...

linux(ubuntu)下安装nginx 笔记

这两天突然想在ubuntu下 安装nginx模拟真实环境,第一次安装还真是一个充满奇异的旅程,走了很多歪路但也从中... ...

Unix crontab命令 添加定时任务

Unix crontab命令 添加定时任务 使用crontab命令要求root身份1. cr... ...

rfedfre

随手写了个android应用

最近比较闲,就边学边写,做了个android下的 dota 攻略型应用。 目前还没发布到市场上,也没有加广告,... ...

rfedfre

高仿QQ空间-进阶篇

更新说明: 一 增加了照片的墙的功能,可以让你的照片可以流动哦!不信,你去试试就知道啦,O(∩_∩)O哈哈哈~... ...

rfedfre

1.变量和常量

1 标识符 标识符就是用于给 Java 程序中变量、类、方法等命名的符号。 1>.  ... ...

The working copy "xxx" has uncommitted changes.

    进到它说提示的目录中,使用git reset --hard命... ...

zencart模板

我们是谁?      我们是对电子商务,zencart,Oscomme... ...

python 对图片的处理

下载2.7.3版本的python 和 图像处理工具包 wget http://python.org/ft... ...

python 二

python 流程控制 if else 语句 (支持嵌套) 语句结构: if 条件: &... ...

POI与JXL写Excel的性能对比

         在java项目中... ...

memcmp与strcmp区别

一、memcmp含义 Compare characters in two buffers. i... ...

map的用法(初级)

C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。本... ...

慎用异常(Exception)

异常对性能不利。 1.抛出异常首先要创建一个新的对象。 2.Throwable接口的构造函数调用名为fil... ...

改进fastjson的WriteClassName特性时的输出数据容量

在使用fastjson输出省市县三级信息时,数量高达300K,由于我们的数据结构相同,因此每个类都输出了完整的类名... ...

mongodb建立索引时怎么指定超时时间

mongodb自从2.2版本起为索引建立了TTL(time to live),可以指定一个类型为日期的字段为文档的... ...

JS日期格式化(从YYYY-MM-DD到日期类)

字符串格式日期利用阅读,但不利于标准化存储,可以通过以下函数转化为Javascript日期类: // date... ...

(翻译)H5数据流消息推送机制Event Source

关于数据推送,传统方法是前端(不)定时发送HTTP请求进行轮询。但这种方式非常的损耗服务器资源,不适合访问量高的情... ...

linux命令后台运行技巧整理(1)

所有内容搜集于网络,部分做了简单翻译 Linux提供了fg和bg命令,让你轻松调度正在运行的任务。 假设你... ...

rfedfre

基于标签方式的工作流启动及任务执行开发说明

基于现在的系统的整合需求,本系统提供基于标签的工作流整合方式,工作流的启动及执行下一步时,均需要通过可以通... ...