自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 慢查处理经验

一、连表分页查询导致慢查具体可以参考:https://mp.weixin.qq.com/s/yS9lCRz6R2yWfJ_7hvIE7g总结:连表分页,当查询的基数量比较大,比如“limit 4000000,200”就会造成慢查,因为mysql会查询4000200后丢弃4000000数据 尽量不要连表查询,可以先分别单表查询,再进行数据组装 非要连表,可以记录上一次查询的id,然后条件中增加限制,可用于文档翻页等场景 如果分页中每页的数量超过一定的限制,认定为刷数,直接返回空...

2021-05-24 18:17:19 1476

原创 redis面试题记录

记录几道redis面试题 有时间回来补充答案 redis为什么是key,value的,为什么不是支持SQL的? redis是多线程还是单线程?(回答单线程的请回吧,为什么请回,请往下看) redis的持久化开启了RDB和AOF下重启服务是如何加载的?(10个人9个回答错误) redis如果做集群该如何规划?AKF/CAP如何实现和设计? 10万用户一年365天的登录情况如何用redis存储,并快速检索任意时间窗内的活跃用户? redis的5种Value

2020-11-11 10:36:54 1563

原创 Lombok常用注解:@Slf4j与@Log4j、 @AllArgsConstructor、@NoArgsConstructor、@Data等

目录使用方法@Slf4j与@Log4j@AllArgsConstructor、@NoArgsConstructor、@RequiredArgsConstructor@Data使用方法在pom文件中添加,具体version版本,可以参考maven版本库的中lombok信息。可以查看目前已有的版本,可以选择使用较多的新版本即可。注意:一定要指定版本,如果不指定会使用最新版本,有可能由于版本不稳定造成各种奇奇怪怪的问题。 <dependency> &lt

2020-09-29 18:13:44 8593

原创 部门开发流程

咋说呢,上了个课,费劲巴拉画了个图,想存个档

2020-09-24 11:42:57 1469

原创 IDEA将JsonObject直接转换为对象——GsonFormat安装与使用

目录简介安装使用简介前辈们总是和我说,从项目规范来讲,要使用对象来接收三方接口返回的参数。但有时候,三方接口返回的结果参数有辣么多,手动创建实在成本太好。后来一个同事介绍了GsonFormat给我,只需要一个可解析的JsonObject,就可以自动生成一个对象,甚至内部对象也会自动建好。爸爸妈妈再也不用担心我创建对象浪费时间了。例子如下:安装以下内容参考:https://blog.csdn.net/lazycheerup/article/details/84398200.

2020-08-26 15:17:01 1279

原创 java项目运行报错:Bad type on operand stack

目录原因及解决方案如何定位原因及解决方案还是先给出主要内容,如果有时间的话你再看下面的叨逼叨一般这种错误都是项目引入包的版本是“RELEASE”,也就是自动引入最新发布的包。如果最新发布的包中有些方法与项目中的使用有冲突,就会报错。具体是哪个包有问题,可以看报错信息,举例的话参照本文中的“如何定位”。建议在项目中的pom文件中,指定所有依赖的包的版本为目前最新的稳定版本,如下。具体哪一个版本比较问题,可以参考maven版本库。 <dependen...

2020-08-24 21:00:57 7718

原创 消费一条kafka消息的时间过长,导致消息丢失过期

问题先简述一下为什么我们会出现这样的情况:我们消费kafka数据时,每消费一条做的操作比较多,比如减少调用三方接口、连表查询等,这样会导致消费一条数据的速度比较慢。当上游数据产生大量消息(比如刷数据等),就会产生消息堆积,消费不及时,kafka数据有过期时间,一些数据就丢失了。怎么定位的问题呢?我们查看丢失数据的那个时间的消费日志,发现消费的消息是两天前的,也就是说17号还在消费15号的数据。经验1、消费kafka消息时,应该尽量减少每次消费时间,可通过减少调用三方接口、读库等操作,从而

2020-07-24 12:15:17 3111 1

原创 postman中传递@RequestBody参数 Content type ‘application/octet-stream‘ not supported

一、问题描述Java接口如图,接口的入参被注解@RequestBody修饰,通过postman调用该接口时报错Content type 'application/octet-stream' not supported。二、解决方法1、在headers中添加Content-Type,value为application/json2、设置Body中的内容然后即可正常请求...

2020-07-03 17:49:09 18409

原创 Java的强弱软虚引用,面试总结与详解

这篇博客主要用于记录和总结看到的一些比较好的关于强弱软虚引用的知识点,用于面试,会附上参考博客。总结总结博客参考:总结链接JDK1.2之前只有强引用,其他几种引用都是在JDK1.2之后引入的. 强引用(Strong Reference) 最常用的引用类型,如Object obj = new Object(); 。只要强引用存在则GC时则必定不被回收,即使由于内存不足而抛出异常。如果想要将其回收,需要赋值null。如ArrayList的clear方法。 软引用(Soft Refer

2020-06-03 11:58:56 493

原创 记录项目中的锁等待超时Lock wait timeout exceeded——事务与索引

问题描述项目中突然报错,主要是两个,一个是任务脚本执行时间过长,另一个是锁等待时间过长,如下Lock wait timeout exceeded; try restarting transaction该任务脚本用于做多个表之间的数据同步,同时,项目中还有多个脚本和其他代码有可能对表数据进行操作,产生锁。有两个表的数据量为百万级别,且数据项也比较多。如果对死锁和锁等待不是很了解,可以快速跳到下面的链接,理解一下什么是锁等待,以及可能造成的原因。死锁和锁等待问题分析首先,先放出来这

2020-05-27 17:59:48 938

原创 MyBatis-Plus(baomidou)分页失败,查询全部数据

一句话描述先简单描述我的问题和解决办法,争取一句话帮助到大家:如题,我的问题是分页限制不生效,查询到全部数据。解决办法是通过查询MyBatis-Plus官网,添加分页配置。页面内容如下,同学们可以按照官网进行配置,也可看对比我下面的详细说明配置自己的项目。问题详述项目中使用了MyBatis-Plus,查询结果都正常,但是分页结果不正确,下面的代码为示例,主要功能是模糊查询名字和likeName相同的所有Student实体对象。正确查询的list结果大小应该为pageSize大小,但是分页

2020-05-18 17:27:23 7895 3

原创 【jdbc】【java】com.mysql.cj.exceptions.wrongargumentexception: month

使用jdbc连接数据库的时候,查询数据出现异常com.mysql.cj.exceptions.wrongargumentexception: month,网上也查不到愿意,但是从报错的内容可以大致可以看出来是日期月份转化的时候出现异常,也就是日期数据从数据库转化为java对象时出现了异常转换。我去数据库看了一下,报错字段类型为datetime,按照对应关系,java代码中使用Date来接。...

2020-04-27 10:58:35 1892

原创 Java 判断字符串是否为数字(Java 7以上)等各种相关判断

字符串判断​​​​​​com.alibaba.dubbo.common.utils下有一个类StringUtils,是个宝藏类,封装了各种字符串相关判断。不过仅限Java7以上的版本。判断是否为整数:StringUtils.isInteger("12345") 判断字符串是否为空/不为空:StringUtils.isEmpty(str) /StringUtils.isNotEmpty(...

2020-04-24 14:26:53 348

原创 【Java学习笔记】第八章 异常处理

异常继承架构整体架构如下:error:严重系统错误,如硬件层面错误、内存不足等问题,从编程角度无法解决,虽然可try-catch,但不建议,应传到JVM或仅日志记录。 受检异常:IOException(FileNotFountException)等,受编译程序检查,必须try-catch,否则编译不通过。 非受检异常:RuntimeException,可以通过编译,也可以try-c...

2020-04-03 19:50:05 494

原创 MySql语句总结

增加多个列增加多个列(column)在指定已存在的列(exit_column)后,赋默认值,指定注释。如果在首行添加,将“AFTER ..”换成“FIRST”。ALTER TABLE `test_table`ADD COLUMN `column1` INT(11) DEFAULT -1 COMMENT 'commit1' AFTER `exit_column1`,ADD COLU...

2020-04-03 15:24:46 212

原创 【Java学习笔记】第七章 接口与多态

使用接口定义行为1、接口中的方法默认为public abstract,其他类型都不可,且由于是abstract,所以不可以有函数体,否则会提示“Interface abstract methods cannot have body”.2、类如果实现接口有两种方法实现接口中定义方法 将这个方法表示为abstract,交由其子类来实现3、最好将继承表述为“是一种”,接口则是“拥有某种行...

2020-03-25 18:56:55 432

原创 【Java】读取/存储 中文txt文件,替换空格为指定字符

背景项目需要跨数据库的存储操作,就是从库A中的数据读取然后转存到数据库B中,但是目前DBA对跨库操作的支持不是很好,需要手动进行。我要做的是把查找的结果进行拼接,方便数据插入。即把如下数据转换为('1','10000000','2020-02-13','14:42:44','王五');的形式。数据涉及很多条,手动操作易出错,且,费时间,就有了今天的博客。1 10000000 2020-...

2020-03-25 15:15:23 780

原创 【java学习笔记】第六章 继承与多态

继承是为了避免重复的行为定义,但并不是所有出现重复行为的情境下都要使用继承来解决。如何正确判断使用继承的实际,及继承后如何活用多态,才是学习继承时的重点,也是我们看到优秀项目时需要思考的重点。继承1、private成员也可继承,但只可通过父类方法进行操作。2、多态与is-a。多态就是,通过单一接口操作多种类型的对象。如下展示三两个代码:第一个编译不通过,第二个编译通过但执行报错。(St...

2020-03-23 14:33:13 198

原创 【Java学习笔记】第五章 对象封装

构造函数1、构造函数通常为公有。私有构造函数用于内部类或单例模式。2、如果自己构造了带参的构造函数,java不会自动构建默认构造函数。需要自己手动构建不带参构造函数,增强代码灵活性。如运用反射构造对象,或便于调用父类构造方法。3、不可根据函数返回结果作为重载依据,Integer和int(是否装箱)作为函数参数属于不同类型,可作为重载依据。在依据参数寻找对应的重载方法时按照,先不装箱、再...

2020-03-18 15:48:59 120

原创 kafka消费时,同时消费多条数据导致更新失败

记录一次项目中遇到的问题。我们项目消费kafka的逻辑大致如下:if(消息存在){ update(消息);}else{ add(消息);}消息包括消息来源操作时间、操作类型(add/insert)、消息来源表名、消息来源表主键,业务字段等。我们这个表要求”消息来源表名+消息来源表主键“唯一。但存在当一条消息的update和add数据同时过来,打到不同机器上进行消费...

2020-03-18 12:28:18 1293

原创 IDEA报错:找不到或无法加载主类

本文解决问题主要参考——无法找到主类问题解决方法的汇总:https://blog.csdn.net/Angry_Mills/article/details/81511130首先这个问题,产生的原因有很多,需要逐个排查,但是如果根据自己问题发生的情况和特征,可以帮助你更快的定位问题和解决。本文主要描述我定位问题的过程和解决方式描述一下我的问题,clone一个新的多模块项目,执行报错。我的情况...

2019-12-26 19:03:13 59069 12

原创 【Java】finally中不允许使用return/break/continue/throw/goto跳转语句的原因

使用sonar检查代码时,出现了下面的问题Jump statements should not occur in "finally" blocksfinally语句块中不能使用跳转语句——return/break/continue/throw/goto,其实与语法规则无关。也就是说,你要是非这么写,你的编译器不会爆出任何异常。但是它可能会产生一些出人意料的问题,我在网上搜到一些博客,都是...

2019-12-24 12:18:07 4825

原创 优秀博客记录

聊聊MySQL、HBase、ES的特点和区别内部类详解

2019-12-20 15:20:42 89

原创 Git基础操作

基础操作设置用户名、密码(global表示这台机器上所有git仓库都用此配置):$ git config --global user.name "your name"$ git config --global user.email "your_email@youremail.com"查看当前路径:“pwd”创建文件夹:“mkdir”文件夹变成git可管理仓库:git init...

2019-12-19 11:51:10 84

原创 Redis发布订阅及其java使用(新手向——windows)

本文比较详细,适合新手,如果有一定基础,比如你的redis已经安装了,请跳过对应步骤,直接通过目录进入对应内容目录Redis安装Redis发布订阅Java中使用RedisJava中使用Redis进行发布订阅Redis安装参考菜鸟教程redis下载下载地址:https://github.com/MSOpenTech/redis/releases。Redis 支...

2019-12-06 17:49:28 339

原创 java实现洗牌算法——详解Collections.shuffle()

洗牌题目描述请撰写一个简单的洗牌程序,显示洗牌结果如下:题目分析:相当于实现52个数字随机打乱顺序(没有王)。代码实现@SpringBootApplicationpublic class HelloWorldMainApplication { public static void main(String[] args) { List<Integ...

2019-11-22 18:10:34 7383 3

原创 数据丢失与重复消费的解决方案

如何发现数据丢失为了确保consumer消费的数据一定是接着上一次consumer消费的数据,consumer消费时,记录本次取出的第一条数据,将其offset和上次consumer最后消费的offset进行对比,如果相同则继续消费。如果不同,则停止消费,检查原因。如果是单台服务器,记录到本地文件即可,但一般业务场景都是多台服务器,这时通常使用zookeeper。但即使这样也有可能发生消息丢失...

2019-11-21 16:45:03 489

原创 Java编译与反编译中的汉字乱码(IDEA反编译不要使用IntelliJ)

一、什么是编译与反编译简单来讲,编译就是把.java文件生成为.class文件,反编译就是把.class生成为.java文件。如果看到这里你已经懂了就可以看第二大部分了,不然就再听我絮叨一下。我们编程的时候主要是写一个个.java文件,以及围绕它的相关配置。但是.java文件不可以直接被执行,它的需要被编译成.class文件,才能够运行在不同的JVM上。.class文件即为JVM可运行的二...

2019-11-12 18:29:32 5643

原创 从“Integer对象判等”来了解Java对象的自动装箱、拆箱

一、一个小例子我们先看一段的代码:int a=200;Integer integer1 = a;Integer integer2 = a;System.out.println(integer1 == integer2);结果是什么?如果将200换成100结果会有改变么?首先,当a=200时,输出结果为“false”;当a=100时,输出结果为“true”。主要是由于Interg...

2019-10-30 15:56:19 164

原创 第三章 基础语法

本文只做自学笔记使用,之前已有一点点java基础,只记录我不知道的一些知识点,具体以书中内容为准。一、类型、变量与运算符1.1 变量、类型与运算符1、类型分为基本类型Primitive Type和类类型Class Type(也称参考类型 Reference Type)。基础类型与所占字节数如下表,boolean有点特殊,当为数组时,一个元素只占一个字节,如果自己本身是一个变量的话就占四...

2019-10-29 18:58:45 126

原创 Postman使用技巧——请求参数上传文件、请求参数为对象(java)

使用postman的时候,如果请求的参数需要从本地上传文件,可以使用下面的方式一、按照通常的使用方法,选择请求方式(post/get),添加请求地址二、按照下方图片,第一步选择body;第二步选择“form-data”;第三步选择key的类型为“File”;第四步添加请求参数“file”,注意,这里的请求参数不一定和我的相同,要根据你自己的函数确定,和第三步选择“File”也没什么关系,只...

2019-10-24 16:13:38 21668

原创 第二章 从JDK到IDE

本文只做自学笔记使用,之前已有一点点java基础,只记录我不知道的一些知识点,具体以书中内容为准。一、HelloWorld1、下面代码实际使用java.lang包下的System类的public static成员变量out,out是PrintStream类型的。println()是PrintStream的一个公共方法,可以将其中的字符串输出并进行换行。与其类似的还有print()方法,这个...

2019-10-14 11:20:52 124

原创 第一章 Java平台概论

说明:该系列博客为自行整理的学习笔记,不适宜当作教程。基本概念Java三大平台2006年之后,Java 6不再使用2这个号码,也就是使用下面的后者,如Java SE,但是有些人还是习惯以前的名字,如J2SE。1、J2SE/Java SE:Java (2) Platform, Standard Edition,Java标准版。包括JVM(Java虚拟机,Java Virtual Ma...

2019-09-29 18:31:54 168

原创 BigDecimal的方法总结

通常我们需要精确计算的时候会选择java.math.BigDecimal来进行计算。这篇博客主要介绍BigDecimal的方法和使用,主要分为三部分:BigDecimal介绍,为什么更精确;BigDecimal的方法。介绍Java中基础的小数的数据类型为float和double,他们在计算机底层是通过二进制分别表示指数和尾数来进行存储时,故造成存储时失去准确性。比如输入下面代码:Sy...

2019-08-22 15:27:21 3577

原创 超详细!使用swagger自动生成Api文档(swagger-ui)

介绍swagger是什么?swagger-ui使用swagger-ui简单使用swagger api注解本文参考:介绍这里是一些介绍,如果想直接看如何使用,请直接跳过这部分。但如果有时间,就姑且看一下吧,这部分大概用时3分钟。swagger是什么?Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口...

2019-08-01 21:57:34 131418 3

原创 MySql基础(一)

目录MySql是什么?先行的知识存储引擎行格式MySql基本操作可视化软件数据库数据表数据项命令行基本操作数据库数据表数据项MySql是什么?mysql是关系型数据库,window系统上的可视化软件为navicat。建议使用可视化软件,方便管理数据库。以下内容会涉及到行格式、存储引擎内容,先放两个比较容易看懂的关于行格式和存...

2019-07-29 21:15:01 218

原创 使用IDEA搭建Spring的基础项目

使用IDEA展示Spring的基础,主要为Spring的反转控制。自用学习记录,也希望能帮助到其他人使用环境IDEA:IntelliJ IDEA 2018.3.5 x64JDK:jdk-8u201-windows-x64新建项目File-》new-》Project。如果刚安装完IDEA,直接点击Create new project。出现如下的界面,选择spring然后如图进行勾...

2019-07-29 14:29:16 8191 2

原创 Java正则表达式实践: 使用正则表达式判断一个String字符串类型是否为整数或者多个整数构成

我准备把遇到的比较经典的正则表达式的例子做一个集合,如果你遇到正则表达式不会写,请在评论留言。一、使用正则表达式判断一个String字符串类型是否为整数1、正则表达式:^[+-]?[\d]+$。解释:以“+/-”为开始,?表示也可以没有前面的符号,然后必须在字符串结尾出现一个数字。2、实践和测试: String str = "^[+-]?[\\d]+$"; ...

2019-04-25 11:50:28 3501

原创 Java中变量类型等概念区分:变量类型、访问控制符、抽象类与接口

一、局部变量、成员变量和类变量1.1 区分表 我先将局部变量、成员变量和类变量的区分表放在前面,以后的内容也会这样,先把区分表放在内容之前。后面会详细地对概念进行解释,帮助同学们更深入地理解概念。如果是仅仅想看他们的区别的话,可以只看第一部分。 局部变量 成员变量 类变量 声明位置 方法或程序块 类中方法外 类中方法外 生命周期 ...

2019-04-24 20:18:37 268

原创 Java System.out.printf格式化输出日期

printf 方法可以很轻松地格式化时间和日期。使用两个字母格式,它以%t开头并且以下面表格中的一个字母结尾。当我们需要一个固定格式的日期输出的时候,需要利用printf格式化输出字符串的功能,并在秦钟指出要被格式化的参数的索引。索引必须紧跟在%后面,而且必须以$结束。可能对于初学者,上面的话比较抽象,我们来介绍一个实例。Date today = new Date();System...

2019-04-22 16:24:20 4342 2

构建spring项目时自动下载的18个jar包

IDEA构建spring项目时自动下载的18个jar包,都是4.3.18版本的,下载和使用时请注意。

2019-07-29

空空如也

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

TA关注的人

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