自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WuHuaSen的博客

点点滴滴,坚持到底

  • 博客(77)
  • 收藏
  • 关注

原创 RabbitMq-发布确认高级(避坑指南版)

rabbitMq-消息确认(高级)避坑指南篇~参考文章可以解决“无法触发回调”的问题

2023-08-17 10:39:58 1288

原创 “Lambda ”这一篇搞定~

关于内部类一共可以分为四种:“成员内部类”、“局部内部类”、“匿名内部类”、“静态内部类”,其中“匿名内部类”需要重点掌握,这里呢也介绍这一种,另外三种较为简单,了解即可。有兴趣的伙伴可以普及~匿名内部类:在类中定义一个没有名称只有类体的类,一般使用在抽象类和实现类(接口)中。接口名称 对象名 = new 接口名称() {// 覆盖重写所有抽象方法下面分别从这两种形式去认识匿名内部类,废话不说,直接上代码!!

2023-07-28 15:35:31 233

原创 Excel操作-Apache-POI

Apache-POI是基于office open XML标准(OOXML)和Microsoft和OLE2复合文档格式(OLE2)处理各种格式的开源项目,简而言之,您可以使用java读写MS excel文件,可以使用java读写MS word 和MS powerPoint文件。

2023-02-20 18:08:53 1049 1

原创 FastDFS的部署以及在Springboot中的应用

FastDFS是一个开源的轻量级分布式文件存储系统,可以供我们去完成文件的上传与下载。在FastDFS中由两部分组成,分别是tracker、Storage注:docker搜索镜像文件是需要联网的!!!1、查看fastdfs都有哪些版本(搜索镜像文件)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dPR7U7Zt-1670471640515)(4a85625ec7d7017239bdbeee890dabb2.png)]2、拉取镜像,我这里选择的是delron/fastdfs版

2022-12-08 11:57:31 2182 2

原创 Hibernate(1)

相信很多伙伴和我一样,之前接触的JDBC->mybatis。至于hibernate只知道它是全自动的,而mybatis是半自动的。比较熟悉的或者用的比较多的可能是SSM,而SSH则接触比较少。最近几天将重新较细致认识一下hibernate。Let’s go~~

2022-11-13 09:23:45 391

原创 数组和List相互转化(摒弃循环)

数组和List相互转化(摒弃循环)

2022-11-09 22:31:01 11284

原创 SSM框架17问--面试必备

可以简单的理解为springIoc和DI都是一种思想,而DI是springIoc的具体实现。以往我们创建对象都需要通过new关键字进行对象的创建,随着对象的依赖关系逐渐复杂,new的方式让代码显得更加繁琐。而springIoc(控制反转)的出现可以让开发者只关注代码逻辑的开发,而将所有的对象统一交给Spring容器进行管理,而spring容器管理对象的方式就是通过DI达到的,DI(依赖注入)的方式有三种:Setter、构造方法、接口;

2022-11-07 10:28:19 626

原创 事务的隔离级别

1、READ UNCOMMITTED 读未提交(可能会造成脏读、不可重复度、幻读)幻读:一个事物读取数据时,另外一个事物更新,导致第一个事物读取到了没有更新的事务。3、REPEATABLE READ 可以避免脏读、不可重复读和一部分幻读。4、SERIALIZABLE 可以避免脏读、不可重复度、幻读。2、READ COMMITTED 读已提交(可以避免脏读)MySQL InnoDB 存储引擎的默认支持的隔离级别是。不可重复读:同一个事物,多次读取到的数据不一致。脏读:一个事务读取到另一个事务未提交的数据。

2022-11-04 13:30:25 300

原创 线程高频面试题整理

原子操作是指一个不受其他操作影响的操作任务单元。原子操作是在多线程环境下避免数据不一致必须的手段。int++并不是一个原子操作,所以当一个线程读取它的值并加1时,另外一个线程有可能会读到之前的值,这就会引发错误。为了解决这个问题,必须保证增加操作是原子的,在JDK1.5之前我们可以使用同步技术来做到这一点。到JDK1.5,java.util.concurrent.atomic包提供了int和long类型的封装类,它们可以自动的保证对于他们的操作是原子的并且不需要使用同步。

2022-11-04 12:46:13 557

原创 Redis高频面试题

这就要从客户端主库写入数据说起,当往主库中写入数据后,设置过期时间,数据会以异步的方式同步给从库,如果此时读取主库,数据已经过期,主库的惰性删除会发挥作用,主动触触发操作,客户端不会拿到已经过期的数据,由于Redis采取的一主多从,如果此时数据从‘从库’拿取数据,就会拿到过期数据,原因则是由于redis版本的原因,在Redis4.2之前的版本,读从库并不会判断数据是否过期,所以有可能返回过期数据。当客户端将数据写入主库,主库再向从库中同步数据,这期间的时间间隔会影响数据的过期的时间。

2022-10-20 15:30:43 663 2

原创 在Springboot中应用Redis集群

2、修改application.properties为application.yml,并对其进行redis集群的配置。3、在测试类中导入‘StringRedisTemplate’对象,对redis进行操作。1、新建Springboot应用,并添加spring data redis依赖。5、启动测试类,查看存值情况。’4、对其进行存值操作。

2022-10-14 10:08:23 865

原创 Redis高级应用(三)--集群

redis集群中每个节点都是对等的,无中心结构.数据按照slots分布式存储在不同的redis节点上,节点中的数据可共享,可以动态调整数据的分 布可拓展性强,可以动态的增删节点,最多可拓展至1000+节点集群每个节点通过主备(哨兵模式)可以保证其高可用性。

2022-10-13 12:16:11 601

原创 Redis高级应用(二)--哨兵模式

使用指令 ‘redis-sentinel /usr/local/redis-5.0.7/sentinelconf/sentinel-26382.conf。如果要使用哨兵模式,首先要实现三个redis实例之间的主从配置。使用指令‘redis-server /usr/local/redis-5.0.7/msconf/redis-slave1.conf。’ 启动三个sentinel哨兵。

2022-10-12 12:17:36 379

原创 Redis高级应用(一)--主从配置

主从配置就是在多个redis实例建立起主从关系,当主redis中的数据发生变化,从redis中的数据也会同步变化。主从配置的能够干什么?通过redis主从配置可以实现redis数据的备份(从redis就是对主redis的备份),保证数据的安全性。

2022-10-11 17:14:09 594

原创 Redis-缓存穿透&缓存雪崩

当大量的请求在Redis中无法命中,这时候请求会进行对数据库的访问,但是访问后发现这是一个数据库中的不存在的数据。在这过程中最终所有的请求都会对数据库进行访问,同样会导致数据库承受巨大的访问压力,这就是缓存穿透。与缓存击穿不同的是,缓存穿透不要求是并发访问。

2022-10-09 15:09:04 172

原创 Jmeter--压力测试工具

前言:Jmeter是一款抗压测试工具,具体是干嘛用的相信在来到这的小伙伴都对它有了一些基本的了解,这里就不做过多的赘述了,本文主要是记录一下Jmeter的下载使用过程是怎么样的~点击上一步创建的‘结果树’view result tree ,可以查看发送请求返回的结果情况。最后设置Listener中的‘结果树’(不需要进行任何的配置),用来看请求的结果。添加完线程组之后,选中线程组,单机鼠标右键添加请求(HTTP Request)在添加请求中,设置请求的协议、请求的地址,端口号、ip地址。

2022-10-06 20:33:37 1611

原创 Redis-缓存击穿

缓存击穿:大量的并发请求同时访问同一个在redis中不存在的数据,就会导致大量请求绕过redis同时并发访问数据库,对数据库造成了高并发访问压力。

2022-10-06 08:45:58 702 2

原创 Java应用连接Redis

一、Maven工程连接Redis1.1 修改redis.conf文件1.2 在maven工程中添加Jedis依赖1.3 使用案例二、SpringBoot工程中连接Redis2.1 创建springboot应用:2.2 application.yml配置文件中配置Redis:2.3 使用RedisTemplate工具类操作Redis:2.4 RedisTemplate示例代码: 1、 关闭保护模式2、将bind 注释掉(如果不注释,默认为127.0.0.1 只能本机访问)3、设置密码(也可以不设置

2022-09-14 18:48:12 2693

原创 Redis持久化策略

Redis是基于内存操作,作为一个数据库也具备持久化能力,但是为了实现高效的读写操作,并不会及时进行数据的持久化,而是按照一定的规则进行持久化操作的。

2022-09-07 17:28:11 1960 2

原创 走进Redis-常用指令

注:在进行redis键值存储的之前,要首先使用指令‘redis-cli’指令进入redis客户端。

2022-09-06 17:35:07 252

原创 走进Redis之配置文件的修改&使用

在使用redis配置文件启动实例的之前,我们需要做一些准备工作,那就是安装lsof,为我们接下来查看服务是否启动,以及“杀死”服务进行准备。(1)、使用redis-server指令启动redis服务的时候,可以在指令后添加redis配置文件的路径,以设置redis是以何种配置进行启动的。使用配置文件启动redis实例的指令:redis-server redis.conf &;(3)、我们可以通过创建redis根目录下的redis.conf来创建多个配置文件,启动多个redis服务。...

2022-08-31 09:50:38 2506

原创 走进Redis及入门安装(linux)

2008年萨尔瓦多开发了一个软件项目-网站实时统计,需要大量的数据库读写操作,对数据库的读写要求很高,但是普通的关系型数据库并不能满足如此高的读写操作,于是萨尔瓦多使用C语言自定义了一个数据库(数据存储系统-redis);后来他将Redis进行了封装,并对此进行开源,从此redis走进了开发人员的世界~......

2022-08-27 20:58:37 302

原创 跨域请求处理之配置代理模式

跨域是是因为浏览器的同源策略限制,是浏览器的一种安全机制,服务端之间是不存在跨域的。所谓同源指的是两个页面具有相同的协议、主机和端口,三者有任一不相同即会产生跨域。

2022-08-03 11:43:29 948

原创 Vue-插槽的使用

父组件: 例: 子组件: 例:二、具名插槽 具名插槽,就是给插槽加入name属性 父组件: 例: 子组件: 例: 三、作用域插槽 作用域插槽,与前两者的不同 slot自定义:name="值" 子组件可向父组件传递信息 理解:数据在组件的自身,但根据数据生成的结构需要组件的使用者决定。(games数据在Cate

2022-07-26 18:27:20 228

原创 ‘全局事件总线’&‘消息订阅与发布’

全局事件总线又称BUS,一种组件间通信的方式,适用于任意组件间通信。使用前我们首先需要进行全局引入,由于全局事件总线需要所有的组件都可以访问到,所以我们需要在main.js中进行全局事件总线的安装。一种组件间通信的方式,适用于任意组件间的通信;需要接受数据一方需要订阅,传递数据的一方需要消息发布,这样之后只要消息发布,订阅方就可以接收到数据。A组件想要接受数据,则在a组件中给$bus绑定自定义事件,事件的回调在a组件自身,并在销毁前进行事件的解绑。...

2022-07-24 21:15:13 357

原创 tkMapper的使用-超详细

tkMapper已经完成了对单表的通用操作的封装,主要封装在Mapper接口和MysqlMapper接口中,因此我们如果要完成对单表的操作,只需要自定义dao接口继承这两个接口即可。增加方法在准备工作中已经完成,如果想了解此部分内容,可以向上进行查看,此处主要是添加功能的另一种实现------------主键回填。注意在进行主键回填的时候,实体类中id必须要用@Id指定一下,要不然映射的时候找不到id;过程如下创建一个users对象,对象的id是需要修改的用户的id,其他信息是需要更改后的信息。...

2022-07-24 16:54:05 5798 4

原创 Vue-TodoList案例剖析

TodoList案例有点类似于我们平时使用的“备忘录”的功能。在这次案例中主要是为了体验“组件化编程的流程”,组件化编程的流程有以下三个拆分静态组件;组件要按照功能点拆分,命名不要与html元素冲突实现动态组件考虑好数据的存放位置,数据是一个组件在用,还是一些组件在用;实现交互从绑定事件开始一个组件在用放在组件自身即可.一些组件在用放在他们共同的父组件上(状态提升)项目拆分组件及功能如图所示。...

2022-07-22 16:05:46 869

原创 RESTful-URL设计规范

RESTful是一种webapi的标准,也就是一种url设计规范。

2022-07-19 21:20:33 2559

原创 Mybatis-plus—小白通俗易懂版(入门案例&最常见问题解决)

目录一、Mybatis-plus相较于mybatis的优势?二、基于springboot+mybatis-plus实现的案例:2.1 新建springboot项目2.2 数据表‘user’2.3 根据数据表创建实体类文件2.4 书写接口文件2.5 书写Controller实现类2.6 测试结果一览三、mybatis-plus使用过程中注意事项: Mybatis-Plus是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变 ,它相较于mybatis的优势主要有以下几点:

2022-07-07 10:31:57 4909

原创 SpringBoot~让开发变得如此简单

目录一、SSM手动整合存在的问题二、为什么使用SpringBoot?三、SpringBoot简介3.1 SpringBoot的优点3.2 SpringBoot的缺点四、SpringBoot的简单应用4.1 SpringBoot的项目结构4.2 自定义配置4.3 一个关于SpringBoot的Demo(1)、步骤多,配置繁琐(2)、项目进行服务器部署步骤繁琐 随着动态语言的流行,java语言的开发显得格外笨重,配置繁琐,开发效率低,项目的部署变得复杂,集成第三方的难度加大。在这种情况下,Spr

2022-06-13 18:31:11 382

原创 如何使用Pagination+PageHelper实现分页?

目录一、分页的原理:1.1 分页的原理1.2 真假分页二、后端-PageHelper的使用:三、前端-Pagination的使用:四、分页中的细节:通过element-ui 的内置组件pagination实现分页,任何分页都有以下五个部分组成: pagination实际上是一个组件,组件里设置了分页常用到的参数,让pagination组件得到分页常用的参数值,这就能够实现分页了。 真分页:当你目前在首页的时候,点击“第二页”或“下一页”的时候,会重新向后端发送请求,请求第二页的数

2022-06-12 10:47:07 4887 4

原创 Mock的使用

使用Mock数据,提供了假数据,可以让前端不需要等待后端的接口,而直接进行下一步的开发,具体如何使用呢?这篇文章将与大家一起详细体验一下Mock的使用~Let's go1:进入Mock的官网(点击链接直达):Easy Mock2:点击‘开始吧’,进入用户的登录/注册界面,点击登录,如果没有账号,系统会直接将登录的账号帮你完成注册并登录3:点击右下角“+”,创建一个项目4:创建一个项目,并添加项目的基本信息5:在Mock主页面会看到刚刚创建的项目,我...

2022-05-17 17:56:38 1571

原创 你好,我是“Vue路由”

路由,在数据通讯时,帮你选择通信的路线,在vue中的路由能够帮助我们在一个vue组价中实现其他组件的切换,也就是说可以通过路由模块将指定的组件显示在路由视图中一、路由的基本使用1.1 安装路由1.2 安装路由依赖1.3 设计路由界面1.4 创建静态路由表1.5 在main.js中引入路由模块并使用1.6 实现路由二、路由的参数传递三、实现跳转的两种方式...

2022-05-13 09:48:07 168

原创 Axios的使用及跨域处理

Axios是一个开源的、可以在浏览器端和node.js的异步通信框架,它的主要作用就是实现ajax异步通信。axios的实现异步通信功能特点有如下几种:从浏览器中间创建xmlhttprequest 从node.js创建http请求 支持promise api 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换json数据 客户端支持防御XSRF(跨域请求伪造)1.1 为什么使用axios呢?由于vue.js是一个视图层框架并且作者(尤玉溪)严格遵守so...

2022-05-12 15:33:08 2998

原创 vue进阶之“走进Vue组件”~~(超详细)

在学java面向对象的时候,想必大家都听过这样一句话“万事万物皆对象”,如今我们来到vue的时候,也有这样一句话“万事万物皆组件”,所以本篇文章将带领大家详细了解vue中最重要的一部分“Vue组件”一、Vue组件的组成部分:二、如何在项目中注册组件?2.1 全局注册2.2 本地注册三、各组件之间的参数传递:3.1 父传子3.2 子传父...

2022-05-11 09:05:41 200

原创 Vue-cli脚手架工具的安装及基本使用

Vue-cli脚手架工具就像后端使用maven创建项目,在我们使用maven创建项目,无非有两个目的:第一个就是通过Maven的依赖机制,能够快捷的管理依赖,第二个则是通过Maven来确定项目的结构,所谓的项目结构就是项目里有哪些文件和文件夹,以及文件夹是怎么样的层级关系。 问题:一个vue项目里的项目结构应该是怎么样的呢?我们能不能快捷获得这样的项目结构的呢? 我们通过Vue-cli这种的脚手架工具就可以解决这样的问题,vue-cli里存放了很多的常用的...

2022-05-09 18:04:52 601

原创 初识Vue之基础指令使用(初学者请进~)

vue是一套构建用户界面的渐进式的js框架,与其他大型框架不同的是,vue被设计为可以自底向上的逐层应用,vue的核心库只关注视图层,不仅易于上手还便于第三方数据域或者既有项目的整合目录一:引言 (MVVM模式):二、插值表达式:2.1 插值表达式的使用三、基础指令:3.1 v-model(双向数据绑定)3.2 v-on (事件绑定)3.3 v-bind (HTML属性绑定)3.4 v-once(指明元素只出现一次)3.5 v-html 与 v-t...

2022-05-07 11:33:53 247

原创 关于SSM整合,看这一篇就够了~(保姆级手把手教程)

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。目录一、创建基于maven管理的web项目:1.1 补全项目结构1.2 添加web项目依赖、配置服务器运行环境二、部署mybatis:2.1 添加mybatis依赖、创建配置文件三、部署spring、springMvc:3.1 添加依赖3...

2022-05-05 13:25:59 2188 11

原创 拦截器?我只用自定义的~

SpringMvc提供的拦截器类似于Servlet api中的过滤器。可以对控制器请求进行拦截实现相关的预处理和后处理,但是springmvc拦截器不能代替过滤器目录一、SpringMvc拦截器和Servlet过滤器的区别:二、拦截器的使用---创建拦截器:三、拦截器的使用---配置拦截器:四、拦截器链的实现过程:一、SpringMvc拦截器和Servlet过滤器的区别:过滤器:是Servlet规范的一部分,所有的web项目都可以使用(在web.xml中进行配...

2022-05-04 11:21:22 139

原创 Springmvc统一异常处理

在我们应用系统的运行过程中,可能由于运行环境,用户操作不当,资源不足等各方面原因导致系统出现异常(HTTP状态异常、java代码异常等等);如果系统出现这些异常会通过浏览器呈现给用户,这种异常显示是没有必要的,因此我们可以在服务器进行特定的处理,即当系统呈现异常之后,呈现给用户一个统一的、可读的异常提示页面目录一、HTTP异常状态统一处理二、SpringMvc处理三、SpringMvc处理统一异常一、Http异常状态统一处理 Http异常处理可以使用...

2022-05-04 09:19:18 708

内网穿透(免费、绿色)、可用于项目远程访问、协同开发,免去服务器发布的繁琐流程

内网穿透(免费、绿色)、可用于项目远程访问、协同开发,免去服务器发布的繁琐流程

2023-05-04

POI详文&EasyExcel(EasyExcel直接可看官方文档).pdf

这是一篇关于Excel文件操作的文章,主要写的是POI操作,关于EasyExcel建议直接查看官方API文档,写的很详细。所以在这里也没有做过多的整理和总结。如果了解了POI,那么EasyExcel一定没问题,冲吧

2022-12-13

空空如也

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

TA关注的人

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