当前位置: 首页 > news >正文

外贸网站 seo友情链接样式

外贸网站 seo,友情链接样式,新媒体营销中常见的知识问答平台有,wordpress标题去掉私密准备案例 需求 模拟某企业用户管理业务#xff0c;需包含用户登录#xff0c;用户删除#xff0c;用户查询功能#xff0c;并要统计每个功能的耗时。 分析与实现 定义一个UserService表示用户业务接口#xff0c;规定必须完成用户登录#xff0c;用户删除#xff0c…准备案例 需求 模拟某企业用户管理业务需包含用户登录用户删除用户查询功能并要统计每个功能的耗时。 分析与实现 定义一个UserService表示用户业务接口规定必须完成用户登录用户删除用户查询功能。 /**模拟用户业务功能*/ public interface UserService {String login(String loginName , String passWord) ;void selectUsers();boolean deleteUsers();void updateUsers(); } 定义一个实现类UserServiceImpl实现UserService并完成相关功能且统计每个功能的耗时。  public class UserServiceImpl implements UserService{Overridepublic String login(String loginName, String passWord) {long startTimer System .currentTimeMillis();try {Thread.sleep(1000);if(admin.equals(loginName) 1234.equals(passWord)) {return success;}return 登录名和密码可能有毛病;} catch (Exception e) {e.printStackTrace();return error;}finally{long endTimer System.currentTimeMillis();System.out.println(login方法耗时 (endTimer - startTimer) / 1000.0 s);}}Overridepublic void selectUsers() {long startTimer System .currentTimeMillis();System.out.println(查询了100个用户数据);try {Thread.sleep(2000);} catch (Exception e) {e.printStackTrace();}finally{long endTimer System.currentTimeMillis();System.out.println(selectUsers方法耗时 (endTimer - startTimer) / 1000.0 s);}}Overridepublic boolean deleteUsers() {long startTimer System .currentTimeMillis();try {System.out.println(删除100个用户数据);Thread.sleep(500);return true;} catch (Exception e) {e.printStackTrace();return false;}finally{long endTimer System.currentTimeMillis();System.out.println(deleteUsers方法耗时 (endTimer - startTimer) / 1000.0 s);}}Overridepublic void updateUsers() {long startTimer System .currentTimeMillis();try {System.out.println(修改100个用户数据);Thread.sleep(2500);} catch (Exception e) {e.printStackTrace();}finally{long endTimer System.currentTimeMillis();System.out.println(updateUsers方法耗时 (endTimer - startTimer) / 1000.0 s);}} }定义测试类创建实现类对象调用方法。 public class Test {public static void main(String[] args) {UserService userService new UserServiceImpl();System.out.println(userService.login(admin, 1234));System.out.println(userService.deleteUsers());userService.selectUsers();userService.updateUsers();} } 提出问题 业务对象的的每个方法都要进行性能统计存在大量重复的代码。 使用动态代理解决问题 动态代理 代理就是被代理者没有能力或者不愿意去完成某件事情需要找个人代替自己去完成这件事动态代理就是用来对业务功能方法进行代理的。 关键步骤 1.必须有接口实现类要实现接口代理通常是基于接口实现的。 2.创建一个实现类的对象该对象为业务对象紧接着为业务对象做一个代理对象。 代理过程 当我们要对login方法进行耗时统计时先进入代理对象然后统计开始时间接着真正执行登录方法最后统计结束时间如下图所示 代码 接口不用变修改实现类和测试类增加一个代理工具类如下 public class UserServiceImpl implements UserService{Overridepublic String login(String loginName, String passWord) {try {Thread.sleep(1000);} catch (Exception e) {e.printStackTrace();}if(admin.equals(loginName) 1234.equals(passWord)) {return success;}return 登录名和密码可能有毛病;}Overridepublic void selectUsers() {System.out.println(查询了100个用户数据);try {Thread.sleep(2000);} catch (Exception e) {e.printStackTrace();}}Overridepublic boolean deleteUsers() {try {System.out.println(删除100个用户数据);Thread.sleep(500);return true;} catch (Exception e) {e.printStackTrace();return false;}}Overridepublic void updateUsers() {try {System.out.println(修改100个用户数据);Thread.sleep(2500);} catch (Exception e) {e.printStackTrace();}} }import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /**public static Object newProxyInstance(ClassLoader loader, Class?[] interfaces, InvocationHandler h)参数一类加载器负责加载代理类到内存中使用。参数二获取被代理对象实现的全部接口。代理要为全部接口的全部方法进行代理参数三代理的核心处理逻辑*/ public class ProxyUtil {/**生成业务对象的代理对象。* param obj* return*/public static T T getProxy(T obj) {// 返回了一个代理对象了return (T)Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),new InvocationHandler() {Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {// 参数一代理对象本身。一般不管// 参数二正在被代理的方法// 参数三被代理方法应该传入的参数long startTimer System .currentTimeMillis();// 马上触发方法的真正执行。(触发真正的业务功能)Object result method.invoke(obj, args);long endTimer System.currentTimeMillis();System.out.println(method.getName() 方法耗时 (endTimer - startTimer) / 1000.0 s);// 把业务功能方法执行的结果返回给调用者return result;}});} } public class Test {public static void main(String[] args) {// 1、把业务对象直接做成一个代理对象返回代理对象的类型也是 UserService类型UserService userService ProxyUtil.getProxy(new UserServiceImpl());System.out.println(userService.login(admin, 1234));System.out.println(userService.deleteUsers());userService.selectUsers();userService.updateUsers(); // 走代理} } 动态代理的优点 非常的灵活支持任意接口类型的实现类对象做代理也可以直接为接口本身做代理。 可以为被代理对象的所有方法做代理。 可以在不改变方法源码的情况下实现对方法功能的增强。 不仅简化了编程工作、提高了软件系统的可扩展性同时也提高了开发效率。
http://www.w-s-a.com/news/508593/

相关文章:

  • 毕业设计论文网站开发需要多少网站seo建设方案
  • h5页面用什么做杭州优化外包哪里好
  • 许昌网站建设百姓国货app下载
  • 什么是建站装修公司做宣传在哪个网站
  • 阿里云虚拟主机多个网站吗大庆油田建设集团网站
  • 坂田公司做网站公司有网站域名后如何建网站
  • 自媒体网站程序淘宝网站维护
  • 凡科网站建设网站wordpress 七牛oss
  • 搬瓦工的主机可以用来做网站吗分类信息网站开发需求方案
  • 上海高端网站开发站霸网络国际网站建设的目的
  • 程序员招聘求职的网站做网站加入广告联盟
  • 网站建设的技术方案模板易做文学网站的logo
  • 建设国家标准官方网站响应式网站切图
  • 网站链接数怎么做wordpress安装网址
  • 沈阳建网站 哪家好如何做旅游网站推销
  • 继续网站建设南通网站建设方法
  • 淮南公司网站建设如果做京东优惠卷的网站
  • 二手房网站平台怎么做项目工程监理公司网站建设方案
  • 秦皇岛做网站公司小说推广平台有哪些
  • php网站做分享到朋友圈天元建设集团有限公司信用代码
  • 邱县做网站在线免费图片编辑器
  • 网站备份网站做网站如何把支付宝微信吧
  • 做网站的怎么获取客户信息晋城建设局网站
  • 新开传奇网站发布网单职业wordpress建站网页无法运作
  • 海南省住房和城乡建设厅官方网站网站开发有哪些语言
  • 网站开发排期表免费网站建设策划
  • 飞沐网站设计江苏建设人才网证书查询
  • 网站优化的意义怎么帮商家推广赚钱
  • 安顺公司做网站福州建设发展集团有限公司网站
  • 普陀企业网站建设做散客机票的网站如何推广