自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (4)
  • 收藏
  • 关注

原创 Java使用多线程异步执行批量更新操作

写在前面:相信不少开发者在遇到项目对数据进行批量操作的时候,都会有不少的烦恼,尤其是针对数据量极大的情况下,效率问题就直接提上了菜板。因此,开多线程来执行批量任务是十分重要的一种批量操作思路,其实这种思路实现起来也十分简单,就拿批量更新的操作举例:整体流程图步骤获取需要进行批量更新的大集合A,对大集合进行拆分操作,分成N个小集合A-1 ~ A-N 。开启线程池,针对集合的大小进行调参,对小集合进行批量更新操作。对流程进行控制,控制线程执行顺序。按照指定大小拆分集合的工具类import

2021-01-11 00:16:32 7032 36

原创 【保姆级教学】使用IDEA搭建SSM框架环境

1、首先我们要new一个Project,然后创建的是一个Maven工程,一定要勾选Maven工程中的webapp应用,才能创建一个web项目!为了加快创建web项目时候的速度,我们可以在Maven页面中添加一个键值对,加快项目的下载和创建速度【archetypeCatalog-internal】2、在创建好项目之后,我们要开始搭建我们的WEB项目。因为Maven默认的环境并不满...

2020-03-09 22:46:37 318

原创 MySQL深分页 + 多字段排序场景的优化方案【三百万级数据量】

MySQL深分页 + 多字段排序场景优化方案

2023-01-28 00:31:52 1283 3

原创 布隆过滤器【美与不美之谈】

布隆过滤器【美与不美之谈】

2022-12-26 17:40:09 458

原创 【幂等幂等幂等,重要的知识说三遍!】常见的九种解决方案汇总

截至目前为止,常见的九种幂等解决方案列举了出来,其实幂等的解决方案真的可以有很多,针对不同的业务场景和需求使用不同的方式来进行应用,没有绝对之说。

2022-09-12 23:30:14 607

原创 【Arthas性能排查系列(四)】watch命令查看参数

arthas的watch命令

2022-07-24 18:44:29 2711

原创 【限流算法】大白话阐述四种限流算法

限流算法

2022-07-23 17:22:17 543

原创 【Arthas性能排查系列(三)】火焰图分析

火焰图分析

2022-07-08 18:21:08 10699 3

原创 【Arthas性能排查系列(二)】CPU飙高排查思路

使用Arthas工具排查CPU飙高

2022-07-08 10:56:54 5303

原创 【Arthas性能排查系列(一)】检查Java程序调用链路的耗时情况

Arthas排查Java程序调用链路耗时情况

2022-07-05 23:22:32 2554

原创 【大白话设计模式】Kotlin整合责任链模式案例

设计模式结合需求、设计场景进行学习,会事半功倍

2022-06-22 13:10:09 812

原创 【企业微信急速救心丸】(一)第三方应用开发 - Java整合企业微信回调

一、首先要了解开发场景,第三方应用开发、企业内部开发、智慧硬件开发的区别。企业微信对应有三个开发文档,要注意三个开发文档虽然说部分接口是通用的,但是其接口获取的内容、调用的本质却大有不同,我建议先把企业微信开发者前言部分的细读,搞明白了三者的概念。此处我均已第三方应用开发为准(申请部分的内容网上教程一大堆,大家跟着步骤走等审批就行)二、服务商后台 - 应用管理 - 小程序 - 配置回调虽然说企业微信需要配置的url很多,但是最主要的还是回调接口,这也是接入企业微信的第一步。这个回调接口,每10分钟会

2022-03-28 00:05:05 3901 4

原创 【完美解决方案】纯Java解析Android APK信息,以及icon提取

市面上纯Java解析Android SDK的方式其实较为单一,在这里我先列举【apk-parser】这套体系的解决方案step1:引入依赖<dependency> <groupId>net.dongliu</groupId> <artifactId>apk-parser</artifactId> <version>2.5.3</version></dependency>ste.

2022-01-07 14:58:03 2829 3

原创 【小白也能听懂】10分钟快速入门Kafka,并以Springboot2.x整合Kafka2.2.0举例

Kafka是什么?Kafka是一个分布式的基于 发布 / 订阅模式 的消息队列。Kafka常解决的四个问题可以实现代码上的解耦(A系统发布请求到消息队列,B系统什么时候想取了再去消息队列获取即可)。消息队列可以用于削峰(当服务器处于高占用的时候,可以把请求放到消息队列中,这样的话请求就可以延迟处理,高峰期就不用长时间占用了)可恢复性(A系统请求B系统,当B系统挂了的时候,由于A系统已经把请求放到消息队列中了 ,等待B系统恢复之后可以继续消费请求,这里涉及到 offset 的知识)缓冲(主要

2021-05-23 02:21:40 309 4

原创 表妹还想深入学习MySQL的B+树和索引?这次一定拿捏!

MySQL索引的类型分三种B+树索引Hash索引全文索引这次文章主要介绍我们最常用的InnoDB搜索引擎中的B+树索引。说到B+树索引我们就不得不从二叉树、二叉平衡树、B树开始说起,B+树就是基于这三棵树的基础上衍变过来的。二叉树结构二叉树结构介绍二叉树如同所示,每个圆点都代表着一个结点,其中二叉树的每个节点都对应有一个 K-V | 键值-数据对,图示中的key对应的是我们user表中的用户id,每个键对应的数据就是user表中的行数据。...

2021-05-02 00:25:16 189 4

原创 图解MySQL聚簇索引和非聚簇索(Innodb)

索引(Innodb)目前为止最好理解的一段话:索引就像一本书的目录。而当用户通过索引查找数据时,就好比用户通过目录查询某章节的某个知识点。这样就帮助用户有效地提高了查找速度。所以,使用索引可以有效地提高数据库系统的整体性能。非聚簇索引非聚簇索引包含复合索引、唯一索引、前缀索引,其都是基于B+树的。聚簇索引聚簇索引是没有SQL可以单独生成的,其按照每张表的主键来构建一个B+树,叶子节点存放的是整张表的行数据,并且表里只能按照一颗B+树进行排序,所以一张表只能有一个聚簇索引。在Inn

2021-04-29 17:02:11 1550 2

原创 ElasticSearch7.6.1入门到整合,就看这9个关键点

1、Elasticsearch是什么?Elasticsearch是基于Lucence的一款分布式实时搜索引擎( 仅支持JDK1.8以上 ),其跟Lucence一样是基于Java开发的,并以Lucence作为核心包来实现索引和搜索的功能。但是由于Lucence在开发使用时稍偏复杂,所以Elasticsearch通过Restful API的方式进行调用,直接隐藏了Lucence的复杂性。2、Elasticsearch对比Solr、Lucence有什么区别?Elasticsearch、Solr都是基于

2021-04-28 23:35:54 1445 18

原创 【无门槛入门】从0开始使用html整合markdown开发,绝对肝货

前言:相信作为开发人员,百分之90的同行都会使用markdown编辑器进行文本记录,这是绝对开发必备的工具之一啦!本篇博客主要是针对gitee上有很多小伙伴问到如何整合markdown的一个问题(目前博主还是菜鸟一枚,大神勿喷),在这里我就从0开始记录的我每一个开发步骤,话不多说,直接上代码。1、首先来看文件的目录结构,本文主要是用axios,其组件自行导入即可2、本文主要使用的是editor.md-master组件,请大家自行导入以下组件到项目的静态资源中git clone git@gite.

2021-03-07 00:38:26 1889 7

原创 【呕血整合】Java整合诸葛IO官方API获取埋点数据

前言首先要特别感谢诸葛io官方人员的技术支持近期小编有在网上查看Java整合诸葛io的相关请求接口文档,但是查到的结果都不太如意,或许是官方文档给得太详细了,根本不需要参考这种相关的博客。但是为了帮助到更多的人,避免再次踩坑,这里我还是花了一些时间整合了一下接口文档,希望能帮助到更多的人。调用接口步骤申请诸葛io的官方api调用权限账号(PS:记住是调用官方API权限的账号和密码,并不是开通开发者权限可以了,小编当时还找官方人员帮忙申请了一下相关请求的权限)其实官方文档中,一直请求的接口都是

2020-11-12 09:42:28 993 4

原创 【力扣】整数反转实现思路Java版

/** * @author shiwen * @date 2020/10/12 */public class MainApp { // 数值反转 1234 public static int reverse(int x) { long result = 0; while (x != 0) { // 每次进来取出最后一位 int lastNum = x % 10; result .

2020-10-12 16:02:39 231 1

原创 一文入坑分布式框架Dubbo + Zookeeper【纯代码实例篇】

Dubbo是一款非常优秀的RPC框架,Zookeeper主要是作为服务发现与注册中心的组件1、首先我们需要在本地安装zookeeper,由于官方网站下载的速度很慢,这里我直接提供压缩包。大家只需要解压后修改一下config目录下的 zoo.cfg <zoo_sample.cfg改名而来> 的data、log目录即可。(详情参考网上zookeeper安装教程)链接:https://pan.baidu.com/s/1faoS6t2CUCEOQNuDRhaHQA 提取码:llhm2、安装

2020-09-25 11:21:39 307

原创 Springboot项目调用阿里云号码隐私保护服务【真实有用】

1、首先去阿里云申请号码隐私保护服务,申请号码池以及专属号码,获取有效的阿里云AK。2、导入以下两个依赖<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dyplsapi</artifactId> <version>1.2.0</version> </dependency> &l

2020-09-16 17:08:05 2371

原创 Springboot项目调用阿里云语音服务案例【真实有用】

1、首先去阿里云官网申请语音服务, 拿到AK权限(这里看官方操作流程就好了 ),这里我们使用的是文字模板转语音提醒的功能(官方的案例是拿语音文件进行语音提醒),定义好模板里面的参数 ${param}2、导入以下Maven依赖<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dyvmsapi</artifactId> <ve

2020-09-16 16:54:42 2935 4

原创 Java定时器任务和点击事件共存冲突时の解决方案【广告展示场景】

首先我们来复盘一下需求情况需求:现在需要在系统设置一个广告信息,广告信息要有【开始时间】和【结束时间】,在【开始时间】和【结束时间】之间广告是处于【展示】状态,不在这个时间段内的广告都处于【不展示】状态。PS:这里同时包含了定时器自动判断【当前时间】和广告【开始时间】&【结束时间】的关系,自动更新广告的展示状态。同时还有用户修改广告展示状态的点击事件任务。这两者理论上是矛盾和冲突的。来看看我们的定时器执行的任务:难点场景: 当用户手动修改广告的【展示状态】时,假如说[1]、当系

2020-09-09 22:50:27 766

原创 Mybatisplus的or语句写法

在开发的时候,我们发现Mybatis-plus想实现or语句的写法的时候总对不上位置?比如select * from student where id = ? and age = ? and (age > ? or mark > ?);这种sql语句我们怎么都写不成?(T . T)只需按照以下的Mybatis-plus格式来写,你就可以拥有我们想要的sql语句!LambdaQueryWrapper<T> wrapper = getInitQueryWrapper()

2020-08-27 18:10:36 15289

原创 Springboot整合token进行权限校验代码实战

在pom.xml文件中导入maven依赖<!-- jjwt --><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.6.0</version></dependency>创建token的案例package com.example.

2020-07-16 10:36:52 1097

原创 基于Alibaba数据封装工具fastJsonの初体验

不得不说这种工具在进行数据封装的时候是真香,使用方法简便,封装功能强大。让我想到了以前GSON的使用,感觉还是阿里巴巴的产品香。在maven中导入相关的坐标依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.70</ve

2020-07-09 11:48:04 183

原创 Springboot整合Easyexcel进行文件的查询并下载的操作

众所周知,现在easyexcel可谓是大大提高了我们对数据进行导出的操作。相比于我们以前常用的POI操作,easyexcel具有以下三个优点:1、开发更为简便。2、消耗的内存资源更少。3、导出的文件更小。所以我们以前常用的POI在现在easyexcel面前简直是重量级的存在。首先我们要在maven仓库中新增配置文件<dependency> <groupId>com.alibaba</groupId> <artifactId>easy.

2020-07-08 21:19:44 817

原创 Springboot + Vus.js整合阿里云OSS进行图片上传的操作(前后端结合)

一般来讲,我们在进行后端开发的时候,图片、文件之类的上传是十分头疼的。但是现在有比如七牛云、阿里云OSS等图片、文件上传方案之后,我们处理文件上传的方式变得极为简便。使用阿里云OSS进行图片上传之后我们就可以直接得到我们的上传的文件、图片的url路径。我们先来看一下我们后端的OSSClientUtils文件上传所需要的工具代码package com.logistics.utils;import com.aliyun.oss.OSSClient;import java.io.ByteArray.

2020-07-08 16:16:22 949

原创 Java针对List集合中的某个字段进行排序操作

一般来讲,我们对List集合进行排序的话,最好就是通过使用一个实体类对其数据进行封装,然后再根据实体类中的某个字段进行排序。首先创建一个实体类class Student{ public Student() { } public Student(Integer age) { this.age = age; } private Integer age; public Integer getAge() { return.

2020-07-08 15:44:23 2452

原创 Springboot结合阿里云OSS进行图片上传的时候图片大小受限

首先,SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常:org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException:The field file exceeds its maximum permitted size of 1048576 bytes.这里的意思是我们Springboot内嵌的Tomcat限制了单个文件/图片只能是1MB的大小,超过了这个默认的大小就会抛

2020-06-10 15:39:19 2913 2

原创 【轻松学】Springboot整合Mybatis-PLus进行快速开发

在正式开始介绍Mybatis-Plus之前,先介绍一款相当方便的实体类自动getter/setter的插件Lombok,注意Lombok插件现在针对IDEA2020.1.1版本的话还是不兼容的,

2020-06-01 15:15:02 475

原创 【工作必学】Git整合IDEA开发工具进行版本控制

首先我们要自行下载好Git,并且在本地配置好Git的环境到我们的环境变量的path里面,比如我这里的Git其对应的cmd窗口地址是D:\Git\Git\cmd,就直接将这个地址添加到我们的path地址中即可。第一,我们需要在本地的IDEA中配置好我们的Git,如果配置好了之后,我们点击Test的话是可以直接看到我们的Git版本号的。随后我们在Github上创建一个远程仓库,并且命名...

2020-05-28 18:17:35 208

原创 【Java反射&注解】通过反射和注解的方式根据Entity实体对象自动生成Sql语句

首先我们定义好两个接口注解:这个注解是用于定义在实体对象中用的package homework4.exp3;import java.lang.annotation.Retention;import java.lang.annotation.Target;import static java.lang.annotation.ElementType.FIELD;import static java.lang.annotation.RetentionPolicy.RUNTIME;@Retent

2020-05-23 23:57:50 1000 2

原创 Java设计模式之【单例模式】

单例模式单例模式主要特点是:一个类只能创建一个实例对象这个实例对象能够自行创建(这里要记得把构造方法设置为私有,以免可以被重新new)创建好的这个实例对象要使用关键字static共享到全局中去单例模式主要分:饿汉式:每次加载类的时候就直接创建好了当前的实例对象,并共享出去,参考代码如下:/** * 饿汉式 - 单例模式 */public class Singleton_...

2020-05-07 08:40:21 123

原创 【四步搞定】Springboot打成war包部署到Linux服务器的Tomcat目录下

因为Springboot已经内嵌Tomcat了,所以一般不推荐Springboot打包成war包,因为war包是需要服务器的。一般打包成lib包即可。第一步:在pom.xml文件中导入Tomcat的依赖: <!--打包方式jar/war--> <packaging>war</packaging> ...

2020-04-28 19:09:28 874

原创 【Linux系统】开启了Redis的6379端口之后发现Tomcat的8080端口无法访问的完美解决方案

首先,在Linux系统中,如果我们开启了一个Redis服务器,那么它就会监听我们的一个端口(端口号:6379),此时如果我们不关闭对这个端口的监听的话,那么由于Linux系统的访问策略(它默认是一直监听一个端口号的),我们之前Tomcat的8080端口号,因为Redis服务器启动之后会覆盖对8080端口号的监听,所以Linux对8080端口号的监听策略就会转为对Redis服务的6379端口监听。

2020-04-10 13:00:57 1378

原创 Springboot工程整合Redis以及Redis的使用手册【精】

本文主要介绍的内容有:1、Redis的基本语法2、Springboot整合Jedis的操作3、Springboot整合RedisTemplateRedis的基本类型有五种:string 字符串类型 (最常用)hash 哈希类型(map格式)set 集合类型(不允许重复)zset 有序集合类型(不允许重复)list 列表类型(允许重复)注意:与关系型数据库存储在硬盘文件上...

2020-04-08 01:02:31 437

原创 Springboot整合PageHelper插件工具进行快速分页操作

平时我们要进行分页操作的时候,要定义一个PageBean,并且Service层也要进行十分繁琐的操作,这里我们将引用Springboot整合PageHelper的快速分页开发方式。首先我们要在pom.xml中导入PageHelper的坐标依赖:<!-- 为了方便分页操作,这里导入pageHelper --> <dependency> ...

2020-03-28 15:24:32 190

原创 Springboot分别整合Freemarker和Thymeleaf

首先我们要在pom.xml中分别导入两个坐标依赖,一个是Thymeleaf的引擎模板,一个是Freemarker的引擎模板: <!-- 导入Thymeleaf模板引擎 --> <dependency> <groupId>org.springframework.boot</groupId> ...

2020-03-27 17:34:14 414

【仅需5积分】1200张高质量头像集合,伪用户直接可用

【仅需5积分】1200张高质量头像集合,伪用户直接可用

2022-04-21

SSM_Adams.zip

最基础的SSM环境搭建文件,代码量少,并且配置文字注释内容十分详细,非常实用新手参考的一个环境搭建项目。

2020-03-09

【JavaWeb】基于Servlet&Jsp;&JDBC;技术的前后端交叉响应技术

【JavaWeb】基于Servlet&Jsp;&JDBC;技术的前后端交叉响应技术,新手入门

2019-11-04

基于JavaSe的信用卡管理系统(独创版本)

需求自己定义了很多,包括取款、存款、取现、权限管理等的处理,一共写了五千多行代码,大家可以简单参考一下。这个项目是基于JavaSe版本做的,比较适合刚入门的新手,注释详细,使用了伪MVC模式。需求自己定义了很多,包括取款、存款、取现、权限管理等的处理,一共写了五千多行代码,大家可以简单参考一下。这个项目是基于JavaSe版本做的,比较适合刚入门的新手,注释详细,使用了伪MVC模式。

2019-08-27

空空如也

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

TA关注的人

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