zoukankan      html  css  js  c++  java
  • 【对线面试官】Java注解

    今天面试官考我Java注解...

    public void send(String userName) {
      try {
        // qps 上报
        qps(params);
        long startTime = System.currentTimeMillis();

        // 构建上下文(模拟业务代码)
        ProcessContext processContext = new ProcessContext();
        UserModel userModel = new UserModel();
        userModel.setAge("22");
        userModel.setName(userName);
        //...

        // rt 上报
        long endTime = System.currentTimeMillis();
        rt(endTime - startTime);
      } catch (Exception e) {
        
        // 出错上报
        error(params);
      }
    }
    @Around("@annotation(com.sanwai.service.openapi.monitor.Monitor)")
        public Object antispan(ProceedingJoinPoint pjp) throws Throwable {

            String functionName = pjp.getSignature().getName();
            Map<String, String> tags = new HashMap<>();

            logger.info(functionName);

            tags.put("functionName", functionName);
            tags.put("flag""done");

            monitor.sum(functionName, "start"1);

            //方法执行开始时间
            long startTime = System.currentTimeMillis();

            Object o = null;
            try {
                o = pjp.proceed();
            } catch (Exception e) {
                //方法执行结束时间
                long endTime = System.currentTimeMillis();

                tags.put("flag""fail");
                monitor.avg("rt", tags, endTime - startTime);

                monitor.sum(functionName, "fail"1);
                throw e;
            }

            //方法执行结束时间
            long endTime = System.currentTimeMillis();

            monitor.avg("rt", tags, endTime - startTime);

            if (null != o) {
                monitor.sum(functionName, "done"1);
            }
            return o;
        }

    文章以纯面试的角度去讲解,所以有很多的细节是未铺垫的。

    比如说反射、.java文件到jvm的过程、AOP是什么等等等...这些在【Java3y】都有过详细的基本教程甚至电子书,我就不再详述了。

    注解可以把它当做是配置的载体,可能在运行时、可能在编译过程中解析注解,实现些方便好用的功能。

    欢迎关注我的微信公众号【面试造火箭】来聊聊Java面试

  • 相关阅读:
    Tomcat
    DOM/SAX/PULL解析XML
    Android网络编程 知识框架
    Chapter 10 Networking/JSON Services
    Chapter 10 Networking/Web Service Using HTTP
    Android-Universal-Image-Loader
    8.Media and Camera/Media Camera
    PAT乙级1007.素数对猜想(20)
    筛法求素数详解
    PAT乙级1006.换个格式输出整数(15)
  • 原文地址:https://www.cnblogs.com/Java3y/p/14183635.html
Copyright © 2011-2022 走看看