自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker 操作postgresql和postgresql导入与导出数据

###################################################//进入docker容器 postgres-db 容器名docker exec -it postgres-db /bin/bash//切换postgres用户su - postgres //导出命令pg_dump -U postgres traffic > ./traffic.sql//从容器导出到宿主机docker cp postgres-db:/var/lib/postgresql

2021-06-16 15:39:47 2914

原创 python3-慕课网-七月课程

第一章 Python入门导学1.1 Python导学python不是一门新兴语言,上世纪90年代就已经存在。随着人工智能和大数据的火热,Python随着成为主流编程语言以Python为技术主导的公司:豆瓣、知乎Python更像一个技术的润滑剂,大多数互联网公司或多或少都是会使用使用Python3.6版本,从基础语法到复杂高阶函数1.2 Python特征语法简洁,优雅,人生苦短,我用Python易于学习,万金油语言即为强大的标准库和第三方库Python是面向对象的语言1.3 我

2020-07-13 15:26:46 988

原创 刷题【Day1】704. 二分查找,27. 移除元素

LeetCode,算法,数据结构

2023-02-15 19:53:22 275

原创 【万文全解】Java集合源码解析【HashMap】【ArrayList】【JDK源码集合部分】

JDK1.8源码 HashMap HashSet ArrayList LinkeList LinkedHashSet TreeMap TreeSet

2023-02-03 12:54:23 451

原创 【springboot数据校验】BO数据校验使用hibernate

数据验证的 springboot hibernate

2023-01-15 14:18:27 206

原创 【最新】SpringBoot集成Dubbo3

springbootzookeeperdubbo

2023-01-07 14:29:28 1206

转载 工具类org.apache.commons.lang3.StringUtils

commons-lang是Apache Commons 团队发布的工具包,相当于java.lang的增强版,

2023-01-04 14:02:40 3285

原创 springboot 文件上传、配置文件大小、图片展示、全局异常处理

作为Java-web,平时总会在项目中涉及到文件上传,比如图片上传、Excel上传、PDF上传等等情况,今天以最普遍的图片上传为例,展示如下:pom.xml<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</ve

2022-03-16 15:07:57 697

原创 Java定时任务与分布式定时任务

Java定时任务与分布式定时任务文章目录Java定时任务与分布式定时任务1. JDK原生2. Spring3.Spring + 数据库4.Spring+Redis5.分布式定时任务RabbitMQquartzelastic-job-litexxl-job业务场景:订单下单之后15分钟后,用户未付款,系统需要自动取消订单。红包24小时未被查收,需要延迟执退还业务;超过7天,自动收货1. JDK原生使用JUC 提供的newScheduledThreadPool来执行定时任务public cl

2022-03-14 17:06:52 2126

原创 Java后端校验@Valid---使用hibernate-validator校验Bean

使用场景在开发中经常需要写一些字段校验的代码,比如字段非空,字段长度限制,邮箱格式验证等等,写这些与业务逻辑关系不大的代码个人感觉有两个麻烦:验证代码繁琐,重复劳动方法内代码显得冗长每次要看哪些参数验证是否完整,需要去翻阅验证逻辑代码hibernate validator提供了一套比较完善、便捷的验证实现方式。知识点首先我们看一下进行校验时,使用的有哪些依赖包 <dependency> <groupId>javax.validation</groupI

2022-03-13 13:53:49 800

原创 RabbitMQ消息中间件技术精讲(五)

RabbitMQ集群 镜像队列 延迟队列 docker docker-compose

2022-03-08 14:43:24 1883

转载 docker-compose安装rabbitmq集群镜像队列

创建docker-compose.yml 文件version: '3'services: rabbitmq1: image: rabbitmq:3.8.3-management container_name: rabbitmq1 restart: always hostname: rabbitmq1 ports: - 15683:15672 - 5683:5672 volumes: - ./data1:/var/li

2022-03-08 13:06:25 392

原创 RabbitMQ使用RPM方式搭建镜像队列

安装单机准备:注意RabbitMQ的版本和Erlang版本对应,在RabbitMQ官网可以进行下载和查看对应关系build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz下载:wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm

2022-03-08 12:52:38 2040

原创 RabbitMQ消息中间件技术精讲(四)

第四章 RabbitMQ与Spring整合文章目录第四章 `RabbitMQ`与`Spring`整合4.1-`AMQP`核心组件4.2-`SprigAMQP`管理组件`RabbitAdmin`应用4.3-`SprigAMQP-RabbitMQ`声明式配置使用4.4-`SpringAMQP`消息模板组件-`RabbitTemplate`4.5-`SpringAMQP`简单消息监听容器-`SimpleMessageListenerContainer`4.6-`SpringAMQP`消息监听适配器-`Messa

2022-03-08 12:34:55 4156

原创 RabbitMQ消息中间件技术精讲(三)

第三章 RabbitMQ高级特性3.1-消息如何保障100%的投递成功方案生产端的可靠性投递保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制BAT/TMD大厂解决方案消息落库,对消息状态进行打标(缺点,在高并发场景下对数据库压力过大)生产者将业务数据和消息入库,status默认为0生产者发送消息到MQ消费者进行消息确认正常消费情况下,update消息状态为1,表示正常消费,如果出现网络闪断等问题,则消息状态为0

2022-02-23 09:05:15 1133

原创 RabbitMQ消息中间件技术精讲(二)

第二章 RabbitMQ核心概念2.1-大厂使用RabbitMQRabbitMQ介绍是一个开源的消息代理和队列服务器,用来在不同应用直接共享数据,实现跨语言问题试用Erlang语言编写基于AMQP协议滴滴,美团,头条,去哪儿开源,性能优秀,稳定性保障提供可靠性消息投递模式(confirm模式),返回模式(return)与SpringAMQP完美整合,API丰富集群模式丰富,表达式配置,HA模式(高可用模式),镜像队列模型保证数据不丢失的前提下做到高可靠性、可用性2.2

2022-02-23 09:01:27 1066

原创 RabbitMQ消息中间件技术精讲(一)

第一章 课程介绍导航业界主流消息中间件介绍MQ衡量指标:服务性能、数据存储、集群架构ActiveMQ:缺点:性能不是特別好,并不试用高并发场景,优点:API很完善,适用于中小型互联网公司kafka,优点:关注高性能,特点是基于pull模式来处理消息消费,追求高吞吐量,缺点:对于数据可靠性要求不是很高RocketMQ,起源于kafka,纯java编写,需要运维维护,缺点:商业版收费RabbitMQ,基于AMQP协议,试用于对数据一致性、稳定性和可靠性要求很高的场景

2022-02-23 08:54:26 1165

原创 SpringBoot使用MD5密码加密处理

SpringBoot使用MD5密码加密处理//创建MD5工具类@Componentpublic class MD5Utils { public static String MD5(String password){ String md5 = null ; try { //使用java自带的MessageDigest工具类 //加盐 //转base64字符串 md5

2021-09-04 19:58:47 516

原创 springboot返回统一接口与统一异常处理

springboot返回统一接口与统一异常处理在做后端服务开发时,想要每次获取的数据和抛出的异常保持统一的返回结果,结构清晰,方便管理1. 封装统一返回格式工具类ResultUtil//引入Lombok依赖,不引入可以自己构建getter,setter@Data@Componentpublic class ResultUtil<T> { //三个主要参数,code码,消息体,数据体 private Integer code; private String m

2021-09-04 19:25:41 515

原创 AOP统一处理web请求日志

AOP统一处理web请求日志1. 引入依赖<!--配置spring-boot-starter-parent父工程,下面的依赖可以不用再指定版本--><!--而是可以通过parent包中的版本仲裁,控制整体的版本--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId&g

2021-09-02 15:04:09 149

原创 SpringBoot配置Log4j2

SpringBoot配置Log4j21. 创建Spring Boot 项目2. 配置pom.xml文件<!--配置spring-boot-starter-parent父工程,下面的依赖可以不用再指定版本--><!--而是可以通过parent包中的版本仲裁,控制整体的版本--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-

2021-09-02 13:25:14 379

原创 SpringBoot2.0源码三

第三章:理解SpringApplication第一节:基础技术和衍生技术学好spirngboot,一定要学好spring framework基础技术(spring framework)spring 模式注解spirng 应用上下文spring 工厂加载机制spring 应用上下文初始器spring Environment 抽象接口spirng 应用事件/监听器衍生技术(spring boot )SpringApplicationSpringApplication Builder

2021-09-02 11:25:25 134

原创 SpringBoot2.0源码二

第二章:走向自动装配第一节:Spring Framework 手动装配第二节:Spring Framework 手动装配自定义模式注解spirng 模式注解装配定义一种用于声明在应用(Spring 或Spring boot中)中扮演“组件”角色的注解举例@Component @Service @Controller @Configuration1.@Service @Controller @Repository这三个注解从源码上看其实都是@Component 实现的,所以本质上这三

2021-09-02 11:21:54 138

原创 SpringBoot2.0源码解析一

第一章:系统总览第一节:导学根据慕课网小马哥springboot2.0深度实践,边学边记学习目的SpringBoot如何基于SpringFramework 逐步走向自动装配?SpringApplication是怎么样掌控Spring应用生命周期的?SpringBoot外部化配置与Spring Environment 抽象之间是什么关系?Spring Web MVC 向Spring Reactive WebFlux 过渡的真实价值和意义?课程收获spring 技术和实现原理spr

2021-09-02 11:20:21 232

原创 Nginx 代理 proxy_pass url匹配规则

模糊匹配没有 / 时,location /upload/pdf可以匹配 /upload/pdf 请求,也可以匹配 /upload/pdf/xxx 等而有 / 时,location /upload/pdf/不能匹配 /upload/pdf 请求,只能匹配/upload/pdf/xxx 这样的请求1. location 后有 /我们的需要代理的URL为http://127.0.0.1/upload/pdf/m.pdf第一种,proxy_pass后带 /listen 80;loc

2021-07-01 09:42:24 991

转载 SpringCloud基础

目录1、什么是微服务1.1、架构演进1.2、微服务架构1.3、微服务解决方案2、SpringCloud概览2.1、什么是SpringCloud2.2、SpringCloud主要组件EurekaRibbonFeignHystrixZuulGatewayConfigBusOAuth2Sleuth1、什么是微服务1.1、架构演进架构的发展历程是从单体式架构,到分布式架构,到SOA架构,再到微服务架构。单体架构:未做拆分的Java web应用分布式架构:

2021-06-30 13:19:13 94

原创 32周Spring Cloud 基础

32周Spring Cloud 基础微服务的基本概念、设计与拆分原则微服务和Spring Cloud的关系微服务常见的组件和功能实战:springcloud查询案例分模块构建Spring Cloud项目完成课程列表、课程价格服务开发课程服务整合、服务注册与发现整合Feign实现服务间调用网关集成与开发服务的熔断与降级,进行实操演练1. 微服务1.1 什么是微服务单体应用的痛点引入依赖越来越多,部署效率低下团队协作开发成本高系统高可用性差解决单体痛点-服务化

2021-06-27 23:15:52 178 1

原创 MAC环境安装Gradle

mac环境安装Gradle及配置1. 前提​ 从Gradle官网的安装指导可以知道, (最新的gradle版本)要求jdk的版本是1.8, 或者更高.// 使用以下命令可以查看自己电脑的jdk版本是否满足要求$ java -versionjava version "1.8.0_121"2. 下载安装gradle下载地址下载安装// 在根目录下的opt目录下, 创建gradle文件夹// 有可能没有权限, 或者没有目录, 可以使用 "sudo mkdir -p /opt/gradl

2021-06-27 13:57:21 2087

原创 java中判断list是否为空的用法

1、如果想判断list是否为空,可以这么判断:if(null == list || list.size() ==0 ){  //为空的情况}else{  //不为空的情况}2、list.isEmpty() 和 list.size()==0 有啥区别呢答案:没有区别 。isEmpty()判断有没有元素,而size()返回有几个元素, 如果判断一个集合有无元素 建议用isEmpty()方法.比较符合逻辑用法。3、list!=null 跟 !list.isEmpty()有什么区别

2021-01-19 14:20:33 209

原创 MySQL 字符串截取,动态参数

需求:截取字段中的#后信息Demo:烤焦的五花肉包上热乎的酸菜 自行脑补!!!#抖音心动餐厅 #浪计划 #烤肉SELECT shop_id AS id, shop_addr, SUBSTRING_INDEX( shop_addr, '#', -( SELECT LENGTH( shop_addr ) - LENGTH( REPLACE ( shop_addr, '#', '' ) ) FROM tb_shop WHERE shop_id = id ) )FROM tb_shop..

2021-01-18 19:05:12 223

转载 spring,jdbc,时区差8小时问题

1.当用new date()或者TimeZone时有8小时的时差问题:保证服务器时区为东八区时间即北京时间服务启动的时候,将当前时区设置为GMT+8,代码如下:@SpringBootApplicationpublic class Application {@PostConstructvoid started() {TimeZone.setDefault(TimeZone.getTimeZone(“GMT+8”));//TimeZone.setDefault(TimeZone.getTimeZ

2021-01-17 13:35:39 2025

原创 解决Spring Tools Suite (STS)创建maven工程时Archetype为空的问题

参考第一篇文章:没有解决https://www.cnblogs.com/DoubleEggs/p/6243213.html参考第二篇文章:OKhttps://www.cnblogs.com/xiamengz/p/13029993.html

2021-01-14 13:05:30 272

转载 tomcat中server.xml配置文件中几个port的作用和区别

在tomcat的server.xml中有这么几个port,很多人虽然一直在使用tomcat,但是却不知道这几个port各有什么作用,今天博主就来简单说说她们的作用和区别,先上一段代码片段:1.<Server port="8005" shutdown="SHUTDOWN">2.<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingFo

2021-01-14 11:22:28 1563

原创 pgsql 时间戳转换成北京时间,报错解析

问题pgsql毫秒级时间戳,转换时间的问题,报错问题呈现# 问题1> ERROR: operator does not exist: text / integer LINE 6: to_char(to_timestamp(rtqc_expire_time/1000) AT TIME ZONE 'U...# 问题2 ERROR: operator does not exist: character = integer原因:PostgreSQL8.3以后,取消了默认类型转换。因

2021-01-11 17:37:49 966 1

原创 MAC 电脑 刷新和强制刷新-快捷键

command + r 普通刷新(类似于windows的F5)command + shift + r 强制刷新(类似于windows的Ctrl+F5)

2020-12-23 11:12:54 5978

原创 一篇文章搞定 jdbc、jpa、spring data jpa、hibernate、mybatis之间的关系及区别

什么是jdbcjdbc(Java DataBase Connectivity)是java连接数据库操作的原生接口。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为各个数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。一句话概括:jdbc是所有框架操作数据库的必须要用的,由数据库厂商提供,但是为了方便java程序员调用各个数据库,各个数据库厂商都要实现jdbc接口。什么是ORMORM一般指对象关系映

2020-12-11 15:26:50 724

转载 设计模式六大原则(一):单一职责原则

单一职责原则定义是:不要存在多于一个导致类变更的原因。通俗地说,即一个类只负责一项职责。单一职责原则针对的问题有一个类T负责两个不同的职责:职责P1和职责P2。当因为职责P1的需求发生改变而需要修改类T的时候,有可能会导致原本运行正常的职责P2功能发生故障。单一职责原则的解决方案遵循单一职责原则,分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1的时候,不会使职责P2发生故障风险。同理,当修改T2的时候,也不会使职责P1发生故障风险。单一职责原则的认识说到

2020-12-10 16:57:58 415

原创 Linux 查看端口状态方法总结

1.查看端口被哪个程序占用sudo lsof -i tcp:port如: sudo lsof -i tcp:802.看到进程的PID,可以将进程杀死。sudo kill -9 PID如:sudo kill -9 32103.查看端口是否打开netstat -nat | grep 33064.查看已开启端口netstat -atu...

2020-12-09 19:53:25 374

转载 Eclipse使用教程(图文详解)+ 2020版eclipse配置tomcat + 配置JDK

一、前期准备在你JDK环境变量配置好之后(如果还没有配置,私信我我教你如何配置,或者WX 搜索"Java长征记"里面有介绍),下载安装Eclipse就可以正常运行。【下载Eclipse解压包,可选择去Eclipse官网下载】Eclipse的安装方式:下载后解压直接点击进入选择工作区间就可运行二、Eclipse基本概述:工作区(workspace)工作区是一个目录,程序和程序所需要用到的资源都在workspace里,中间缓存文件也存在工作区中。安装的时候选择好工作区项目(Project)

2020-12-08 19:11:31 8489 2

原创 你不知道的快捷键!!!Idea 常用快捷键列表

Alt+insert ,调取get/setCtrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类Ctrl+Shift+N,可以快速打开文件Alt+Q,可以看

2020-12-02 16:58:18 104

空空如也

空空如也

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

TA关注的人

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