自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhuyu19911016520

记录开发中的点点滴滴

  • 博客(467)
  • 资源 (76)
  • 收藏
  • 关注

原创 设计模式:装饰器模式Decorator

设计模式

2022-11-15 16:02:31 33

原创 设计模式:策略模式

设计模式:策略模式

2022-11-04 22:58:59 312

原创 设计模式:单例

设计模式:单例

2022-11-04 22:27:12 7

原创 设计模式:模版模式

设计模式:模版模式

2022-10-24 11:18:04 233

原创 Java OkHttp发送网络请求与上传文件公用方法

okhttp

2022-08-12 10:35:06 388

原创 Tendis

tendis 硬盘存储

2022-06-09 11:33:27 256

原创 mysql 离线安装

msyql离线安装

2022-04-14 12:02:57 3468

原创 DataX oracle同步mysql(全量和增量)

datax sync oracle to mysql

2022-04-13 12:30:49 6644

原创 docker 部署redis

Docker 部署Redis4docker stop redis;docker rm redis; docker run -itd -p 6379:6379 --name=redis --restart=always \ -v /home/redis/data:/data \ -v /home/redis/conf/redis.conf:/etc/redis/redis.conf \ -e TZ="Asia/Shanghai" \ redis:4.0.14 --appendonly yes \-

2022-04-12 14:36:44 1208

原创 SnowflakeId雪花ID生成器

Java雪花ID生成器

2022-04-06 23:20:02 1202

原创 IDEA使用maven插件生成protobuf实体类

idea使用maven插件生成protobuf java实体类

2022-04-05 20:21:22 721

原创 SpringBoot集成Kafka

1.部署Kafka本文参考了两位网友的文章,以下是链接:Zookeeper集群搭建:https://www.cnblogs.com/zhaoshizi/p/12105143.htmlKafka搭建:https://www.cnblogs.com/zhaoshizi/p/12154518.htmlSpringBoot集成Kafka:https://blog.csdn.net/yuanlong122716/article/details/105160545/ (推荐)2.SpringBoot项目集成K

2022-01-05 21:14:22 136

原创 Postgres数据库pg_dump备份与pg_restore恢复

Docker部署了Postgres数据库,要定时备份与恢复定时备份依赖系统定时任务 crontab -e,凌晨2点开始执行备份脚本: * 2 * * * sh /root/postgis/pg_backup.sh备份脚本【pg_backup.sh】内容#!/bin/bashcur_time=$(date +%Y%m%d)echo "开始备份..."#备份成压缩格式docker exec dm_postgis pg_dump -h localhost -p 5432 -U "postg

2021-12-31 23:02:13 1069

原创 docker-compose启动多个容器

docker-compose常用命令docker-compose # 拉取镜像docker-compose up -d nginx # 运行nginx容器docker-compose up -d # 运行所有容器docker-compose ps # 查看容器运行状态docker-compose down # 停止容器和容器网络docker-compose rm nginx # 删除nginx容器

2021-12-14 20:03:24 5343

原创 用Dockerfile制作elasticsearch镜像

Dockerfile 文件内容如下:FROM centos:centos7.9.2009MAINTAINER 645906265@qq.comCOPY elasticsearch-5.4.1.tar /usr/libRUN cd /usr/lib/ \ && groupadd -r elasticsearch && useradd -r -g elasticsearch elasticsearch \ && tar -xvf elast

2021-12-12 23:38:08 1843

原创 Java使用apache-commons-compress对文件进行压缩(LZ4、Gzip、Snappy、Zip、Tar)

因项目中传输的文件很大,非常占用磁盘空间,因此对使用apache提供的commons-compress压缩帮助类进行封装封装了Gzip、LZ4、Snappy、Zip、Tar几个工具类准备到生产环境验证各个压缩算法的效率(时间、空间),根据业务的不同,我们对压缩时间要求快,所以后面会选择一款非常快速的压缩算法下面给出各个工具类,需引用 commons-compress<dependency> <groupId>org.apache.commons</groupI

2021-11-27 21:49:56 3026

原创 SpringBoot项目共用shell脚本中的配置信息

业务场景:多个SpringBoot项目在同一个目录下启动时,共用一个shell脚本中的配置信息1.SpringBoot项目中都会使用的配置如下:zy: nodecode: ${NODE_NODE}spring: application: name: admin-server datasource: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://${PG_DB_HOST}:${PG_D

2021-11-18 21:26:57 612

原创 Elasticsearch纪要

Easticsearch in action 代码:https://github.com/dakrone/elasticsearch-in-action.gitElasticsearch 创建以及修改索引结构 :https://www.cnblogs.com/Rawls/p/10300639.htmlelasticsearch.yml 配置跨域支持 http.cors.enabled: true http.cors.allow-origin: "*" #当并发起来时,默认接收队列默认1000

2021-11-16 10:08:15 1062

原创 Docker 运行Centos,并配置SSH连接

1.hub.docker.com搜索 centos2.下载centos 镜像:docker pull centos:centos7.9.20093.第一次运行镜像:docker run -itd --name=centos --privileged centos:7.9.2009 /usr/sbin/init4.进入容器:docker exec -it centos /bin/bash5.在容器中安装ssh:yum install -y openssh-server6.修改密码:passwd r

2021-10-18 22:21:35 2133

原创 screw-数据库表结构文档生成器

推荐一款数据库表结构文档生成器已支持的数据库MySQLMariaDBTIDBOracleSqlServerPostgreSQL支持生成文档的格式htmlwordmarkdown下图是生成的 Html文档格式使用方式有两种使用方式:1.代码实现2.Maven插件实现1.代码实现# 引入maven 依赖<dependency> <groupId>cn.smallbun.screw</groupId> &lt

2021-10-16 22:13:20 134

原创 Postgres could not locate a valid checkpoint record 恢复方法

记录一篇Docker 中的 PostgreSQL 崩溃恢复记录在 Docker 中运行的 PostgreSQL 数据库突然报 database shutdown, 错误日志类似这样:invalid resource manager ID in primary checkpoint recordcould not locate a valid checkpoint record startup process PID 25 was terminated by Signal 6 : Abortedab

2021-10-16 18:52:38 1790

原创 统一日志格式

1.日志对象日志格式最好是统一的,即方便查看定位问题又方便统计收集。我一般喜欢定义一个LogObject对象,里面定义日志的各个字段。例如:import com.fasterxml.jackson.annotation.JsonInclude;import com.fasterxml.jackson.annotation.JsonInclude.Include;import com.fasterxml.jackson.annotation.JsonProperty;public class Lo

2021-10-08 18:46:11 156

原创 Java使用dom4j修改xml内容

使用dom4j修改xml内容是很方便的,有很多API方法,可以参考官网:https://dom4j.github.io/#top1,引入Maven依赖<!-- https://mvnrepository.com/artifact/org.dom4j/dom4j --><dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <

2021-06-11 21:01:37 1861 1

原创 Java异步编程之CompletableFuture

1.CompletableFuture与Stream结合,完成异步任务2.CompletableFuture类默认使用ForkJoinPool.commonPool() ,该连接池默认使用CPU核心数为线程数3.CompletableFuture的相关方法可以接受用户自定义的线程池去运行任务4.CompletableFuture提供了一些API可以组合处理不同业务类型的多个异步任务import cn.hutool.core.date.DateUtil;import java.util.Ar.

2021-04-16 23:00:57 323

原创 Java异步编程之ThreadPoolExecutor

   在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样对线程的创建更加规范,可以合理控制开辟线程的数量;而线程池不允许使用Executors去创建,而要通过ThreadPoolExecutor方式,这一方面是由于jdk中Executor框架虽然提供了如newFixedThreadPool()、newSingleThreadExecutor()等创建线程池的方法,但都有其局限性,不够灵活;另外由于前面几种方法内部也是通过ThreadPoolExecuto

2021-04-12 10:31:12 361

原创 数组-数据结构与算法

1.数组是很多编程语言中最基础的数据结构,下面来一起温习下2.数组示例: int[] a = new int[10]; //定义数组 a[0] = 5; //数组赋值, int v1 = a[0]; //访问数组, v1=5 ,下标从0开始3.数组如何实现随机访问?1.内存中所有的空间都是按格子排列好的,每个格子占一个字节byte,且都有一个地址,通过地址访问到格子中的内容2.程序创建数组时,会在内存中申请连续的空间,并记录数组的首个格子地址 ba

2020-12-09 09:37:11 160

原创 MinIO分布式对象存储

MinIO 分布式部署需要4块磁盘,可以是4台服务器分别挂载一块磁盘,也可以是2台服务器分别挂载两块磁盘,可参考:https://docs.min.io/cn/deploy-minio-on-docker-swarm.htmlMinIO 分布式部署支持Docker Compose、Docker Swarm、Kubernetes等几种方式,Docker-Compose是单机多实例,伪分布式,可测试使用,因没有kubernetes环境,这里使用Docker Swarm有3台服务器,一台docker swar

2020-11-02 16:38:17 2227 3

原创 MinIO对象存储服务与SpringBoot集成

MinIO     MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等     相当于利用MinIO自建一个OSS对象存储服务     MinIO是一个支持分布式部署的对象存储

2020-11-02 15:41:18 2422

原创 用Java注解对结果集中包含身份证号码的数据进行脱敏处理

1.目标,期望对响应到客户端结果集中的用户身份证号码、手机号码等敏感信息进行脱敏处理,如身份证号码中间8位用 * 星号代替,手机号码中间4位用 * 星号代替2.SpringBoot项目,常用的web依赖3.处理思路:1.定义枚举类,处理不同类型的数据(身份证号、手机号、邮件等)2.定义注解,用在要处理的字段上,关键是该注解上使用 @JacksonAnnotationsInside 主键,因为springboot项目默认使用 jackson 序列化数据(题外话:如果使用FastJsonHttpMes

2020-09-27 09:15:04 2841 3

原创 Java 实体映射工具 MapStruct

项目复杂性提升后,应用与应用之间,还有单独的应用细分模块之后,DO 一般不会让外部依赖,这时候需要在提供对外接口的模块里放 DTO 用于对象传输,也即是 DO 对象对内,DTO对象对外,DTO 可以根据业务需要变更,并不需要映射 DO 的全部属性。这种 对象与对象之间的互相转换,就需要有一个专门用来解决转换问题的工具,毕竟每一个字段都 get/set 会很麻烦。MapStruct 就是这样的一个属性映射工具,只需要定义一个 Mapper 接口,MapStruct 就会自动实现这个映射接口,避免了复杂繁琐

2020-09-11 16:21:38 880

原创 用Spring AOP、Java注解、反射对返回的结果集进行特殊处理

1.目标:业务数据中的某些字段列,需要根据用户选择的语言类型自动处理后返回对应语言的数据2.背景:系统需要适应多种语言:中文简体、中文繁体、英语等,一个业务数据中的某些列,会同时设置多种语言的数据,用户可根据自己喜欢的语言展示对应的数据3.用户选择语言后,前端把该参数通过header头传递到后端,后端查询业务数据后,根据header头中的多语言参数,查询业务数据中某些列对应语言的数据,再覆盖到当前的数据中,然后返回给客户端4.难点:1.结果集的数据有数组嵌套,2.尽量少改动业务代码,且提供好的性能,来

2020-09-05 12:13:12 1527 3

转载 掌握 Spring 中@transactional 的使用

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编码式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一种是基于@Transactional 注解的方式。注释配置是目前流行的使用方式,因此本文将着重介绍基于@Transaction

2020-09-04 11:18:41 207

原创 SpringBoot集成Elasticsearch

建议使用 Elasticsearch Bboss我们使用SpringBoot基于es7.6.2版本进行开发,部署服务时,客户要使用阿里云es服务,阿里云es服务现在最高版本6.3.2,因此代码需要降级处理,而使用了Bboss客户端后,所编译的查询代码基本无改动,很好的兼容了6.3.2版本。注意点:es6.x与7.x版本最大的不同是,7.x默认使用type=_doc,所以建索引时要指定type=_docbboss elasticsearch是一套基于query dsl语法操作和访问分布式搜索引擎ela

2020-08-27 10:01:39 665

原创 java项目打包成docker镜像与k8s运行的镜像

1.打包成docker镜像,Dockerfile如下预留一个 $JAVA_OPTS 参数,接收启动镜像时的java参数FROM openjdk:8-jdk-alpineADD apicenter-1.0.jar apicenter.jarENTRYPOINT ["/bin/sh", "-c", "java $JAVA_OPTS -jar /apicenter.jar"]打包:docker build -t apicenter:v1.0 ./启动:docker run -d --name api

2020-07-09 09:34:31 2989

转载 Java核心知识点之注解简介和最佳实践

111

2020-06-30 09:36:17 238

原创 分布式任务调度平台xxl-job初使用

1.因为在服务中写定时任务,当服务发布多份实例时,会多次执行,可能造业务数据混乱,把定时任务执行次数分离出来,由分布式任务调度平台去控制2.本篇将介绍 xxl-job官网地址:https://www.xuxueli.com/xxl-jobGithub:https://github.com/xuxueli/xxl-job/3.概要说明,xxl-job的工作原理1.部署xxl-job服务端,由该服务端控制业务服务里面的定时任务执行次数和时间2.在业务服务中引入xxl-job客户端依赖,指定xx

2020-06-28 13:44:41 941

原创 JetCache多级缓存

1.JetCache,阿里巴巴开源多级缓存框架JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。 JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口用于手工缓存操作。 当前有四个实现,RedisCache、TairCache(此部分未在github开源)、CaffeineCache(in memory)和一个简易的LinkedHashMapCache(in memory),要添加新的实

2020-06-24 21:53:33 3048 2

原创 SpringBoot集成单元测试

Spring基本单元测试pom.xml 引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency>在测试目录添加测试类1.注入服务直接测试@

2020-06-22 15:32:59 2347

原创 SpringCloud Feign Get请求传对象参数

前置说明,有A、B两个服务,A服务调用B服务,B服务接口是Get类型,接受参数对象feign get请求传对象参数分两种情况1.版本在2.1之前,如我springboot是2.0.6.RELEASE,springcloud是Finchley.SR2版本,则A服务使用Map map替代对象传给B服务//A-service@ApiOperation(value = "查询xx", httpMethod = "GET")@GetMapping("/maps")public ReturnEntity

2020-06-22 15:15:43 4340

原创 调用链监控Skywalking与Zipkin

1.Skywalking与Zipkin的区别颗粒度:Skywalking方法级(展示的更详细),方法中所有的调用都展示出来了,如数据库调用、redis调用,第三方网络调用,而Zipkin只能展示接口级UI界面:Skywalking完胜,国产开源,更适合国人眼球代码侵入性:Skywalking无代码侵入,使用字节码增强技术,在启动服务时使用 javaagent 指向skywalking服务即可收集调用链span信息Zipkin:简单、轻量级2.安装部署对比Zipkin安装部署简单,参考:Spr

2020-06-16 11:39:23 11056

windows版datax.py执行文件

windows版datax.py执行文件

2022-09-01

redis.conf 配置参数

redis.conf 配置参数

2022-04-12

tspider-3.7.4

腾讯开源数据库 tspider-3.7.4

2022-04-07

tdbctl-2.2.tar.gz

腾讯开源数据库 tdbctl-2.2

2022-04-07

tendb-3.3.2

腾讯 tendb-3.3.2 数据库

2022-04-07

SpringBoot集成kafka

SpringBoot集成kafka

2022-01-05

docker-compose-1.27.4.zip

docker-compose-1.27.4.zip

2021-12-14

统一日志格式代码.zip

统一日志格式代码

2021-10-09

ImageMagick-7.0.10-10.tar.gz

ImageMagick-7.0.10-10.tar.gz,用于在Linux服务器上批量压缩图片,安全好用

2020-05-11

flutter_app.zip

flutter app内更新升级源码,整合flutter的几大插件实现android app的更新升级

2020-01-10

rabbitmq_delayed.zip

利用RabbitMQ的延时队列插件,实现延时功能,此是基于SpringBoot实现延时消息的源码,欢迎下载交流

2019-12-20

shardingsphere-sharding-proxy-4.0.0-RC1

shardingsphere-sharding-proxy,代理数据库,提供分库分表,读写分离功能,对mysql客户端与DBA友好

2019-05-10

apache poi 导出excel、word

apache poi 导出excel、word,替换word内容,导出word-文本、图片、表格

2019-03-17

mui拍照上传js_code

Hbuilder mui 相册拍照图片上传,在做WebAPP项目中,需要从相册或是拍照,视频或录音,然后上传,比如修改用户头像或是上传项目图片等.

2019-01-03

asciidoctorj-pdf-1.5.0-alpha-zh.16

asciidoctorj-pdf,用于Swagger生成Pdf文档,该jar包的\gems\asciidoctor-pdf-1.5.0.alpha.zh.16\data\ 文件夹下有fonts、themes,解决pdf中文乱码问题

2018-12-17

mongodb_replica

使用SpringBoot 对MongoDB副本集进行实现,看读数据与写数据操作,是否会自动分配到从库与主库上,关键点在 uri 连接字符串上

2018-10-10

springboot war

springboot 创建 war 项目,打成war包,并部署到外部 tomcat中

2018-09-28

springboot mybatis

springboot 整合mybatis全注解版,在java类的 @Select 注解中编写sql

2018-09-21

ZyMvc模拟SpringMVC

在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,现在通过一个简单的Java项目模拟MVC请求

2018-09-11

Springboot上传服务源码

SpringBoot自定义静态资源路径,编写资源服务,监听请求来源,过滤非自身网站的请求,图片防盗链等

2018-05-14

HikariCP-Demo

SpringBoot-demo,HikariCP、thymeleaf、mybatis、mysql

2018-05-09

haproxy-1.6.9.tar.gz

haproxy-1.6.9.tar.gz,HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理

2018-05-05

rabbitmq-server-3.6.15

rabbitmq-server-3.6.15,RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现

2018-05-05

erlang-20.2.2

erlang-20.2.2-1.el7.centos.x86_64.rpm,rabbitmq的erlang环境

2018-05-05

mongodb3.4.12.tar.gz

mongodb linux 安装文件,版本号 3.4.12.tar.gz,大家也可以在mongodb官网下载

2018-04-09

mongo_demo

springmvc配置连接mongodb数据库,还有操作mongodb的帮助类,和实现方法

2017-12-07

MCodeCheck

安装android sha1 安全码校政app后,它会加载手机所有的应用,选择你要的app,会得到这个App的SHA1值,点击右下角的复制即可

2017-09-05

volley_android

volley,volley、volley、volley、volley、volley

2017-07-01

Redis-x64-3.0.504

Redis-x64-3.0

2017-04-04

java+SSH开发+网盘源码

java+SSH开发+网盘源代码java+SSH开发+网盘源代码java+SSH开发+网盘源代码

2016-09-09

ApacheBench

ApacheBench压力测试工具

2016-09-07

Java模拟实现百度文档在线浏览

Java模拟实现百度文档在线浏览-源码

2016-08-29

HtmlAgilityPack.1.4.6

HtmlAgilityPack.1.4.6

2016-03-07

probe tomcat

probe 可以简单的查看服务器session的连接状态,查看jsp文件,只需放到webapps 目录下,重新启动tomcat,修改conf文件夹,下 user_xml文件,,加入自己的角色。roles

2015-05-14

firebug2.0.7

firebug2.0.7

2015-05-07

vs2010/2012/2013 的svn插件 AnkhSvn_2.5.12266

vs2010/2012/2013 的svn插件 AnkhSvn_2.5.12266vs2010/2012/2013 的svn插件 AnkhSvn_2.5.12266

2015-04-28

JCEPolicyJDK6

JCEPolicyJDK6

2015-03-02

SQL语法范例大全

SQL语法范例大全SQL和Oracle通解.CHMSQL语法范例大全SQL和Oracle通解.CHM

2015-01-07

apache-tomcat6

apache-tomcat-6.0.35

2015-01-07

网站抓取精灵

网站抓取精灵

2015-01-07

空空如也

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

TA关注的人

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