自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XUDC的程序人生

记录自己的学习、经验、总结

  • 博客(79)
  • 资源 (4)
  • 收藏
  • 关注

原创 关于SpringBoot/Cloud项目的跨域的几种解决方案

关于SpringBoot/Cloud项目的跨域的几种解决方案跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。比如,站点 http://domain-a.com 的某 HTML 页面通过 <img> 的 src 请求 http://domain-b.co

2020-05-17 23:00:36 735

原创 Spring Boot - Valid Form表单参数验证

Spring Boot - Valid Form表单参数验证本文介绍使用@Valid优雅的进行Form表单参数校验,避免大量的if(){...}语句…主要依赖lombok插件主要为了简化代码,自行视情况添加使用。thymeleaf主要为了页面测试<dependency> <groupId>org.springframework.boot</gro...

2020-04-21 12:20:59 918

原创 Spring Cloud Alibaba + Nacos Config实现配置动态更新

Spring Cloud Alibaba + Nacos Config实现配置动态更新本文主要介绍使用Spring Cloud Alibaba + Nacos Config实现动态配置自动变更。相关依赖<!-- 暴露web接口 --><dependency> <groupId>org.springframework.boot</grou...

2020-04-19 15:02:57 4702 2

转载 分布式数据库解决方案Apache ShardingSphere毕业成为顶级项目

分布式数据库解决方案Apache ShardingSphere毕业成为顶级项目全球最大的开源软件基金会 Apache 软件基金会(以下简称 Apache)于北京时间 2020年4 月 15 日宣布 Apache ShardingSphere毕业成为 Apache 顶级项目。ShardingSphere于2018年11月10日捐赠给Apache并启动孵化。之后在导师的指导下,由孵化器管理委员会成员进...

2020-04-18 11:31:15 425

转载 在 Spring Boot 中使用 Dataway 配置数据查询接口

【推荐阅读】微服务还能火多久?>>> Dataway介绍 Dataway 是基于 DataQL 服...

2020-04-18 11:16:48 1991

原创 SpringBoot + AOP + 自定义注解实现统一日志处理

SpringBoot + AOP + 自定义注解实现统一日志处理在实际开发中,我们经常需要对接口方法打印出日志,比如参数等。如果每个方法里都要手动去写,那样代码显得太冗余了,而且日志风格也参差不齐。本文将使用Spring Boot、Spring AOP结合自定义注解,实现统一的日志处理。添加依赖因为我将会使用json序列化,所以加入了fastjson的依赖.<dependenc...

2020-04-10 22:23:54 568 2

原创 Github速度太慢?一招变快!

地处东方大陆,经常被因为一些不可说的原因,导致访问Github速度太慢,真的那速度,啧啧啧,感觉活在2G时代。一个开源仓库,我要等到花儿谢。。。本文将介绍一种简单的方式,达到网络带宽的极致速度。方法嘛,就是使用我们的“码云”,就是Gitee,那个“国内版Github”。准备我们需要一个码云账号,没有去注册一个,注册地址:https://gitee.com/signup方法我们就是...

2020-03-29 18:19:30 1099

原创 Spring Cloud 学习 - Nacos服务发现之Feign方式调用

Spring Cloud 学习 - Nacos服务发现之Feign方式调用上一篇,我们介绍了 Spring Cloud 学习 - Nacos服务注册与发现 ,使用了RestTemplate进行简单调用,Ribbon作负载均衡。RestTemplate调用看起来不够优雅,这一篇,我们来看一下Feign优雅调用方式。主要版本本文使用的相关技术主要依赖版本如下:Spring Cloud...

2020-03-28 18:27:53 4288

翻译 Linux chmod命令修改文件与文件夹权限命令代码

Linux chmod命令修改文件与文件夹权限命令代码在Linux中要修改一个文件夹或文件的权限我们需要用到linux chmod命令来做,下面我写了几个简单的实例大家可参考一下。语法如下:chmod [who] [+ | - | =] [mode] 文件名命令中各选项的含义为u 表示“用户(user)”,即文件或目录的所有者。g 表示“同组(group)用户”,即与文件属主有相同组I...

2020-03-28 17:32:13 500

原创 Spring Cloud 学习 - Nacos服务注册与发现

Spring Cloud 学习 - Nacos服务注册与发现Nacos,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。本文将介绍Nacos作为服务注册中心与Spring Cloud的整合实例。关于Nacos的安装请参考 Nacos之单机版安装 或 Nacos高可用集群搭建+MySQL持久化Nacos的详细介绍可以查阅官网 https://nacos.io/zh-c...

2020-03-28 15:48:12 733

原创 Nacos高可用集群搭建+MySQL持久化

Nacos高可用集群搭建+MySQL持久化之前讲述了Nacos单机版的简单安装,详情请参阅 Nacos之单机版安装 或者参考 官网,本文将进一步搭建一个生产可用级别的Nacos高可用集群,并使用MySQL数据库实现数据的持久化。架构图下面使官方推荐的搭建模式:本文使用Nginx来承担VIP的责任,复制负载均衡。环境要求64 bit JDK1.8+;64 bit OS(本文Ce...

2020-03-25 18:26:15 6251 1

转载 Web端 SQL审核平台——Yearning Mysql

Web端 SQL审核平台——Yearning Mysql 介绍 Yearning MYSQL 是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易! ...

2020-03-23 20:52:58 950 1

原创 Spring Cloud 学习 - Gateway新一代网关

Spring Cloud Gateway 新一代网关Spring Cloud Gateway 是Spring Cloud的一个全新项目,基于Spring 5.0 + Spring Boot 2.x和Project Reactor等技术开发的网关,旨在为微服务架构提供一种有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系统中的网关组件,目...

2020-03-23 20:33:12 1843

原创 时间末尾多了.000Z?

最近群里有小伙伴问到这个问题,这边正好遇到过,记录一下。这里最后边的

2020-03-10 20:47:54 9404

原创 Spring Boot 2.X整合JSP

Spring Boot 2.X整合JSP虽然Spring Boot官方不推荐使用JSP技术,但是对于一些小公司或者ZF网站,还是有必要的。本文将简单介绍Spring Boot 2.X如何整合JSP实现快速开发。新建项目这里可以用 Spring Initializr 快速创建一个Spring Boot项目,修改打包方式位war:或者修改pom.xml中的packaging属性为war:...

2020-03-02 18:04:37 892

原创 Nacos之单机版安装

Nacos的Nacos,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。简言之,Nacos既可以作为注册中心,又可以作为配置中心,实现Eureka + Spring Cloud Config的功能的结合。OK.下面记录一些W...

2020-02-29 20:22:31 921

原创 Spring Cloud整合Seata实现分布式事务

Spring Cloud整合Seata分布式事务框架Seata:阿里巴巴开源的一款分布式解决方案,其前身是Fescar。官网:https://seata.io/zh-cn/index.html。1. 添加依赖 <dependency> <groupId>com.alibaba.cloud</groupId> ...

2020-02-14 16:36:00 5266 5

原创 编写一个程序,开启3个线程,这三个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出的结果必须按顺序显示。

编写一个程序,开启3个线程,这三个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出的结果必须按顺序显示。一道Java并发相关的面试题。本文使用Lock+Condition实现。package com.xudc.juc;import java.util.concurrent.locks.Condition;import java.util.concurren...

2019-06-01 21:29:06 3242 2

原创 注册中心宕掉后,Dubbo服务还能进行调用吗

注册中心宕掉后,Dubbo服务还能进行调用吗答案是可以的,启动dubbo时,消费者会从注册中心拉取注册的生产者的接口等数据,缓存到本地。每次调用时,按照本地存储的地址进行调用。注册中心对等集群,任意一台宕掉后,将自动切换到另一台。注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯。这里主要受益于Dubbo架构的健壮性:健壮性监控中心宕掉不影响使用,只是丢失部分采样数据数...

2019-05-31 11:53:21 2917

原创 Java8新特性——新时间日期API

Java8新特性——新时间日期API在Java8之前,时间日期API存在线程安全的问题,多线程情况下需要加锁,并且使用起来也比较不方便。Java8为我们提供了新的时间日期API。这篇文章,我们一起来使用下。1. 使用LocalDate、LocalTime、LocalDateTimeLocalDate、 LocalTime、 LocalDateTime类的实例是不可变的对象,分别表示使用I...

2019-05-30 22:58:11 1747

原创 记录JsonNode文本处理asText()和toString()的差异

最近使用JsonNode解析json字符串时,遇到一个与预期不一致的小问题,记录一下~先来看一个Test:/** * @author xudc * @date 2019/5/7 16:42 */public class JsonNodeTest { private final static String SUCC = "success"; @Test p...

2019-05-07 17:52:20 7221

转载 Spring Boot 2.x监控数据可视化(Actuator + Prometheus + Grafana手把手)

TIPS本文基于Spring Boot 2.1.4,理论支持Spring Boot 2.x所有版本众所周知,Spring Boot有个子项目Spring Boot Actuator,它为应用提供了强大的监控能力。从Spring Boot 2.0开始,Actuator将底层改为Micrometer,提供了更强、更灵活的监控能力。Micrometer是一个监控门面,可以类比成监控界的 Slf4...

2019-05-07 10:56:11 12939

原创 Java 11 新特性介绍

Java 11 已于 2018 年 9 月 25 日正式发布,为了加快的版本迭代、跟进社区反馈,Java 的版本发布周期调整为每六个月一次——即每半年发布一个大版本,每个季度发布一个中间特性版本,并且做出不会跳票的承诺。通过这样的方式,Java 开发团队能够将一些重要特性尽早的合并到 Java Release 版本中,以便快速得到开发者的反馈,避免出现类似 Java 9 发布时的两次延期的情况。...

2019-05-06 19:09:35 2104

原创 为什么Redis单线程还能支撑高并发?

Redis的高并发和快速原因redis是基于内存的,内存的读写速度非常快;核心是基于非阻塞的IO多路复用机制;redis是单线程的,反而省去了很多上下文切换线程的时间;为什么Redis是单线程的官方答案因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单...

2019-05-05 12:25:36 3881 1

原创 Java8 Optional类详解

在Java开发中,我们经验要判断对象是否为空,如果可空的对象不判断那么就可能抛出NullPointerException,为了减少这样的null值判断,java官方借鉴google guava类库的Optional类,在java8 中引入了一个同样名字的Optional类,官方javadoc描述如下:A container object which may or may not contai...

2019-05-05 11:46:59 2945

原创 常见消息队列ActiveMQ、RabbitMQ、RocketMQ、Kafka优劣势比较

常见消息队列ActiveMQ、RabbitMQ、RocketMQ、Kafka优劣势比较在高并发业务场景下,典型的天猫双11购物节等业务场景,消息队列中间件在流量削峰、解耦上有不可替代的作用。本文简单介绍一下常见的消息队列如ActiveMQ、RabbitMQ、RocketMQ、Kafka等优劣比较。常见的消息队列这里几乎列举了当下各种主流的MQ中间件:ZeroMQ推特的Distri...

2019-05-03 22:55:37 4486

原创 Spring Boot 2.X - Spring Boot全局异常处理

Spring Boot 2.X - Spring Boot全局异常处理本文简单介绍一下Spring Boot的全局异常处理原有的异常处理使用IDEA创建一个Spring Boot项目,先定义一个Controller用于测试:@RestControllerpublic class TestController { @GetMapping("/test") public...

2019-05-01 14:39:29 3305

原创 消息队列的特点及应用场景

什么是消息队列?消息队列(Message Queue,MQ),是指消息的传输过程中保存消息的容器,本质是个队列。消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,有消息系统来确保信息的可靠专递,消息发布者只管把消息发布到MQ中而不管谁来取...

2019-04-28 11:33:13 3339

原创 分布式锁的由来、特点、及Redis分布式锁的实现详解

在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?今天来探讨分布式锁这个话题。什么是分布式锁要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。1.线程锁主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只...

2019-04-27 13:58:23 3090

原创 Spring Boot 2.X - Spring Boot整合RocketMQ

文章目录Spring Boot 2.X - Spring Boot整合RocketMQ引入依赖编写配置编写接口消费监听启动测试Spring Boot 2.X - Spring Boot整合RocketMQSpring Boot 2 整合 RocketMQ入门实战。本文Spring Boot版本:2.1.4.RELEASE,RocketMQ使用官方的最新的Starter,版本为:2.0.2。...

2019-04-24 22:53:24 7879 2

原创 Windows安装配置RocketMQ

Windows安装配置RocketMQ记录安装配置本地RocketMQ的过程。RocketMQ版本为4.4.0 release,系统为Win10。安装RocketMQ下载安装包访问 http://rocketmq.apache.org/release_notes/release-notes-4.4.0/,选择Binary版本,点击下载跳转到如下页面,选择HTTP第一个默认的链接下载...

2019-04-24 21:31:20 22713

原创 分布式系统全局唯一ID常见的生成策略及算法对比

全局唯一的 ID 几乎是所有系统都会遇到的刚需。这个 id 在搜索, 存储数据, 加快检索速度 等等很多方面都有着重要的意义。工业上有多种策略来获取这个全局唯一的id,针对常见的几种场景,我在这里进行简单的总结和对比。简单分析一下需求 [1]所谓全局唯一的 id 其实往往对应是生成唯一记录标识的业务需求。这个 id 常常是数据库的主键,数据库上会建立聚集索引(cluster index),...

2019-04-21 15:18:15 3092

原创 Spring Boot 2.X - Spring Boot整合Swagger2(starter方式)

文章目录Spring Boot 2.X - Spring Boot整合Swagger2(starter方式)引入依赖添加@EnableSwagger2Doc注解创建实体类创建Controller对外接口接口文档测试参数配置参数示例默认的配置项目地址Spring Boot 2.X - Spring Boot整合Swagger2(starter方式)上一篇 Spring Boot 2.X - S...

2019-04-20 22:25:06 5073

翻译 Ubuntu 18.04上安装LAMP完整过程图文详解

在这篇文章中,我将向您展示如何在Ubuntu 18.04 Server上安装LAMP。 LAMP代表Linux,Apache Web服务器,MySQL和PHP。目前部署的大部分Web应用程序都部署在LAMP环境上。这意味着Linux Web服务器安装了Apache Web Server,MySQL数据库服务器和PHP超文本预处理器,以便为基于Web的应用程序提供服务。在这篇文章中,我将引导您...

2019-04-19 21:12:12 2488

原创 Spring Boot 2.X - Spring Boot整合Swagger2

文章目录Spring Boot 2.X - Spring Boot整合Swagger2添加依赖创建Swagger2配置新建实体创建接口并构建文档内容访问接口文档项目地址Spring Boot 2.X - Spring Boot整合Swagger2Spring Boot能够快速开发应用程序,而Swagger2则能够快速的生成Restful APIs接口文档。本文将就两者进行简单的整合应用。文...

2019-04-18 16:12:52 3124

原创 Spring Boot 2.X - Spring Boot整合AMQP之RabbitMQ

文章目录Spring Boot 2.X - Spring Boot整合AMQP之RabbitMQRabbitMQ简介简介MessagePublisherExchangeQueueBindingConnectionChannelConsumerVirtual HostBroker引入依赖编写配置编写接口启用Rabbit注解消息监听消息测试Spring Boot 2.X - Spring Boot整...

2019-04-17 19:12:32 4145 7

原创 Docker安装RabbitMQ

Docker安装RabbitMQ本文记录使用Docker容器安装RabbitMQ的过程。1. 选择版本访问https://hub.docker.com/_/rabbitmq?tab=description选择相应的RabbitMQ版本,这里博主选择3.7.14-management-alpine·这个版本,management表示是带有管理页面的。2. 拉取镜像docker pull...

2019-04-17 18:38:45 2085

原创 Spring Boot 2.X - Spring Boot整合JMS之ActiveMQ(发布订阅模式)

文章目录Spring Boot 2.X - Spring Boot整合JMS之ActiveMQ1.修改配置2.订阅者3.修改接口4.启动测试5.问题?6.点对点和发布订阅共存解决6.1 新建配置类6.2 修改配置6.3 修改订阅者6.4 启动测试7.发现另一种方法7.1 修改配置7.2 注释掉配置类7.3 修改订阅者7.4 修改点对点调用方法7.5 启动测试Spring Boot 2.X - S...

2019-04-16 22:07:19 3057 5

原创 Spring Boot 2.X - Spring Boot整合JMS之ActiveMQ

Spring Boot 2.X - Spring Boot整合JMS之ActiveMQSpring Boot 2整合ActiveMQ案例。文中Spring Boot版本为2.1.4.RELEASE。1.创建项目并引入相关依赖利用Spring Initializr快速创建一个Spring Boot项目,主要依赖如下: <dependency> ...

2019-04-16 15:08:44 2934

原创 Linux安装ActiveMQ

Linux安装ActiveMQ记录Ubuntu18.04环境安装ActiveMQ过程,通过系统apt安装的方式是存在问题的。本文讲述通过压缩包方式安装,适用于Ubuntu、CentOS等Linux系统。创建目录切换到/usr目录下,创建activemq目录:cd /usr/mkdir activemq下载安装包进入新创建的activemq目录:cd activemq/通过...

2019-04-16 13:03:52 1417

Visual C++ 6.0完美中文版

visual c++ 6.0 完美中文版,完美兼容Windows XP,Windows Vista,Windows 7,Windows 8,Windows10等版本

2019-01-15

Python基础编程第三版mobi

Python基础编程第三版mobi kindle电子书,完美支持kindle

2018-12-23

java编写的本地考试系统,随机选题,倒计时,多客户端登录

java编写的本地考试系统,随机选题,倒计时,多客户端登录,注册账号登陆,

2013-03-03

jsp写的有注册登录功能的servlet+mysql+jquery实现的交友系统

jsp、java编写的类似于世纪佳缘网的交友系统,servlet+mysql+jquery验证

2013-03-03

空空如也

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

TA关注的人

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