17 Matching Annotations
  1. Aug 2024
    1. 当然,在实际使用中,更多的情况是String -> Date的转换case,怎么破?有两个办法:回味本系列前面文章,因为前面有讲了不止一次关注后面文章。因为此case过于常见,后面(特别是在Spring MVC下使用)依旧会重点提及
  2. Jul 2024
    1. 这里只是用坚果云来举例说明,你可以更换为任意网盘、NAS、Git 等方式实现自动同步。如果需要使用 授权登录 或 API 话,暂时只支持坚果云。

      不想在本地安装坚果云,打算把本地同步到nas再通过nas同步到坚果云

  3. Jun 2024
    1. 这两种方式结合起来,不就是典型的默认 + 定制扩展的搭配麽?

      ValidatorContext 负责生成自定的校验器 Validator Factory 负责生成默认的校验器

  4. Aug 2023
    1. 那么,如何让发起请求的时候,使用我们小号的私钥呢?我们先来看一下执行 clone 代码时候,仓库源那个以 git 开头的链接是什么意思:

      给目标服务器配置别名

    1. 该接口描述为xxxFactory是非常合适的,很好的表达了1:N的关系

      这和我手动实现的,自定义顺序的比较器的功能非常类似; 通过范型生成不同类型的比较器;我的那个工具类,也应该叫 CustomOrderComparatorFactory 比较合适

    1. 完整的 @Configuration 与 "精简的" @Bean 模式?

      完整模式与精简模式

  5. Jul 2023
    1. 简单的 value 属性之外,还接受命名的(named)属性

      @Qualifier 可以定义 注解+属性名

    1. 首先需要导入 getCurrentInstance() 方法

      vue 3 获取 this(vue 实例对象) 的方法; 全局方法

    1. 流程中的节点往后传递参数非常简单,只需往控制台输出即可。但须注意,多个控制台输出会合并到一起,因此除了往后传递参数外,其他情况下都不要往控制台打印文本。通常控制台输出会包含换行符,为避免换行符带来干扰,推荐使用 echo -n(bash) 或 sys.stdout.write(python);直接执行 js 时,方法内部的return 即往后传递参数,此时 console.log 输出到控制台并不合法。

      Alfred workflow 脚本传递参数

    1. Getting a Summary for an Attribute of Grouped Results

      summary 可以用来获取平均值、计数等多个结果,不用每次重新获取刘对象

    2. A different application of the downstream collector is to do a secondary groupingBy to the results of the first group by.

      不但可以 groupingBy(BlogPost::getAuthor, groupingBy(BlogPost::getType) 分组之后再分组;还可以 分组之后,再映射 groupingBy(BlogPost::getAuthor, tomap(BlogPost::getType,BlogPost::xxx) 第二个参数可以跟任何 collectors 里面的操作

  6. Jun 2023
    1. 但在多线程的极端情况下,还是会产生缓存数据不一致的情况的。比如上述实例中,CPU-0修改数据,发消息给其他CPU,其他CPU消息队列接收成功并返回。这时CPU-1正忙着处理其他业务,没来得及处理消息队列,而CPU-1处理的业务中恰好又用到了变量a,此时就会造成读取到的a值为旧值。 这种因为CPU缓存优化导致后面的指令无法感知到前面指令的执行结果,看起来就像指令之间的执行顺序错乱了一样,对于这种现象我们俗称“CPU乱序执行”。

      指令乱序的另一种解释; 之前一直认为的是,jvm 编译时优化导致了指令乱序; 此观点认为实际上没有乱序,是因为CPU缓存没来得及更新导致的,看起来像乱序执行 两种观点待后续查证,可能两种都有关

      指令重排跟两个方面都有关系, 编译器的优化 CPU 缓存失效队列的延迟 b站

  7. May 2023