自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 适配任何数据结构的异步Excel生成(企业级开发)

由于公司的excel生成过于缓慢,有时生成一个excel文件需要等待几十秒甚至几分钟,在等待的时候用户不能跳转其他页面,用户体验不好,可以先看一下,公司excel的下载流程图可以发现问题所在,在查询数据的时候可能会有比较长的时间等待以及excel的生成都需要一定的时间,且数据结构单一,对不同的表单和报表等都需要独立出代码,代码的复用不高,所以进行如下优化。需求源码会放在最后。...

2022-07-24 22:27:05 827 4

原创 AOP实现企业级API访问接口监控(通过Google Guava缓存数据)

适用于企业开发的API接口监控

2022-07-24 11:40:58 580

原创 FastDFS分布式文件系统(Linux安装详细教程)

文章目录介绍安装教程1、安装libfastcommon2、安装FastDFS3、配置Tracker服务4、配置Storage服务5、安装Nginx和fastdfs-nginx-module模块介绍FastDFS 是一个由 C 语言实现的开源轻量级分布式文件系统,作者余庆(happyfish100),支持 Linux、FreeBSD、AID 等 Unix 系统,解决了大数据存储和读写负载均衡等问题,适合存储 4KB~500MB 之间的小文件,如图片网站、短视频网站、文档、app 下载站等,UC、京东、支

2022-04-03 09:25:02 2026

原创 SpringCloudAlibaba实现<实名认证-身份证二要素>

文章目录前言一、购买API二、集成身份认证三、完成身份认证1、接口开发前期工作2、接口开发前言需求:我们输入真实姓名和身份证号就能验证,其技术在于阿里云的身份认证接口.一、购买API阿里云相关身份认证API地址:d=====( ̄▽ ̄*)b 顶我们就先拿免费的试用一下吧支付成功后,点击管理控制台这三个参数待会要用到:AppKey、AppSecret、AppCode我们回到一开始的购买界面,滑到下面会发现一个API接口的测试二、集成身份认证首先我们通过API接口的测试,需要建立一

2022-02-14 14:49:21 1824

原创 20分钟快速入门Nginx

文章目录学习目标学习内容一、Nginx简介1、什么是Nginx?2、场景需求(转载)Nginx作用二、正向代理和反向代理1、正向代理2、反向代理三、负载均衡理解四、Nginx安装-Windows五、Nginx安装-Linux六、Nginx的常用命令七、Nginx实战及总结学习目标1、Nginx简介2、正向代理和反向代理3、负载均衡理解4、Nginx安装-Windows5、Nginx安装-Linux6、Nginx的常用命令7、Nginx实战及总结Nginx官网:http://nginx.

2022-01-09 17:40:55 2335

原创 关于我在SpringCloudAlibaba运用和入门Rocketmq

文章目录学习目标学习内容一、MQ简介1、什么是MQ2、MQ的应用场景3、常见的MQ产品二、RocketMQ入门1、RocketMQ环境搭建2、RocketMQ的架构及概念3、RocketMQ控制台安装三、消息发送和接收1、发送消息2、接收消息四、案例1、订单微服务发送消息2、用户微服务订阅消息五、发送不同类型的消息1、普通消息2、顺序消息3、事务消息六、消息消费要注意的细节学习目标学习内容一、MQ简介1、什么是MQMQ(Message Queue)是一种跨进程的通信机制,用于传递消息。通俗点说,就

2021-12-23 14:30:58 1292

原创 一图解决SpringBoot常用注解

2021-12-23 14:28:22 490

原创 MyBatis-Plus快速入门-(干货满满+超详细)

文章目录一、MyBatis VS JPA二、MyBatis-Plus简介三、MyBatis-Plus快速入门1、lombok简介及安装2、入门小案例四、基本使用1、通用传统模式简介及通用mapper新增方法2、常用注解3、排除非表字段的三种方式五、MyBatis-Plus查询方法一、MyBatis VS JPAJPA: java持久层API,可以理解为一种规范,Hibernate就是其具体一个实现。(目前比较常用的是SpringDataJpa,它是Spring提供的一套简化开发的框架,按照约定好的方法命

2021-01-15 16:38:40 51340 12

原创 SpringBoot+MaBatis搭建迷你微信小程序(入门级、含源码)

一、项目设计及框架搭建1、SpringBoot搭建2、表设计与实体类的创建创建数据库名demo,运行下列sql语句:CREATE TABLE tb_area ( area_id int(2) NOT NULL auto_increment, area_name varchar(200) NOT NULL, priority int(2) NOT NULL DEFAULT'0', create_time datetime DEFAULT NULL, last_edit_time d

2020-09-22 07:31:11 2432 1

原创 手把手教你SSM整合开发办公系统(OA)——报销单(含源码)

文章目录前言项目展示技能要求一、开始前的准备1、OA系统是什么?2、人员权利与报销流程3、数据库设计4、创建项目及作用说明5、包与全局变量配置6、编写过滤器7、静态资源的复制与请求处理8、常量类二、功能实现1、部门管理部门信息的增删改查(1)、实体类(2)、dao接口与Sql映射文件(3)、biz接口与其实现类(4)、控制器(5)、页面2、员工管理员工信息的增删改查(1)、Sql映射文件(2)、biz接口与实体类(3)、控制器(4)、页面3、登录及个人中心(1)、登录的biz接口与实现类(2)、控制器(3)

2020-09-01 09:43:53 4722 10

原创 SpringBoot+Mybatis实现用户账号CRUD系统+前后端交互(含源码)

文章目录一、实现基于mybatis实现CRUD功能二、验证码与前端的基础实现三、前后端的交互1、前后交互之创建账号2、前后交互之数据库数据传入前端显示3、前后交互之修改密码4、前后交互之删除5、前后交互之权限区别登录四、小总结与源码获取Mybatis-Spring地址SpringBoot整合持久层框架有很多:例如SpringJDBC、Hibernate、Mybatis(这里SpringBoot整合Mybatis时,sql语句写在XML中,这种方式对于后期的维护、优化等方面可读性好,所以这里就不采用注解.

2020-08-25 10:19:05 7470 2

原创 分布式和微服务面试

文章目录一、Spring Boot常见面试题1、Spring、Spring Boot和Spring Cloud的关系2、Spring Boot如何配置多环境?3、实际工作中,如何全局处理异常?二、线程常见面试题1、线程如何启动?2、实现多线程的方法有几种?3、创建线程的原理是什么?4、线程有哪几种状态? 生命周期是什么?三、分布式的面试题1、什么是分布式?2、分布式和单体结构哪个更好?3、CAP理论是什么?4、CAP怎么选?四、Docker相关面试题1、为什么需要Docker ?2、Docker的架构是什么

2022-05-02 07:19:50 861

原创 Dubbo快速入门

2022-05-02 07:18:23 236

原创 Zookeeper快速入门

2022-05-02 07:17:17 1191

原创 SpringCloudAlibaba使用OSS图片上传(手把手教程)

文章目录前言开发流程一、添加依赖二、申请账号三、开启OSS 对象存储四、添加配置文件五、文件上传接口开发1、新建FileController2、MultipartFile 序列化问题前言在实习过程中,遇到了这样的需求,为了方便以后的重复使用便记录了下来。前端接口要求:请求URL:http://localhost:9527/admin/image/AliYunImgUpload请求方法:POST表单数据:file(二进制)开发流程一、添加依赖<!--阿里云对象存储-->&l

2022-02-12 15:26:16 1308 4

原创 Gateway、Nacos依赖启动问题解决

依赖版本冲突问题解决

2022-02-07 16:28:52 1647

原创 简单快速上手JAVA操作Excel

该技术以被我运用于企业的后台管理系统中(SpringCloudAlibaba + EasyExcel)

2022-01-17 10:52:22 1865

原创 Swagger2.0复制粘贴即可用

在实际项目SpringCloutAlibaba集成RocketMQ、Swagger2.0的使用

2022-01-12 18:14:12 1475

原创 客户端负载均衡Ribbon

文章目录1、Ribbon1)、Ribbon模块1、Ribbon目前主流的负载均衡分为两种,一种是集中式负载均衡, 在消费者和服务提供方中间使用的代理方式进行负载,有硬件(比如F5),也有软件的(比如Nginx)。另一种则是客户端自己做负载均衡,根据自己的请求情况做负载,Ribbon就属于客户端自己做负载。 如果用一句话介绍,那就是Ribbon是Netflix开源的一款用于客户端负载均衡的工具软件。GitHub地址:https://github.com/Netflix/ribbon什么是负载均衡?

2021-08-23 21:55:01 612

原创 Spring Cloud微服务入门、实战与进阶(目录总览)

核心组件系统数据流向

2021-07-26 20:30:22 963 7

原创 Eureka注册中心

文章目录1、Eureka注册中心2、使用Eureka编写注册中心服务3、编写服务提供者1)、创建项目注册到Eureka2)、编写提供接口4、编写服务消费者1)、直接调用接口2)、通过Eureka来消费接口5、开启Eureka认证6、Eureka高可用搭建7、常用配置讲解1)、关闭自我保护2)、自定义Eureka的InstanceID3)、自定义实例跳转链接4)、快速移除已经失效的服务信息总结Spring Cloud的官网地址:https://spring.io/projects/spring-cloud

2021-07-26 20:28:16 518

原创 伪装成大三的大二学生,拿到了三家小公司的offer

文章目录前言一、为什么大二的我想去实习?二、面试通过的薪资待遇三、不同公司的面试过程分享前言希望这个文章可以给予和我同样是大二或想找实习的你一些帮助ε≡٩(๑>₃<)۶ 一心向学一、为什么大二的我想去实习?或许你会问我,身为一个19届的大学生为什么这么着急想去实习呢?1、因为我知道我的学校可以给予我的光环不强2、想为我的简历加分3、为以后大三实习时面试大厂增加些许机会,起码得可以通过HR和技术部门的简历筛选,获取一个面试的机会;在我的观点中一个普普通通的三本院校,如果自身不带些一

2021-07-07 22:57:30 549 7

原创 初识线程池和对复用等源码的解析

文章目录一、线程池的自我介绍一、线程池的自我介绍什么是"线程"?什么"池"?软件中的池,可以理解为计划经济如果不使用线程池,每个任务都新开一个线程处理一个线程for循环创建线程当任务数量上升到1000这样开销太大,我们希望有固定数量的线程,来执行这1000个线程,这样就避免了反复创建并销毁线程所带来的开销问题为什么要使用线程池?问题一:反复创建线程开销大问题二:过多的线程会占用太多内存解决以上两个问题的思路用少量的线程——避免内存占用过多让这部分线程都保持工作,且可以反复执行任

2021-01-25 08:37:06 229

原创 Docker入门及各类数据库、中间件、软件的安装

一、Docker概述Docker为什么出现?一款产品:开发–上线两套环境!应用环境,应用配置!开发–运维。问题∶我在我的电脑上可以运行!版本更新,导致服务不可用!对于运维来说,考验就十分大?环境配置是十分的麻烦,每一个机器都要部署环境(集群Redis、ES、Hadoop…))!费时费力。发布一个项目( jar + ( Redis MySQL jdk ES )),项目能不能都带上环境安装打包!之前在服务器配置一个应用的环境Redis MySQL jdk ES Hadoop,配置超麻烦了,不能够跨平台

2021-01-23 11:09:54 856

原创 Java实现Base64加密---科普级

文章目录一、Base64概述二、密码的常用术语三、密码分类四、OSI与TCP/IP安全体系五、Java安全组成、包及第三方扩展六、Base64算法实现一、Base64概述1、什么是Base64Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,

2020-12-03 20:09:10 1829

原创 数据结构与算法之哈希表(Java)

文章目录哈希表(散列)-Google 上机题1)看一个实际需求,google公司的一个上机题:2)有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址…),当输入该员工的id时,要求查找到该员工的所有信息.3)要求:不使用数据库,尽量节省内存,速度越快越好=>哈希表(散列)哈希表的基本介绍散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速

2020-11-20 15:55:48 183

原创 数据结构与算法之查找算法(Java)

文章目录查找算法介绍一、线性查找算法二、二分查找算法查找算法介绍在java中,我们常用的查找有四种:1)、 顺序(线性)查找2)、 二分查找/折半查找3)、 插值查找4)、 斐波那契查找一、线性查找算法有一个数列: {1, 9, 11, -1, 34, 89}判断数列中是否包含此名称【顺序查找】要求: 如果找到了,就提示找到,并给出下标值。代码实现:public class SeqSearch { public static void main(String[] args) {

2020-11-14 16:29:16 189

原创 一文快速入门RabbitMQ消息中间件

文章目录业务流程如下:1、管理员进入管理界面点击“页面发布”,前端请求cms页面发布接口。2、cms页面发布接口执行页面静态化,并将静态化页面(html文件)存储至GridFS中。3、静态化成功后,向消息队列发送页面发布的消息。 页面发布的最终目标是将页面发布到服务器。 通过消息队列将页面发布的消息发送给各各服务器。4、消息队列负责将消息发送给各各服务器上部署的Cms Client(Cms客户端)。 在服务器上部署Cms Client(Cms客户端),客户端接收消息队列的通知。5、每个接收到页

2020-11-10 22:26:09 326 1

原创 一文快速入门FreeMarker

文章目录什么是FreeMarker一、模板开发入门1、模板+数据模型=输出2、FreeMarker快速入门什么是FreeMarkerFreeMarker 是一款模板引擎:即一种基于模板、用来生成输出文本(任何来自于 HTML格式的文本用来自动生成源代码、电子邮件、配置文件、源代码等)的通用工具。它是为 Java 程序员提供的一个开发包,或者说是一个类库。它不是面向最终用户的,而是为程序员提供的一款可以嵌入他们所开发产品的应用程序。FreeMarker 实际上是被设计用来生成 HTML 页面,尤其是通过

2020-10-24 17:54:10 611

原创 数据结构与算法之排序算法(Java)

文章目录一、排序算法1、排序算法的介绍2、排序的分类1)、内部排序:2)、外部排序法:3)、常见的排序算法分类(见下图):二、算法的时间复杂度1、时间频度2、时间复杂度一、排序算法1、排序算法的介绍排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。2、排序的分类1)、内部排序:指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。2)、外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序。3)、常见

2020-10-24 11:18:04 368

原创 数据结构与算法之递归(Java)

递归的概念:简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。递归调用机制:

2020-09-27 10:20:33 310

原创 一文解决MongoDB数据库的基础操作

MongoDB概况:mongodb是一个基于分布式文件存储的数据库,由C++语言编写。它旨在为WEB应用提供可扩展的高性能数据存储解决方案,最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。...

2020-09-26 19:59:05 7398

原创 数据结构与算法之栈(Java)

一、栈的介绍1、栈的英文为(stack)2、栈是一个先入后出(FILO-First In Last Out)的有序列表3、栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端、称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。4、根据栈定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后元素。5、图解方式说明出栈(pop)和入栈(push)的

2020-09-21 13:45:38 970 1

原创 数据结构与算法之链表(Java)

单链表的结构一种链式存取的数据结构,单链表中的数据是以结点的形式存在,每一个结点是由数据元素和下一个结点的存储的位置组成。单链表与数组相比的最大差别是:单链表的数据元素存放在内存空间的地址是不连续的,而数组的数据元素存放的地址在内存空间中是连续的,这也是为什么根据索引无法像数组那样直接就能查询到数据元素。单链表的结点结构:head 节点1、不存放具体的数据2、作用就是表示单链表头data域:存储数据元素信息的域称为数据域; next域:存储直接后继位置的域称为指针域,它是存放结点的

2020-09-21 13:43:09 230

原创 后端小菜鸟对Vue的简单入门---了解

学习目的:会创建Vue实例,知道Vue的常见属性会使用Vue的生命周期的钩子函数能够使用vue常见指令能使用vue计算属性和watch监控能够编写vue组件能够使用axios发送异步请求获取数据一、Vue的概述中文文档:https://cn.vuejs.org/v2/guide/syntax.htmlMVVM通过视图与模型的双向绑定,简化前端操作。Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅

2020-09-21 13:37:53 479

原创 原来Java生成二维码这么简单

一、二维条码/二维码(2-dimensional bar code)的概念用某种特定的几何图形按一定规律再平面(二维方向上)分布的黑白相间的图形记录数据符号信息的图形。二、二维码的发展历史一维码:只能存储数字、字母,二维码:可以存储汉字、数字、字母、图片等。三、二维码的分类线性堆叠式二维码: 建立在一维条码基础之上,按需要堆积成两行或多行矩阵式二维码: 在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码(在矩阵相应元素位置上,用点的出现表示二进制“1”,点的不出现表示二进制的“0

2020-09-21 13:34:54 4715 1

原创 简单快速入门Redis

文章目录一、NoSQL的概述二、Redis概述一、NoSQL的概述NOSQL指的是 Not Only SQL(不仅仅是SQL),非关系型数据库为什么需要NoSQL:High performance-高并发读写Huge Storage-海量数据的高效率存储和访问High Scalability && High Availability-高可扩展性和搞可用性有关NoSQL的产品:四大分类:一、键值对存储 =>redis优势:查找速度比较快劣势:存储数据缺少结构

2020-09-21 13:33:37 375

原创 SpringBoot开发常用技术这些你知道吗???

初学SpringBoot,只浅在的学了,所以内容比较简单,代码可能比较多,因为现在我注重于用还没有研究其底层,所以看完本文章每一章节理解后,能自己敲一遍,明白其流程,实现功能便可,文中若有纰漏望指出ψ(*`ー´)ψ文章目录一、Spring Boot返回JSON二、Spring Boot的热部署三、Spring Boot资源文件属性配置1、资源文件中的属性配置与映射到实体类2、SpringBoot资源文件配置server3、资源文件中配置tomcat相关属性四、Spring Boot整合模板引擎1、Spr.

2020-08-25 10:13:51 1774

原创 SpringBoot整合kaptcha验证码,复制粘贴即可用

前面学习了几种样式的验证码验证,作为一个目前以Java后端的为方向的小白,当然要写一个关于SpringBoot整合kaptcha来实现验证码的操作啦,而且以后要用到该功能的话直接复制粘贴就可以啦(✪ω✪)程序目录参考:1、首先用idea新建一个spring Initializr2、添加依赖:pom.xml:<!-- kaptcha验证码 --> <dependency> <groupId>com.github.peng.

2020-08-25 10:11:18 1043 2

原创 Java实现kaptcha网页验证码验证,你会吗???

在做关于SSM项目之商铺系统时,了解到了kaptcha实现网页验证码验证,感觉就很有趣,所以便开始学习记录了起来|ू・ω・` ),复制粘贴即可用。文章目录一、引入Maven依赖二、编写Servlet三、编写:页面、判断与跳转1、只有数字的验证码2、含义数字、字母、中文的验证码3、两个数相加的验证码首先来了解一下什么是验证码:验证码(CAPTCHA) ∶是一种区分用户是计算机还是人的公共全自动程序。作用∶可以防止恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进

2020-08-25 10:09:30 855

git客户端.rar

Git是简单易学,具有小尺寸以闪电般快速的性能。它胜过SCM工具,如颠覆,CVS,Perforce公司,和ClearCase与像廉价的本地分支,便捷的中转区,和多个工作流功能。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。TortoiseGit便于上传项目的工具。

2020-08-17

空空如也

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

TA关注的人

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