java

位置:IT落伍者 >> java >> 浏览文章

Java程序性能优化-代理模式(2)


发布日期:2021年03月02日
 
Java程序性能优化-代理模式(2)

代理模式(

代理模式的实现和使用

基于以上设计IDBQuery的实现如下它只有一个request()方法

public interface IDBQuery {

String request()

}

代理模式的一种实现

DBQuery实现如下它是一个重量级对象构造会比较慢

public class DBQuery implements IDBQuery{

public DBQuery(){

try {

Threadsleep( //可能包含数据库连接等耗时操作

} catch (InterruptedException e) {

eprintStackTrace()

}

}

@Override

public String request() {

return request string;

}

}

代理类DBQueryProxy是轻量级对象创建很快用于替代DBQuery的位置

public class DBQueryProxy implements IDBQuery {

private DBQuery real=null;

@Override

public String request() {

//在真正需要的时候才创建真实对象创建过程可能很慢

if(real==null)

real=new DBQuery()

//在多线程环境下这里返回一个虚假类类似于Future模式

return realrequest()

}

}

最后主函数如下它引用IDBQuery接口并使用代理类工作

public class Main {

public static void main(String args[]){

IDBQuery q=new DBQueryProxy() //使用代理

qrequest() //在真正使用时才创建真实对象

}

}

注意将代理模式用于实现延迟加载可以有效地提升系统的启动速度对改善用户体验有很大的帮助

返回目录Java程序性能优化让你的Java程序更快更稳定

编辑推荐

Java程序设计培训视频教程

JEE高级框架实战培训视频教程

JME移动开发实战教学视频

Visual C++音频/视频技术开发与实战

Oracle索引技术

ORACLEG数据库开发优化指南

               

上一篇:Java程序性能优化-代理模式(1)

下一篇:Java程序性能优化-代理模式(3)