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

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

原创 【保姆级教学】使用IDEA搭建SSM框架环境
1、首先我们要new一个Project,然后创建的是一个Maven工程,一定要勾选Maven工程中的webapp应用,才能创建一个web项目!为了加快创建web项目时候的速度,我们可以在Maven页面中添加一个键值对,加快项目的下载和创建速度【archetypeCatalog-internal】2、在创建好项目之后,我们要开始搭建我们的WEB项目。因为Maven默认的环境并不满...
2020-03-09 22:46:37
388
原创 【幂等幂等幂等,重要的知识说三遍!】常见的九种解决方案汇总
截至目前为止,常见的九种幂等解决方案列举了出来,其实幂等的解决方案真的可以有很多,针对不同的业务场景和需求使用不同的方式来进行应用,没有绝对之说。
2022-09-12 23:30:14
797
2
原创 【企业微信急速救心丸】(一)第三方应用开发 - Java整合企业微信回调
一、首先要了解开发场景,第三方应用开发、企业内部开发、智慧硬件开发的区别。企业微信对应有三个开发文档,要注意三个开发文档虽然说部分接口是通用的,但是其接口获取的内容、调用的本质却大有不同,我建议先把企业微信开发者前言部分的细读,搞明白了三者的概念。此处我均已第三方应用开发为准(申请部分的内容网上教程一大堆,大家跟着步骤走等审批就行)二、服务商后台 - 应用管理 - 小程序 - 配置回调虽然说企业微信需要配置的url很多,但是最主要的还是回调接口,这也是接入企业微信的第一步。这个回调接口,每10分钟会
2022-03-28 00:05:05
4650
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
3687
4
原创 【小白也能听懂】10分钟快速入门Kafka,并以Springboot2.x整合Kafka2.2.0举例
Kafka是什么?Kafka是一个分布式的基于 发布 / 订阅模式 的消息队列。Kafka常解决的四个问题可以实现代码上的解耦(A系统发布请求到消息队列,B系统什么时候想取了再去消息队列获取即可)。消息队列可以用于削峰(当服务器处于高占用的时候,可以把请求放到消息队列中,这样的话请求就可以延迟处理,高峰期就不用长时间占用了)可恢复性(A系统请求B系统,当B系统挂了的时候,由于A系统已经把请求放到消息队列中了 ,等待B系统恢复之后可以继续消费请求,这里涉及到 offset 的知识)缓冲(主要
2021-05-23 02:21:40
387
4
原创 表妹还想深入学习MySQL的B+树和索引?这次一定拿捏!
MySQL索引的类型分三种B+树索引Hash索引全文索引这次文章主要介绍我们最常用的InnoDB搜索引擎中的B+树索引。说到B+树索引我们就不得不从二叉树、二叉平衡树、B树开始说起,B+树就是基于这三棵树的基础上衍变过来的。二叉树结构二叉树结构介绍二叉树如同所示,每个圆点都代表着一个结点,其中二叉树的每个节点都对应有一个 K-V | 键值-数据对,图示中的key对应的是我们user表中的用户id,每个键对应的数据就是user表中的行数据。...
2021-05-02 00:25:16
232
4
原创 图解MySQL聚簇索引和非聚簇索(Innodb)
索引(Innodb)目前为止最好理解的一段话:索引就像一本书的目录。而当用户通过索引查找数据时,就好比用户通过目录查询某章节的某个知识点。这样就帮助用户有效地提高了查找速度。所以,使用索引可以有效地提高数据库系统的整体性能。非聚簇索引非聚簇索引包含复合索引、唯一索引、前缀索引,其都是基于B+树的。聚簇索引聚簇索引是没有SQL可以单独生成的,其按照每张表的主键来构建一个B+树,叶子节点存放的是整张表的行数据,并且表里只能按照一颗B+树进行排序,所以一张表只能有一个聚簇索引。在Inn
2021-04-29 17:02:11
2716
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
1519
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
2089
7
原创 【呕血整合】Java整合诸葛IO官方API获取埋点数据
前言首先要特别感谢诸葛io官方人员的技术支持近期小编有在网上查看Java整合诸葛io的相关请求接口文档,但是查到的结果都不太如意,或许是官方文档给得太详细了,根本不需要参考这种相关的博客。但是为了帮助到更多的人,避免再次踩坑,这里我还是花了一些时间整合了一下接口文档,希望能帮助到更多的人。调用接口步骤申请诸葛io的官方api调用权限账号(PS:记住是调用官方API权限的账号和密码,并不是开通开发者权限可以了,小编当时还找官方人员帮忙申请了一下相关请求的权限)其实官方文档中,一直请求的接口都是
2020-11-12 09:42:28
1158
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
293
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
360
原创 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
2886
原创 Springboot项目调用阿里云语音服务案例【真实有用】
1、首先去阿里云官网申请语音服务, 拿到AK权限(这里看官方操作流程就好了 ),这里我们使用的是文字模板转语音提醒的功能(官方的案例是拿语音文件进行语音提醒),定义好模板里面的参数 ${param}2、导入以下Maven依赖<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dyvmsapi</artifactId> <ve
2020-09-16 16:54:42
3629
4
原创 Java定时器任务和点击事件共存冲突时の解决方案【广告展示场景】
首先我们来复盘一下需求情况需求:现在需要在系统设置一个广告信息,广告信息要有【开始时间】和【结束时间】,在【开始时间】和【结束时间】之间广告是处于【展示】状态,不在这个时间段内的广告都处于【不展示】状态。PS:这里同时包含了定时器自动判断【当前时间】和广告【开始时间】&【结束时间】的关系,自动更新广告的展示状态。同时还有用户修改广告展示状态的点击事件任务。这两者理论上是矛盾和冲突的。来看看我们的定时器执行的任务:难点场景: 当用户手动修改广告的【展示状态】时,假如说[1]、当系
2020-09-09 22:50:27
842
原创 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
17390
原创 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
1174
原创 基于Alibaba数据封装工具fastJsonの初体验
不得不说这种工具在进行数据封装的时候是真香,使用方法简便,封装功能强大。让我想到了以前GSON的使用,感觉还是阿里巴巴的产品香。在maven中导入相关的坐标依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.70</ve
2020-07-09 11:48:04
245
原创 Springboot整合Easyexcel进行文件的查询并下载的操作
众所周知,现在easyexcel可谓是大大提高了我们对数据进行导出的操作。相比于我们以前常用的POI操作,easyexcel具有以下三个优点:1、开发更为简便。2、消耗的内存资源更少。3、导出的文件更小。所以我们以前常用的POI在现在easyexcel面前简直是重量级的存在。首先我们要在maven仓库中新增配置文件<dependency> <groupId>com.alibaba</groupId> <artifactId>easy.
2020-07-08 21:19:44
877
原创 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
1019
原创 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
2529
原创 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
3376
2
原创 【轻松学】Springboot整合Mybatis-PLus进行快速开发
在正式开始介绍Mybatis-Plus之前,先介绍一款相当方便的实体类自动getter/setter的插件Lombok,注意Lombok插件现在针对IDEA2020.1.1版本的话还是不兼容的,
2020-06-01 15:15:02
554
原创 【工作必学】Git整合IDEA开发工具进行版本控制
首先我们要自行下载好Git,并且在本地配置好Git的环境到我们的环境变量的path里面,比如我这里的Git其对应的cmd窗口地址是D:\Git\Git\cmd,就直接将这个地址添加到我们的path地址中即可。第一,我们需要在本地的IDEA中配置好我们的Git,如果配置好了之后,我们点击Test的话是可以直接看到我们的Git版本号的。随后我们在Github上创建一个远程仓库,并且命名...
2020-05-28 18:17:35
281
原创 【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
1066
2
原创 Java设计模式之【单例模式】
单例模式单例模式主要特点是:一个类只能创建一个实例对象这个实例对象能够自行创建(这里要记得把构造方法设置为私有,以免可以被重新new)创建好的这个实例对象要使用关键字static共享到全局中去单例模式主要分:饿汉式:每次加载类的时候就直接创建好了当前的实例对象,并共享出去,参考代码如下:/** * 饿汉式 - 单例模式 */public class Singleton_...
2020-05-07 08:40:21
147
原创 【四步搞定】Springboot打成war包部署到Linux服务器的Tomcat目录下
因为Springboot已经内嵌Tomcat了,所以一般不推荐Springboot打包成war包,因为war包是需要服务器的。一般打包成lib包即可。第一步:在pom.xml文件中导入Tomcat的依赖: <!--打包方式jar/war--> <packaging>war</packaging> ...
2020-04-28 19:09:28
912
原创 【Linux系统】开启了Redis的6379端口之后发现Tomcat的8080端口无法访问的完美解决方案
首先,在Linux系统中,如果我们开启了一个Redis服务器,那么它就会监听我们的一个端口(端口号:6379),此时如果我们不关闭对这个端口的监听的话,那么由于Linux系统的访问策略(它默认是一直监听一个端口号的),我们之前Tomcat的8080端口号,因为Redis服务器启动之后会覆盖对8080端口号的监听,所以Linux对8080端口号的监听策略就会转为对Redis服务的6379端口监听。
2020-04-10 13:00:57
1479
原创 Springboot工程整合Redis以及Redis的使用手册【精】
本文主要介绍的内容有:1、Redis的基本语法2、Springboot整合Jedis的操作3、Springboot整合RedisTemplateRedis的基本类型有五种:string 字符串类型 (最常用)hash 哈希类型(map格式)set 集合类型(不允许重复)zset 有序集合类型(不允许重复)list 列表类型(允许重复)注意:与关系型数据库存储在硬盘文件上...
2020-04-08 01:02:31
513
原创 Springboot整合PageHelper插件工具进行快速分页操作
平时我们要进行分页操作的时候,要定义一个PageBean,并且Service层也要进行十分繁琐的操作,这里我们将引用Springboot整合PageHelper的快速分页开发方式。首先我们要在pom.xml中导入PageHelper的坐标依赖:<!-- 为了方便分页操作,这里导入pageHelper --> <dependency> ...
2020-03-28 15:24:32
223
原创 Springboot分别整合Freemarker和Thymeleaf
首先我们要在pom.xml中分别导入两个坐标依赖,一个是Thymeleaf的引擎模板,一个是Freemarker的引擎模板: <!-- 导入Thymeleaf模板引擎 --> <dependency> <groupId>org.springframework.boot</groupId> ...
2020-03-27 17:34:14
470
基于JavaSe的信用卡管理系统(独创版本)
2019-08-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人