zoukankan      html  css  js  c++  java
  • Guava Cache -- MapMaker.makeComputingMap测试

    canal中很多处使用了MigrateMap.makeComputingMap(Function<? super K, ? extends V> computingFunction)方法,第一次接触这个方法,之后简单的测试了一下,大致知道了其作用。
    package com.company;
    
    import com.google.common.base.Function;
    import com.google.common.collect.MigrateMap;
    
    import java.util.concurrent.ConcurrentMap;
    
    
    /**
     * @author chenjunjie
     * @since 2018-9-26
     */
    public class GoogleColTestMain {
        /**
         * @param args
         */
        public static void main(String[] args) {
            // makeComputingMap方法:根据this,创建一个NullComputingConcurrentMap或ComputingConcurrentMap。
            ConcurrentMap<String, String> testMap =  MigrateMap.makeComputingMap(new Function<String, String>() {
                /**
                 * 这里就是绑定的根据key没找到value的时候触发的function,
                 * 可以将这里的返回值放到对应的key的value中!
                 * @param arg0
                 * @return
                 */
                public String apply(String arg0) {
                    return "create:" + arg0;
                }
    
            });
    
            testMap.put("a", "testa");
            testMap.put("b", "testb");
    
            System.out.println(testMap.get("a"));
            System.out.println(testMap.get("b"));
            System.out.println(testMap.get("c"));
            System.out.println(testMap.get("d"));
    
            /**
             * 总结:
             * 运行结果可以知道,当map再调用get的时候如果根据key值获取不到value时,会触发function,执行apply方法。
             */
        }
    }
    

    测试结果:

    "D:Program FilesJavajdk1.8.0_181injava.exe" ...
    testa
    testb
    create:c
    create:d
     
    Process finished with exit code 0
     
     
    从运行结果可以知道,当map再调用get的时候如果根据key值获取不到value时,会触发function,执行apply方法,并获取apply返回的值。
     
     

  • 相关阅读:
    input 只能输入数字
    “学生宿舍管理系统”主要内容及特点
    web_03Java ee实现定时跳转,使用C3P0,DBUtils类重构数据库操作
    DBUtils工具类的使用
    C3P0连接池
    java ee 中 Jsp 页面的定时的跳转(数字倒数)
    JSP中实现网页访问统计的方法【转】
    Java web验证码
    web_02Java ee实现验证码,网站访问次数功能
    web_01Java ee实现登陆注册功能
  • 原文地址:https://www.cnblogs.com/chenjunjie12321/p/9706006.html
Copyright © 2011-2022 走看看