240 发简信
IP属地:江苏
  • 致命错误: 在类路径或引导类路径中找不到程序包 java.lang

    一般有两个原因: Path分隔符和系统不匹配,可以通过使用Java的Property来适配,也就是使用${path.separator} Mav...

  • Resize,w 360,h 240
    Java Stream API初探

    Stream [toc] 0. 前置知识点 函数式接口 lambda表达式和方法引用传递 1. 概述 Stream API提供一种”函数式风格的...

  • Java SPI提供的可插拔特性

    面向接口编程的设计中,我们在使用一个service时,通常是从接口的层面来使用,通俗的说,即声明service实例时使用接口名来声明,而非使用具...

  • ZooKeeper实现leader选举

    为什么需要leader选举 在多节点的集群中,如分布式缓存、分布式队列等分布式应用,为了保证一致性,一般采用一主多从的的架构,leader负责写...

  • Zookeeper线程安全的分布式锁的实现

    在并发编程中,锁是一个很重要的组件,也是控制并发安全的主要工具。从本质上说,锁就是一个存在公共区域的标志位,线程要访问有锁控制的区域需要先检查这...

  • zookeeper入门之发布订阅模式简单实现

    zookeeper通过使用watcher可以实现发布订阅的功能,实际上就是基于监听的事件触发。 示例 以下是在zk上创建一个Node存储app的...

  • Mockito入门和原理初探

    mock使用 mock主要在单元测试的时候用来模拟外部依赖接口的返回,即method stub的作用。 一般而言,在常见的单元测试的编写中,通过...

  • Mockito入门

    mock使用 mock主要在单元测试的时候用来模拟外部依赖接口的返回,即method stub的作用。 一般而言,在常见的单元测试的编写中,通过...