自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

原创 Lambda 对List集合多字段组合去重

public static void main(String[] args) { List<QrCodeBaseDTO> saveDTOList = new ArrayList<>(); QrCodeBaseDTO baseDTO = new QrCodeBaseDTO(); baseDTO.setAppId("AppId...

2019-11-09 18:48:38 2744

原创 简记Java8 Lambda表达式的使用

package com.king.lambda;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import org.junit.Assert;import java.util.*;import java.util.stream.Collectors;impo...

2019-05-15 11:29:57 332

原创 linux设置定时任务

linux定时任务

2023-01-19 17:27:49 1591 1

转载 Linux服务器时间同步

Linux服务器时间同步

2022-10-12 10:45:03 9982

原创 VMware安装Centos7.6之后系列操作

VMware安装Centos7.6之后系列操作(仅供学习)

2022-07-25 00:29:24 884

转载 索引:手把手教你索引从零基础到精通使用

索引:手把手教你索引从零基础到精通使用

2022-06-22 17:46:08 1291

转载 中台、DDD和微服务设计的两张图

参考文献:基于DDD的微服务设计和开发实战基于DDD的微服务设计和开发实战 - 简书浅谈微服务体系中的分层设计和领域划分浅谈微服务体系中的分层设计和领域划分极客时间专栏:DDD实战课--基于DDD的微服务拆分与设计01 | 领域驱动设计:微服务设计为什么要选择DDD?-极客时间...

2021-11-10 17:46:18 124

转载 基于DDD的微服务设计和开发实战

本文已在InfoQ发表。你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案。本文是基于DDD的微服务设计和开发实战篇,通过借鉴领域驱动设计思想,指导微服务项目团队进行设计和开发(理论篇详见《当中台遇上DDD,我们该如何设计微服务》)。本文包括三部分内容:第一部分讲述领域驱动设计基本知识,包括:分层架构、服务视图、数据视图和领域事件发布和订阅等;第二部分讲述微服务设计方法、过程、模板、代码目录、设计原则等内容;

2021-11-10 17:43:59 285

原创 基于Docker的Mysql主从复制搭建

目录前言拉取Docker镜像启动Master(主):启动Slave(从):配置Master(主)配置Slave(从)连接Master(主)和Slave(从)上述命令说明:测试主从复制主从复制采坑记录前言Docker使用步骤简便,启动容器在秒级别利用.一、拉取Docker镜像Docker搭建主从服务器首先拉取docker镜像,我们这里使用5.7版本的mysql:docker pull mysql:5.7然后使用此镜像启动容器,这里需要分别启动主

2021-11-06 21:04:53 808 1

转载 Js中WebSocket

js中WebSocket一、概念WebSocket的定义  WebSocket是html5提供的一种在单个TCP连接上进行双向通信的协议,解决了客户端和服务端之间的实时通信问题。浏览器和服务器只需完成一次握手,两者之间就可以创建一个持久性的TCP连接,此后服务器和客户端通过此TCP连接进行双向实时通信。WebSocket的优点  很多网站为了实现数据推送,所用的技术都是ajax轮询。轮询是在特定的时间间隔,由浏览器主动发起请求,将服务器的数据拉回来。轮询需要不断的向服务器发送请求,会占用

2021-09-27 17:42:32 1971

转载 Mybatis @SelectProvider 等四个注解

mybatis @SelectProvider 注解, 打赌你没有用过程序员龙台公众号「龙台的技术笔记」,干货满满。3 人赞同了该文章01、前言为什么会写这篇文章, 因为在看到MapperAnnotationBuilder构造方法初始化时, 发现了四个从未见过的注解public MapperAnnotationBuilder(Configuration configuration, Class<?> type) { ... sqlAnnotati..

2021-09-26 11:14:09 561

原创 阿里开源的缓存框架JetCache

阿里开源的缓存框架JetCache之前一直在用Spring Cache进行接口数据的缓存,主要是Spring Cache在对具体key缓存失效时间的设置不是很方法,还要自己去扩展,无意中发现了阿里的JetCache。大部分的需求都能满足,并且有一些很实用的功能,今天给大家介绍下。JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。 JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口

2021-09-23 15:04:36 1003

原创 关于mvn deploy命令部署SNAPSHOT的细节以及400错误。

今天在尝试用mvn deploy部署SNAPSHOT,碰到了一些问题,记录如下:1. 如何将组件标记为SNAPSHOT:在POM文件里,有<version>节点,这个节点如果以SNAPSHOT结尾(注意这里必须是全大写),那么就会识别成SNAPSHOT版,否则就是release版。这里需要注意的是《Maven权威指南》的英文版里说的If a version contains the string “-SNAPSHOT,”是错误的,因为当SNAPSHOT在中间,而不是结尾的时候,比如"

2021-09-07 16:06:47 1285

原创 Spring-RabbitMQ源码解读

一、知识点1、RabbitListenerEndpoint :Endpoint为终端,像电脑、手机都是终端,他们都可以接受外部信息并响应,如手机来短信了就有提示。这里也用了终端的概念,例如:被@RabbitListener注解修饰方法也有终端的特点 可以接受外部信息并响应。public interface RabbitListenerEndpoint { /** * the id of this endpoint */ String getId(); /**...

2021-09-06 15:11:47 1663 1

原创 设计模式三之其他模式

参考https://www.runoob.com/design-pattern/design-pattern-tutorial.html

2021-08-17 13:58:25 90

原创 RibbitMQ钉钉告警的实现机制

https://super-wings.yuque.com/snidget/gxxzbd/leodpi

2021-08-03 11:36:32 164

原创 Docker项目接入Skywalking系统

Java项目基于Docker容器接入Skywalking

2021-08-02 20:35:17 283

原创 Docker安装Skywalking系统

一、Skywalking简单介绍  Skywalking是一个应用性能管理(APM)系统,具有服务器性能监测,应用程序间调用关系及性能监测等功能,Skywalking分为服务端、管理界面、以及嵌入到程序中的探针部分,由程序中的探针采集各类调用数据发送给服务端保存,在管理界面上可以查看各类性能数据。本文介绍服务端及管理界面的安装。二、环境介绍    本文使用虚拟机Centos7+Docker。三、elasticsearch安装1.1:安装ElasticSearch,  因为在安装需要挂

2021-08-02 20:23:58 2850 2

原创 构建一个Docker镜像

springboot运用jar包成docker镜像1.创建springboot项目https://gitee.com/JiuLongBingShi/springboot-docker2.通过maven install构建jar包.\target目录下获取jar包:springboot-docker-1.0.1-SNAPSHOT.jar3.创建一个Dockerfile文件Dockerfile中的内容如下(注:Dockerfile没有后缀名)#--指定基础镜像FROM .

2021-06-22 18:55:29 494 7

原创 CentOS 7.x 安装 Docker

https://www.runoob.com/docker/centos-docker-install.html

2021-06-22 15:52:36 167

原创 Swagger 按照枚举类自定义展示

场景Spring项目中,使用swagger去自动生成接口文档.当存在一个enum枚举时,会有很多VO和param的DTO去引用它.如果修改这个enum,相关联的很多DTO和其他文件的注释description就需要关联修改,否则就会造成前后端掌握的枚举值不一致的情况.话不多说,直接上代码.1.实现.package cn.king.core.configuration;import cn.king.core.enums.BusinessEnum;import com.goog.

2021-01-28 20:25:30 1998

原创 Maven高级应用--编译全模块包-dist包

Maven高级应用--编译全模块包-dist包(distribution包)1. 在需要生成dist包的模块级别,新建文件夹xxx-xxxx-dist2. 进入目录,新建pom.xml,建议copy3. dependencies节点,把要编译成全局包的应用引入进来<!-- 引入依赖模块 --><dependency> <groupId>xxx.xxx.xxxx</groupId> <artifactId>xxx-xxx-

2021-01-06 10:04:25 610

原创 记一次mybatisplus.IService.saveOrUpdate可能导致脏数据

com.baomidou.mybatisplus.extension.service.IService.saveOrUpdate@version 乐观锁机制 // 执行saveOrUpdate操作 // // 注意: 如果在entity中version字段加了@version. // 在使用saveOrUpdate这个方法时.一定要注意使用version字段.它在sql的where后会加version...那么 //.

2020-12-30 21:12:19 4831 1

原创 mybatisplus.MetaObjectHandler;元对象字段填充控制器抽象类,实现公共字段自动写入

先放一张表生成策略对应的结果值 描述 DEFAULT 默认不处理 INSERT 插入时填充字段 UPDATE 更新时填充字段 INSERT_UPDATE 插入和更新时填充字段 /* * Copyright (c) 2011-2014, hubin ([email protected]). * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you

2020-12-30 20:41:06 1176 1

原创 spring-boot-starter-actuator配置详细

#ACTUATOR PROPERTIES#MANAGEMENT HTTP SERVER(ManagementServerProperties)management.server.add-application-context-header=false #在每个响应中添加“X-Application-Context”HTTP标头.management.server.address=#管理端点应绑定到的网络地址.需要自定义management.server.port.management.serv.

2020-12-21 12:10:16 1814 1

原创 解决Apollo加载顺序问题

记一次Apollo加载顺序问题问题描述 @FeignClient(url="${basic.member.path-url}")这里的basic.member.path-url项目启动时获取了yml文件的值....而且不能获取apollo配置的值我想要它获取apollo的值.应该怎么做?我调试了一下...feign在初始化的时候apollo配置还没有注入environment...我想可不可以调整一下apollo的加载优先级.想问问...有办法解决这个优先级么?问题解决...

2020-12-09 17:31:32 4562 3

原创 Arthas(阿尔萨斯)实现Java热更新

一、arthas实现Java热更新1、下载arthas-boot.jar2、准备一个demo服务.新加一个测试文件(TestSrv.java).package cn.king.domain.v1.controller.test;import org.springframework.stereotype.Service;/** * TestSrv * * @Description * @Author HHJ * @Date 2020-12-08 16:00 */@Servi

2020-12-08 16:44:50 1927

原创 Arthas(阿尔萨斯)简记

Arthas(阿尔萨斯) 能做什么?Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! .

2020-12-08 15:33:35 368

转载 【JVM】JVM参数性能调优 -Xms -Xmx -Xmn -XX:NewRatio -XX:SurvivorRatio

原文链接:http://unixboy.iteye.com/blog/174173/堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m -Xmn2g -Xs.

2020-10-13 15:38:08 863

转载 用一个过滤html实例来说明HttpServletRequestWrapper类的使用

引入实例的功能:对用户输入的敏感字眼进行过滤应用场景:评论功能有时候需要对用户输入的某些敏感字眼进行过滤实现架构:模块一:前端页面:提供用户输入的界面,展示用户输入的内容模块二:过滤器:对某些敏感字眼的过滤功能在此实现模块三:servlet:在本实例中,因为用户的输入最终显示在用户输入的界面,因此servlet需要将用户输入的内容保存到request中,并且用requestDispatcher类请求转发到首页示意图为:源码:首页index.jsp的源码如下:

2020-09-29 11:16:41 285

转载 Java动态代理InvocationHandler和Proxy学习笔记

java动态代理机制中有两个重要的类和接口InvocationHandler(接口)和Proxy(类),这一个类Proxy和接口InvocationHandler是我们实现动态代理的核心;1.InvocationHandler接口是proxy代理实例的调用处理程序实现的一个接口,每一个proxy代理实例都有一个关联的调用处理程序;在代理实例调用方法时,方法调用被编码分派到调用处理程序的invoke方法。看下官方文档对InvocationHandler接口的描述: {@code Invo

2020-09-10 17:02:53 304

转载 Intellij IDEA 查找接口实现类的快捷键

看代码的遇见子类或者接口的实现时,如果有个类图工具就能让我们层次和关系一目了然,如果您的IDE是IntelliJ IDEA,推荐使用其自带的类图功能;工具版本社区版不带类图功能,所以请使用完整版,以下是我用的版本信息:使用类图功能以Spring源码的工程为例,假设我已经打开了ApplicationContext.java,在这个类的大括号内的区域点击右键,选择Diagrams -> Show Diagram,即可打开类图,如下图红框所示:打开的效果如下图所示:Applicati

2020-09-10 15:38:46 859 1

原创 Mybatis源码解析

Mybatis源码解析一、前言本文旨在mybatis源码解析,将整个mybatis运行原理讲解清楚,本文代码地址:https://github.com/lchpersonal/mybatis-learn本文使用的mybatis版本:3.2.8,jdk版本:1.8数据库版本:mysql 5.6,数据库脚本如下,此外在源文件为:resources/mybatis.sql-- 导出 mybatis 的数据库结构CREATE DATABASE IF NOT EXISTS `mybatis` /

2020-09-06 21:34:44 120

转载 Linux下free和top命令详解

Linux top命令详解top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器第一行,任务队列信息,同 uptime 命令的执行结果系统时间:07:27:05运行时间:up 1:57 min,当前登录用户: 3 user负载均衡(uptime) load average: 0.00, 0.00, 0.00 average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load avera...

2020-08-10 21:15:21 2471

转载 Skywalking介绍与使用

Skywalking介绍与使用2015年由个人吴晟(华为开发者)开源 , 2017年加入Apache孵化器;针对分布式系统的应用性能监控系统,特别针对微服务、cloud native和容器化(Docker, Kubernetes, Mesos)架构, 其核心是个分布式追踪系统;使用java探针字节码增加技术,实现对整个应用的监控 ;对应用零侵入。作用Apm,链路追踪,告警。对比 Cat Zipkin ..

2020-08-07 20:45:47 1583

转载 解决一次mysql死锁问题

解决一次mysql死锁问题背景多线程开启事务处理。每个事务有多个update操作和一个insert操作(都在同一张表)。DDL(删除了一些不必要的细节)默认隔离级别:Repeatable ReadCREATE TABLE `list_rate` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `hotel_id` bigint(20) NOT NULL, `rate_date` date NOT NULL, `room_type_i

2020-08-07 11:55:20 843

转载 Spring工具 - AntPathMatcher&UrlPathHelper(针对URL进行处理)

Spring工具篇(1)- AntPathMatcher&&UrlPathHelper(针对URL进行处理)JAVA && Spring && SpringBoot2.x — 学习目录源码版本:SpringBoot2.1.3 内含 Spring-5.1.5源码位置:org.springframework.web.cors.UrlBasedCorsConfigurationSource#getCorsConfigurationpublic clas

2020-07-22 11:07:38 1404

转载 SpringBoot项目配置Tomcat和JVM参数

SpringBoot项目配置Tomcat和JVM参数设置Tomcat端口号和连接数等使用application.properties配置文件有一些参数无法设置,所以推荐创建一个类文件来配置,如下: import org.apache.catalina.connector.Connector; import org.apache.coyote.http11.Http11NioProtocol; import org.springframework.boot.context.em

2020-07-05 20:40:08 3123

原创 BeanExpressionContext实现@Value的功能

@SpringBootApplicationpublic class CommissionServiceAppliction { public static void main(String[] args) { ConfigurableApplicationContext app = new SpringApplicationBuilder(CommissionSer...

2020-04-27 11:39:22 1087

原创 System.arraycopy数组复制

java.lang.System.arraycopy在jdk中的定义public static native void arraycopy(Object src, int srcPos, Object dest, int destPos,int length);作用:从指定的源数组(从*指定位置开始)复制一个数组到目标数组的指定位置。(native关键字修饰)参数:Object...

2020-04-25 13:19:11 183

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除