自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TransactionalEventListener使用场景以及实现原理,最后要躲个大坑

这篇文章主要讲解TransactionalEventListener是怎样工作的?适合在什么场景,能解决哪些问题?以及和EventListener不同之处。示例这里举个业务场景,假如我们有个需求,用户创建成功后给用户发送一个邮件。这里有两个事情要做:创建用户给用户发送邮件对于这种需求,我们可能会不假思索的有以下实现。@Entitypublic class User { @Id @GeneratedValue(strategy = GenerationType.IDENTI

2021-09-23 15:05:51 1126 4

原创 手写Spring框架,加深对Spring工作机制的理解!

在我们的日常工作中,经常会用到Spring、Spring Boot、Spring Cloud、Struts、Mybatis、Hibernate等开源框架,有了这些框架的诞生,平时的开发工作量也是变得越来越轻松,我们用 Spring Boot 分分钟可以新建一个Web项目。记得自己刚开始工作的时候还是在用Servlet写Web项目,自己写数据库连接池,用原生JDBC操作数据库,好了不发散了。回到这...

2019-11-06 18:25:40 619 1

原创 彻底搞懂PostgreSQL的模糊查询:LIKE和ILIKE

如果我们使用的是PostgreSQL数据库,那么我们可以使用LIKE和ILIKE做模糊查询,LIKE语法是SQL标准而ILIKE是PostgreSQL的一个扩展。构造数据先创建一张表,然后插入一些数据;create table test( id serial, name varchar(16) );基本使用在使用 LIKE/ILIKE 时,有两个通配符:百分号 (%) 和下划线 (_)% - 匹配任何零个或多个字符_ - 匹配单个任意字符先看一下这个的查询:selec

2021-09-23 20:35:55 2625

原创 Java 8新特性五:Stream API

关注:Java提升营,最新文章第一时间送达,10T 免费学习资料随时领取!!!Stream概念Stream(流)是一个来自数据源的元素队列并支持聚合操作Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。Java Stream的特...

2020-04-24 15:32:21 135

原创 Java 8新特性四:Double colon(::) operator

关注:Java提升营,最新文章第一时间送达,10T 免费学习资料随时领取!!!双冒号(::)操作,也被称为方法引用运算符,用于直接调用指定类的方法。它的行为与la​​mbda表达式完全相同。它与lambda表达式的唯一区别在于,它使用名称直接引用方法,而不是提供方法的委托。语法:<Class name>::<method name>示例:打印Stream的所有...

2020-04-17 15:35:38 275

原创 Java 8新特性三:Default Methods And Static Methods

关注:Java提升营,最新文章第一时间送达,10T 免费学习资料随时领取!!!Default Methods在Java 8之前,接口只能定义抽象方法。这些方法的实现必须在单独的类中提供。因此,如果要在接口中添加新方法,则必须在实现接口的类中提供其实现代码。为了克服此问题,Java 8引入了默认方法的概念,允许接口定义具有实现体的方法,而不会影响实现接口的类。// A simple pro...

2020-04-16 15:20:31 74

原创 Java8新特性二: Functional Interfaces

关注:Java提升营,最新文章第一时间送达,10T 免费学习资料随时领取!!!Functional Interfaces概念一个functional interface是仅包含一个抽象方法的接口。他们只能做一个操作。从Java 8开始,lambda表达式可用来表示functional interface的实例。functional interface可以有多个默认方法或静态方法。Runna...

2020-04-15 13:44:12 94

原创 Java8新特性一:Lambda Expressions

Lambda表达式匿名类存在的问题是: 如果匿名类的实现非常简单,例如仅包含一个方法的接口,则匿名类的语法可能看起来很笨拙且不清楚。在这些情况下,您通常 new一个匿名内部类对象作为参数传递给方法,例如,当某人单击按钮时应采取什么措施。Lambda表达式 能实现这样的需求,它可以更紧凑更简洁的表达单方法类的实例。本篇文章从以下几点介绍一下Lambda表达式:Lambda表达式用例搜索匹...

2020-04-14 19:00:41 64

原创 项目使用Kafka镜像报错处理记录:this server does not host this topic-partition

背景项目使用docker swarm部署服务之间使用消息中间件 kafka 通信Kafka 使用 star 3.7k 的 wurstmeister/kafka:2.12-2.2.1 镜像Zookeeper 使用 zookeeper:3.5.5 镜像问题描述每当Kafka和Zookeeper服务重启后,项目就会报以下错误:org.apache.kafka.common.err...

2019-11-29 10:54:58 4991

原创 Spring 5 响应式编程

要点Reactor 是一个运行在 Java8 之上的响应式流框架,它提供了一组响应式风格的 API除了个别 API 上的区别,它的原理跟 RxJava 很相似它是第四代响应式框架,支持操作融合,类似 RxJava 2Spring 5 的响应式编程模型主要依赖 ReactorRxJava 回顾Reactor 是第四代响应式框架,跟RxJava 2 有些相似。Reactor 项目...

2019-11-26 15:36:20 1169

原创 使用Git-Rebase合并多次提交

在平时的软件开发中,我们每个team使用一个公共仓库(这里说的是Git仓库)。每当有一个新的需求,我们会拉出一个特性分支,然后在这个特性分支上做开发以及提交个人的代码。我有个习惯就是:为了确保代码的安全性,每天下班前会把个人的本地仓库代码提交到公共仓库。由于每天开发过程中由于各种原因会提交几次代码到个人仓库,这样就导致下班提交代码到公共仓库时,一次提交好几个记录,这样就会是的公共仓库有各种乱七八...

2019-11-15 10:08:44 900

原创 理解PostgreSQL的模式、表、空间、用户间的关系

在平时的工作中,我们经常接触到数据库表和用户以及角色的使用,由于经常使用默认的数据库表空间和模式(Schema),所以我们往往忽略了数据库表空间和模式的概念以及作用。接下来,先介绍一下模式和表空间的定义以及作用。什么是Schema?一个数据库包含一个或多个已命名的模式,模式又包含表。模式还可以包含其它对象, 包括数据类型、函数、操作符等。同一个对象名可以在不同的模式里使用而不会导致冲突; 比...

2019-11-13 16:22:16 1080

原创 PostgreSQL的模式、表、空间、用户间的关系

在平时的工作中,我们经常接触到数据库表和用户以及角色的使用,由于经常使用默认的数据库表空间和模式(Schema),所以我们往往忽略了数据库表空间和模式的概念以及作用。接下来,先介绍一下模式和表空间的定义以及作用。什么是Schema?一个数据库包含一个或多个已命名的模式,模式又包含表。模式还可以包含其它对象, 包括数据类型、函数、操作符等。同一个对象名可以在不同的模式里使用而不会导致冲突; 比...

2019-11-13 16:09:47 40

原创 Nginx正则配置

Nginx配置中Location的语法规则 location [ = | ~ | ~* | ^~ | !~ | !~* ] /uri/{ … }= 表示精确匹配~ 表示区分大小写正则匹配~* 表示不区分大小写正则匹配^~ 表示URI以某个常规字符串开头!~ 表示区分大小写正则不匹配!~* 表示不区分大小写正则不匹配/ 通用匹配,任何请求都会匹配到匹配顺序...

2019-11-12 16:48:31 869

原创 Hadoop3.2.1版本的环境搭建

最近有人提出能不能发一些大数据相关的知识,No problem ! 今天先从安装环境说起,搭建起自己的学习环境。Hadoop的三种搭建方式以及使用环境:单机版适合开发调试;伪分布式适合模拟集群学习;完全分布式适用生产环境。这篇文件介绍如何搭建完全分布式的hadoop集群,一个主节点,两个数据节点。先决条件准备3台服务器虚拟机、物理机、云上实例均可,本篇使用Openstack...

2019-11-11 15:59:05 1399

原创 Kafka常用命令操作

Create a topicLet’s create a topic named “test” with a single partition and only one replica:> bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1...

2019-11-08 11:38:27 121

转载 关于Java中String的问题

String 对象的两种创建方式:String str1 = "abcd";//先检查字符串常量池中有没有"abcd",如果字符串常量池中没有,则创建一个,然后 str1 指向字符串常量池中的对象,如果有,则直接将 str1 指向"abcd"";String str2 = new String("abcd"...

2019-11-08 09:31:23 17

转载 关于Java中String的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-11-08 09:17:56 40

原创 PostgreSQL的模式、表、空间、用户间的关系

在平时的工作中,我们经常接触到数据库表和用户以及角色的使用,由于经常使用默认的表空间和模式(Schema),所以我们往往不清楚表空间和模式的概念以及作用。接下来,先介绍一下模式和表空间的定义以及作用,然后分别介绍他们的关系。什么是Schema?一个数据库包含一个或多个已命名的模式,模式又包含表。模式还可以包含其它对象, 包括数据类型、函数、操作符等。同一个对象名可以在不同的模式里使用而不会导...

2019-11-05 17:14:33 198

原创 Spring Cloud Netflix 之 Eureka: 服务注册与发现

Spring cloud 简介Spring Cloud为开发人员提供了快速构建分布式系统的工具(例如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,集群状态等等)。 开发人员可以用Spring Cloud快速搭建具有以上功能的应用程序。 它们可以在任何分布式环境中正常工作,包括开发人员自己的笔记本电脑,裸机数据中心以及Cloud Foundry...

2019-10-17 17:14:52 100

空空如也

空空如也

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

TA关注的人

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