240 发简信
IP属地:北京
  • 多线程快速入门

    线程与进程区别 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上...

  • 120
    eureka迁移到nacos--双服务中心注册

    服务注册中心的迁移有多种方式,官网使用nacos sync,还有民间开发的双注册中心组件eureka-nacos-proxy,但是我用了不太顺利,所以用的是阿里巴巴的双注册中...

  • Spring Boot 配置多个RabbitMQ

    在项目中经常遇到一个Spring Boot工程要连接多个RabbitMQ。如果只连接一个,Spring Boot可以零配置连接RabbitMQ,这样不需要做额外的工作。但如果...

  • @Validated和@Valid区别

    Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了...

  • Spring Boot单元测试集成redis

    测试不应该访问外部资源 对于单元测试,集成测试里,如果被测试的方法中使用到了redis,你需要去模拟一个单机环境的redis server,因为只有这样,你的测试才是客观的,...

  • docker+mysql 修改配置后启动失败

    最近在学习canal相关知识,于是修改docker中mysql的配置文件mysqld.cnf,修改后执行docker restart mysql后发现没有起来,执行docke...

  • 双注册双订阅模式

    双注册双订阅表示一个Provider应用可以将自身的实例信息注册到多个注册中心上,一个Consumer应用可以订阅到多个注册中心上的服务实例信息。 如图所示,Provider...

  • 120
    如何优雅的进行重试

    1. 说明 最近公司在搞活动,需要依赖一个第三方接口,测试阶段并没有什么异常状况,但上线后发现依赖的接口有时候会因为内部错误而返回系统异常,虽然概率不大,但总因为这个而报警总...

  • Lombok常用注解

    和其他语言相比, Java经常因为不必要的冗长被批评。 Lombok提供了一系列注解用以在后台生成模板代码,将其从你的类中删除,从而有助于保持你的代码整洁。较少的模板意味着更...

  • 120
    全解史上最快的JOSN解析库 - alibaba Fastjson

    JSON,全称:JavaScript Object Notation,作为一个常见的轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的。简洁和清晰的层次结构使得 J...

  • 120
    Java多线程之内存可见性

    可见性 可见性:一个线程对共享变量值的修改,能够及时地被其他线程看到。共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。 Java...

  • 120
    12 Gradle 项目发布

    接下来咱们来看下构建工具的最后一个环节,项目发布。项目发布可以将我们写好的模块发布给别人去使用,也可以发布到公司的公共仓库以供依赖的项目使用。这是公司中多项目协同合作的重要环...

  • 120
    11 Gradle 自动化测试

    测试是每个项目必不可少的一步,每一款软件都需要测试通过才能上线。由于测试的必需性,所以有了一些测试框架的面世,比如 Junit,TestNG 等,能够帮我们编写可复用的结构化...

  • 120
    10 Gradle 实现多项目构建

    之前我们已经学习了Gradle 的基本原理知识点,已经了解了 Gradle 构建配置的组成部分以及构建的生命周期,如何进行依赖管理以及如何解决传递性依赖冲突。那这一篇我们来做...

  • 9 Gradle 版本冲突问题

    在之前的文章上,我们已经知道了如何添加依赖,如何来管理依赖。其实管理依赖的最重要的环节就是传递性依赖过程中存在的版本冲突的问题处理。接下来咱们先来看个传递性依赖过程中存在 j...

  • 120
    8 Gradle项目依赖管理

    上一篇咱们讲解了 Gradle 构建项目的生命周期,这一篇咱们来看下 Gradle 的另一个重要的知识点:依赖管理,那为什么需要依赖管理呢? 依赖管理 几乎所有基于 JVM ...