自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式之模板方法模式和策略模式

概述OOP三个基本特征是:封装、继承、多态。通过继承,可以基于差异编程,对于一个满足我们大部分需求的类,可以创建它的一个子类并只改变我们不期望的那部分。但是在实际使用中,继承很容易被过度使用,并且过度使用的代价是比较高的,所以我们减少了继承的使用,使用组合或委托代替优先使用对象组合而不是类继承在本文中,我们会分别介绍模板方法模式和策略模式,这两个模式分别使用了继承和委托两种方式。这两种模式解决的问题是类似的,经常可以互换使用,它们都可以分离通用的算法和具体的上下文。比如我们有一个通用的算法,算法有不

2021-04-09 16:36:33 674 1

原创 超简单且详细的springboot配置多数据源(dynamic-datasource-spring-boot-starter)

今天在一个项目中遇到需要连接两个数据库去进行读取数据的操作,网上查了很多文章,踩坑很多,希望用我的实践带给你帮助项目结构需要提前准备的东西两个数据库实例在数据库实例中创建表(可以相同也可以不相同,我目前是相同的)springboot环境pom如下(我全部依赖,根据自己情况加,核心依赖我已经标注)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.

2021-03-18 19:39:53 2986

原创 AtomicLong VS Sync VS LongAdder

public class T02_AtomicVsSyncVsLongAdder { static AtomicLong count1 = new AtomicLong(0L); static Long count2 = 0L; static LongAdder count3 = new LongAdder(); public static void main(String[] args) throws InterruptedException { Thre

2021-01-18 18:04:49 116

原创 一篇文章带你学习Elasticsearch

在项目开发过程中,要使用到搜索 引擎来对一些关键字实现逆向查询,如果仅用模糊搜索,那么搜索的时间会根据数据量的增大而增大,对比之下就学了elasticsearch,也记录一下,常常回顾。1. ElastchSearch核心术语学习1.1. 术语学习索引index我们可以和数据库去类比,整个的ES就相当于一个数据库服务我们数据库中的表就是ES中的index类型type相当于一个逻辑类型比如商品的分类:食品、服饰、电子产品ESv7.x以后就不再使用type了,5.x/6.x还有

2020-12-10 10:07:02 132 1

原创 接口幂等性设计相关规则

1. 接口幂等性涉及的相关问题经常遇到数据重复的问题表单录入如何防止重复提交微服务架构中,客户端重试如何防止重复提交幂等性:f(f(x)) = f(x)幂等元素运行多次,还等于它原来运算的结果什么情况下需要幂等性重复提交、接口重试、前端业务操作抖动并不是所有的业务都需要幂等性,要根据实际业务确定是否需要幂等性2. 保证幂等性的策略分析保证幂等性的核心思想:通过一个唯一序号保证幂等(如果一个业务操作我们赋予它一个唯一业务id,如果这个业务操作内容一样,那么这个业务id就不变,这个时候有

2020-12-08 11:10:36 244

原创 SpringBoot自定义注解,统一包装返回值

一:编写统一包装类package com.llll.demo.model;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import java.io.Serializable;@Data@Builder@NoArgsConstructor@AllArgsConstructorpublic class Resp imp

2020-10-28 19:14:26 2432 3

转载 Netty入门案例编写

一:单元测试1.AbstractEmbeddedChannel提供的常用方法 名称 描述 writeInbound(…) 向Channel写入数据,模拟Channel收到数据,也就是说这些数据会经过ChannelPipeline的ChannelInboundHandler readInbound(…) 从EmbeddedChann

2020-10-23 17:22:57 247

原创 学习JVM笔记

学习JVM笔记JDK Java开发工具,包含JRE 和JVM ;JRE Java运行环境,包含JVM ;JVM 处理Java编译好的字节码文件,执行代码,可处理任意平台,如windows、linux等等。思考:JVM只能运行Java的.class(字节码)文件吗,答案是否定的,其它语言只要也符合字节码文件的规则,JVM都是可以运行。字节码文件的基本执行流程class文件–>类加...

2020-10-22 10:41:37 73

转载 Netty入门

Netty从入门到秃头(一):初识NettyNetty的起源 Netty项目起源于2004年,Java社区第一个基于事件驱动的网络应用开发框架。Hadoop、Cassandra、Spark、Dubbo、gRPC、RocketMQ、Zookeeper、Spring5等都在使用Netty,是开发高性能Java服务器的必学框架。学习Netty的基础知识协议知识:TCP的keeplive、粘包/半包现象、封帧等;网络编程知识:三种IO、三种Reactor模式;Java高阶编程知识:对象池、堆外内存、

2020-10-22 10:40:07 195

空空如也

空空如也

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

TA关注的人

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