自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java面试题精选:分布式(二)

如果接入过支付宝或者微信的支付接口,会遇到这样一种流程。例如,APP调用支付宝或微信的SDK(Software Development Kit软件开发工具包)进行了支付,钱已经从用户的支付宝或微信账户,转到了公司(开发APP的公司)的支付宝或微信账户上,但是支付系统,并不知道钱是否已经支付成功,需要支付宝或者微信回调公司的支付系统,才能进行后续的业务,如图所示。这其实就是一个最大努力通知的解决方案。在方案中主要保证两点:(1)有一定的消息重复通知机制。

2024-09-11 16:33:57 1448

原创 Java面试题精选:分布式(一)

由于CAP中一致性C和可用性A无法兼得,eBay的架构师,提出了BASE理论,它是通过牺牲数据的强一致性,来获得可用性。它由于如下3种特征。lBasicallyAvailable(基本可用):分布式系统在出现不可预知故障的时候,允许损失部分可用性,保证核心功能的可用。lSoft state(软状态):软状态也称为弱状态,和硬状态相对,是指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。lE。

2024-09-10 17:28:47 1120

原创 Java面试题精选:消息队列(三)

(1)vhost本质上就是一个mini版的mq服务器(有自己的队列、交换器和绑定,最重要的,拥有,可以做到vhost范围的用户控制。(2)Vhost提供了逻辑上的分离,可以将众多客户端进行区分,又可以避免队列和交换器的命名冲突。(3)Vhost必须在连接时指定,rabbitmq包含缺省vhost:“/”,通过缺省用户和口令guest进行访问。(4)rabbitmq里创建用户,必须要被指派给至少一个vhost,并且只能访问被指派内的队列、交换器和绑定。

2024-09-02 17:21:26 1139

原创 Java面试题精选:消息队列(二)

Kafka面试常见面试题整理

2024-08-26 17:31:27 910

原创 Java面试题精选:消息队列(一)

其实就是想问一下消息队列有哪些使用场景,你项目中什么业务场景用到了消息队列,有什么技术挑战。使用MQ后给你带来了什么好处。

2024-08-08 15:19:59 837

原创 Hibernate框架学习

Hibernate是封装了JDBC的一种开放源代码的ORM(Object Relational Mapping,对象关系映射)框架,使程序员可以用面向对象的思想操作数据库。

2024-08-07 10:17:33 1105

原创 SQL语句优化的建议

以下列举了20条SQL语句优化的建议技巧,在编写和优化SQL语句时,可以帮助显著提升SQL查询和数据库的整体性能。但实际应用中,需要根据具体的业务场景和数据库配置进行测试和调整,确保获得最佳的性能。

2024-06-13 09:34:38 361

原创 Docker常用命令大全

docker常用命令大全

2024-06-12 17:24:41 1115

原创 chrome自动更新后,手动恢复书签和历史记录

本文是针对,浏览器更新后,如何恢复本地书签可历史记录。为了解决“”这个问题,修改了Google属性,重启浏览器后,我天!!!google的书签、历史记录、保存的密码全都没了…(所以,尽量不要随意的更改google属性)

2024-03-05 15:38:17 2004

原创 解决:原点‘http://localhost:3100‘被CORS策略阻止:请求的资源上没有’Access-Control-Allow-Origin’标头(跨域请求失败)

1、右击 Goolge 浏览器 ,选择属性。2、目标最后面添加下面一段话(注意空格)

2024-03-05 15:21:00 632

原创 java 两个List取交集、并集(不去重/去重)、差集

java 两个List取交集、并集(不去重/去重)、差集。

2023-07-26 09:47:47 412

原创 Docker:使用dockerFile创建镜像(war包和jar包)

EXPOSE XXXX # XXXX代表端口号,容器暴露的端口,即jar程序在容器中运行的端口。EXPOSE XXXX # XXXX代表端口号,容器暴露的端口,即jar程序在容器中运行的端口。ADD XX.war xxx.war # war包添加到镜像中,第一个是jar包,第二个是镜像。ADD XX.jar xxx.jar # jar包添加到镜像中,第一个是jar包,第二个是镜像。

2023-05-05 17:46:16 2183 1

原创 Docker启动多个mysql容器

原有镜像mysql5.7.41,已启动mysql容器端口3306,再启动一个端口号为3400的容器。-- 创建新用户 mima 及密码 123456。-- 为 mima 用户设置 zjcxfz 的权限。-- 创建新数据库 zjcxfz。(3)输入密码:123456,然后就可以按照下面命令一步步创建新用户了。(2)然后进入docker内部,按照正常的操作登录mysql即可。(4)这时,就可以用新用户登录mysql了。

2023-05-05 17:43:38 1348

原创 docker基础命令

使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。当利用docker run创建容器时,docker在后台标准运行过程是:检查本地是否存在指定的镜像,存在,直接加载;例如:将容器ID为9ca35195df5a,保存为新的镜像,并添加提交人的说明信息。o表示输出的文件,这里指定了输出的路径,如果没有指定路径,则默认生成到当前文件夹。显示所有的容器,包括未运行的,只显示他们的容器ID。

2023-05-05 17:42:00 501

原创 MySQL中distinct和group by性能比较

在语义相同,有索引的情况下,group by和distinct都能使用索引,效率相同。在语义相同,无索引的情况下,distinct效率高于group by。

2023-04-20 17:24:33 590

原创 JVM堆内存及参数配置 -Xss -Xms -Xmx -Xmn

首先,把Eden和Servivor From区域中存活的对象复制到Servicor To区域(如果有对象的年龄达到了老年的标准,则赋值到老年代区),同时把这些对象的年龄+1(如果 ServicorTo 不够位置了就放到老年区);线程栈的大小是个双刃剑,如果设置过小,可能会出现栈溢出,特别是在该线程内有递归、大的循环时出现溢出的可能性更大;如果该值设置过大,就有影响到创建栈的数量,如果是多线程的应用,就会出现内存溢出的错误。:Java新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老年代)。

2023-03-21 16:12:14 5512

原创 JVM内存模型

JVM包含两个子系统和两个组件类装载子系统根据给定的全限定名称将class文件加载到JVM内存,转为Class对象运行时数据区即JVM的内存执行引擎也叫解释器,负责解释命令,交由操作系统执行。执行classes中的指令本地库接口本地接口的作用是融合不同的语言为java,所用是其他编程语言交互的接口运行流程(1)首先通过编译器把Java代码转换为字节码,类加载器(Class loader)再把字节码加载到内存中,将其放在运行时数据区(Runtime data area)的方法区中。

2023-03-20 17:17:39 304

原创 lombok类库的常用注解

ToString:用在类上,可以自动覆写toString方法,当然还可以加其他参数,例如@ToString(exclude=”id”)排除id属性,或者@ToString(callSuper=true, includeFieldNames=true)调用父类的toString方法,包含所有属性。@Slf4j:在需要打印日志的类中使用,当项目中使用了slf4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;

2023-02-20 16:09:49 295

原创 @NotEmpty、@NotBlank、@NotNull三种注解的区别

只能用在String类型上的非空校验,不能为空,而且调用trim()后,长度必须大于0(即必须有实际字符)而且被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制。:用在基本数据类型的非空校验,不能为null,但可以为empty。:用在集合类或数组上,不能为空,但长度必须大于0。

2023-02-20 11:08:26 3953

原创 IDEA将SpringBoot启动类Main方法打包成可执行jar包

1、file——Project Structure2、Artifacts添加jar包配置3、填写main方法相关信息4、jar包结构如下,点击apply,OK5、打包将pom文件中的 <packaging>war</packaging>更改为 <packaging>jar</packaging>6、完成查看target目录下生成的jar包,cmd执行java -jar QA-textcut.jar即可备注:使用工具栏Build—B

2022-05-10 17:24:32 1087

原创 解决方法:springboot在启动类main方法中调用service层方法报“空指针异常“

因需要将springboot工程打包成jar包运行,因此需要将controller中的接口直接写在启动类的main方法中,启动即执行。按照常规service方法调用实现,报错如下:debug调试发现,是service注入为空,所以报空指针异常。解决方法:1、首先建立一个Spring工具类:SpringUtilimport org.springframework.beans.BeansException;import org.springframework.context.ApplicationC

2022-05-10 14:17:42 4717

原创 java文本写入方法(PrintStream,FileWriter,BufferedWriter)

PrintStream(字节打印流)PrintStream 是打印输出流,它继承于FilterOutputStream。PrintStream 永远不会抛出 IOException;它产生的IOException会被自身的函数所捕获并设置错误标记, 用户可以通过 checkError() 返回错误标记,从而查看PrintStream内部是否产生了IOException。PrintStream 提供了自动flush 和 字符集设置功能。所谓自动flush,就是往PrintStream写入的数据会立刻调用

2022-03-31 09:38:54 2007

转载 ConfigurationProperties 配置绑定详解

转载:https://www.cnblogs.com/yihuihui/p/14290089.html对ConfigurationProperties的使用一直不太清晰明了,将大佬的整理转载在自己的博客(方便后续复习查阅,有侵权的话可以删哦)1、本文介绍了@ConfigurationProperties修饰 POJO 类,实现配置的绑定,可以通过将这个类声明为一个普通 bean 的方式进行注册,也可以借助@EnableConfigurationProperties来注册2、在配置参数时,需要注意如果参

2022-02-14 11:26:39 594

原创 ElasticSearch概述

1 简介Elasticsearch(简称ES)是一个基于Apache Lucene™的开源搜索引擎,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。Elasticsearch是使用Java编写并使用Lucene来建立索引并实现搜索功能,但是它的目的是通过简单连贯的RESTful API让全文搜索变得简单并隐藏Lucene的复杂性。 不仅能对海量规模的数据完成分布式索引与检索,还能提

2022-01-19 14:40:52 366

原创 CentOS7安装RabbitMQ

1. 安装依赖环境在线安装依赖环境:yum install build-essential openssl openssl-devel unixODBC unixODBC-devel makegcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz2. 安装Erlang上传:erlang-18.3-1.el7.centos.x86_64.rpmsocat-1.7.3.2-5.el7.lux.x86_64.rpmrabbitmq-server-3

2022-01-16 16:17:18 185

原创 linux中安装部署Nginx并使用

文章目录1 Nginx的安装与启动1.1 什么是Nginx1.2 安装Nginx2 Nginx静态⽹站部署2.1 静态⽹站的部署2.2 配置虚拟主机2.2.1 端⼝绑定2.2.2 域名绑定3 Nginx反向代理与负载均衡3.1 反向代理3.1.1 什么是反向代理3.1.2 配置反向代理-准备⼯作3.1.3 配置反向代理3.2 负载均衡3.2.1 什么是负载均衡3.2.2 配置负载均衡-准备⼯作3.2.3 配置负载均衡1 Nginx的安装与启动1.1 什么是NginxNginx 是⼀款⾼性能的 http

2022-01-16 16:05:43 290

原创 分布式RPC框架Apache Dubbo

Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的、轻量级的开源Java RPC框架,可以和Spring框架无缝集成,2018年阿里巴巴把这个框架捐献给了apache基金会

2022-01-07 16:27:51 209

原创 springCloud—微服务简介

微服务简介1.系统架构演变1.1. 集中式架构1.2.垂直拆分1.3.分布式服务1.4.服务治理(SOA)1.5.微服务2.远程调用方式2.1.认识RPC2.2.认识HTTP2.3.如何选择?3.Spring Cloud简介3.1.简介3.2.版本问:为什么要学习Spring Cloud答:在项目开发中随着业务越来越多,导致功能之间耦合性高、开发效率低、系统运行缓慢难以维护、不稳定。微服务 架构可以解决这些问题,而Spring Cloud是微服务架构最流行的实现1.系统架构演变随着互联网的发展,网站

2022-01-07 00:54:37 532

原创 springCloud——idea删除Module后重新创建同名Module文件失效解决

练习SpringCloud微服务架构时,因新建子模块module出错,就remove—>delete后又新建一个同名的module,问题来了…经过一番采坑与排查后,终于发现了问题**第一步:**新建module前检查父项目的pom.xml是否清楚相应的module第二步:打开父目录的.idea文件,将图中蓝色的三个文件中与你准备要建的module名一致的相关代码行都删除第三步:重点来了,删除modules.xml文件,没错,删了它完工,问题解决!...

2022-01-06 23:39:21 1840 2

原创 【采坑记】Java实现pdf文件下载,postman测试功能正常,vue请求后台报错java.io.ioexception:你的主机中的软件中止了一个已建立的连接

先看一下最初的pdf文件下载代码: @PostMapping(value = "/downPdf") public void downPdf(HttpServletResponse response)throws Exception { //获取要下载的模板名称 String fileName = "InstructionsPdf.pdf"; OutputStream os=null; response.reset();

2021-12-22 15:07:58 2037

原创 JDBC笔记

JDBC第一章 JDBC1.1 简介1.2 JDBC体系结构1.3 JDBC核心组件1.4 CRUD语法介绍1.5 使用步骤1.6 JDBC连接步骤1.6.1 JDBC执行SQL语句1.6.2 Statement1.6.3 SQL注入1.7 PreparedStatement(预状态通道)1.8 ResultSet1.9 JAVA操作两表关系1.9.1 一对多(老师->学生)1.9.2 多对一(学生->老师)1.9.3 一对一(妻子丈夫)1.9.4 多对多(科目-学生)1.9 数

2021-11-01 16:55:54 351

原创 数据库进阶

第一章 事务事务(Transaction)是由一系列对系统中数据进⾏访问与更新的操作所组成的⼀个程序执行逻辑单元。1.1 事务的语法start transaction; begin;commit; 使得当前的修改确认rollback; 使得当前的修改被放弃1.2 事务的ACID特性1. 原⼦性(Atomicity)事务的原⼦性是指事务必须是⼀个原子的操作序列单元。事务中包含的各项操作在⼀次执⾏过程中,只允许出现两种状态之一。(1)全部执行成功(2)全部执行失败事务开始

2021-11-01 16:41:04 450

原创 数据库高级

数据库高级第一章 数据完整性1.1 数据库的完整性1.2 实体完整性1.2.1 主键约束(primary key)1.2.2 唯一约束(unique)1.2.3 自动增长列(auto_increment)1.3 域完整性1.3.1 数据类型1.3.2 非空约束1.3.3 默认值约束1.4 引用完整性第二章 多表查询2.1 多表的关系2.1.1 一对多/多对一关系2.1.2 多对多关系2.1.3 一对一关系2.2多表查询2.2.1 合并结果集2.2.2 连接查询2.2.3 子查询第三章 综合练习3.1 综合

2021-11-01 16:36:41 179

原创 数据库基础

数据库基础第一章 数据库简介1.1 简介1.2 常见数据库管理系统1.3 三大范式(规范)1.4 MySQL安装与卸载1.4.1 安装1.4.2 卸载第二章 SQL语言2.1 概述2.2 SQL语句分类2.3 DDL操作数据库1 创建2 查看数据库3 修改数据库4 删除数据库5 其他语句2.4 DDL操作表2.4.1其他表操作2.5 DML操作2.6 DCL第三章 DQL数据查询3.1 简单查询3.2 条件查询3.3 模糊查询3.4 字段控制查询3.5 排序3.6 聚合函数3.7 分组查询3.8 LIMI

2021-11-01 16:13:48 203

原创 IDEA自定义注释模板

1.修改类头的文档注释信息效果:步骤:Setting – Editor – File and Code Templates/** * @Author: Mango. * @Description: * @Date Created in 2021-11-01 15:47 * @Modified By: */2.方法注释模板:效果:步骤:打开file->setting->Editor->LiveTemplates点击右边上面那个+号,选择Template Grou

2021-11-01 16:02:01 2028

原创 IDEA使用JUnit进行单元测试

使用步骤使用idea IDE 进行单元测试,首先需要下载jar文件。1. 新建lib文件夹2.将jar文件粘贴到lib文件夹中3.引入Jar文件4. 新建test文件夹5. 将test文件夹设置为测试文件夹6. 在任意要测试的类里按下shift+ctrl+t 生成测试类7.选择要测试的方法和版本8.测试类创建完毕, 编写测试代码9. 执行测试观察效果...

2021-11-01 15:40:43 3352

原创 核心类库——枚举、注解与反射

枚举 & 注解 & 反射一、枚举在JDK1.5之前,定义常量一般为:public stattic final…,很难管理。JDK1.5引入了枚举。枚举可以把相关常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。用于定义有限数量的一组同类常量,例如:错误等级:低、中、高、急一年的四季:春、夏、秋、冬商品的类型:美妆、手机、电脑、男装、女装在枚举类型中定义的常量是该枚举类型的实例。1.1 定义格式权限修饰符 enum 枚举名称{ 实例1,实例2,实例3,实

2021-11-01 15:30:28 128

原创 解决方法:Exception in thread “main“ java.lang.NumberFormatException: For input string: ““

一个很简单的小问题,但因为粗心老是搞错。所以记录一下。 public static void main(String[] args) { String s = ""; test2(s); } public static void test2(String s){ if (s != null || s.length() >0) { System.out.println(Integer.valueOf(s));//出

2021-11-01 15:11:47 9204

原创 核心类库——XML与JSON

一、 XML1.1 简介xml为可扩展标记语言(eXtensible Markup Language)特性:XML具有平台无关性,是一门独立的标记语言XML具有自我描述性用途:网络数据传输数据存储配置文件虽然.XML文件是保存XML数据的一种方式 ,但是不要将XML语言狭隘的理解成XML文件。XML数据也可以以其他的方式存在(如在内存中构建XML数据)。1.2 语法格式1、 XML文档声明<?xml version="1.0" encoding="UTF-8"?&gt

2021-10-28 15:04:27 209

原创 核心类库——网络编程

网络编程一、 网络常识1. 什么是计算机网络 ?分布在不同地域的计算机, 通过硬件等网络设备使用通信线路互相连接形成的一个网格系统.计算机网络, 可以很方便的进行 信息的传递, 资源的共享 !2. 什么是计算机的IP地址 ?IP地址 是计算机在互联网中的唯一标识 . 就像人在社会中的身份证号码.本机IP:​ 127.0.0.1​ localhost3. 什么是 网络中 网站的域名 ?域名可以简单的理解为, IP地址的别名. 更方便记忆, 当输入域名后(例如www.baidu.com)

2021-10-28 11:41:33 150

空空如也

空空如也

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

TA关注的人

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