自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MaYuKang的博客

喝醉了小河边唱着歌,永远爱你是我说过

  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

原创 JPA执行查询报错java.lang.StackOverflowError: null问题排查与解决

开发和测试环境运行正常,报错方法为Jpa类库里JoinProcessor.doFindAllNodes方法,该方法用于拼接查询参数,如(?),由于是通过迭代进行拼接,通过jpa提供的findByIdIn方法,传入的id集合,所以当拼接参数过长时,会发生栈溢出异常。生产环境执行定时任务时报错 java.lang.StackOverflowError: null。可以通过分段查询的方式和更改jvm启动参数来控制拼接长度。

2023-02-13 16:35:40 839 1

原创 Idea启动SpringBoot项目,点击启动按钮无反应,控制台没有任何信息

Idea启动SpringBoot项目,点击启动按钮无反应,控制台没有任何信息

2022-12-10 14:43:38 1464

原创 解决ajax请求报错:Invalid character found in method name. HTTP method names must be tokens

1、用ip访问页面,通过ajax发起http请求idea控制台报错:Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens...

2022-06-15 16:30:49 496

原创 mybatis批量更新插入报错Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax;

问题:在语句拼接正确,且无mysql关键字的情况下,mybatis批量更新插入报错Translating SQLException with SQL state ‘42000’, error code ‘1064’、Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax;解决方案数据库连接url后加上&allowMultiQueries=true允许批量操作即可解决。...

2022-03-31 15:48:42 2271 1

原创 一行代码解决从Mysql数据库取出datetime时间少八小时的问题

通过java代码从mysql数据库中取出datetime类型时间相差少八小时,navicat时间类型为datetime,时区问题。

2022-03-01 10:08:32 1941

原创 Ubantu20中利用Docker部署SpringBoot项目,Java调用python脚本的方法。

Java调用命令行执行python文件Windows: String[] arguments = new String[] {"python3","D:/你的python文件地址.py",exp}; Process process = Runtime.getRuntime().exec(arguments)Linux:Process process = Runtime.getRuntime().exec(new String[] { "/bin/bash", "-c", new StringBu

2022-02-24 17:58:24 1710 1

原创 Nacos2.0+集群搭建各类启动报错,疑难杂症解决方案合集,不管用来找我

Nacos2.0+启动报错org.springframework.context.ApplicationContextException: Unable to start web server;org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'instanceOperatorClientImpl'

2022-01-06 15:47:46 17572 12

原创 Java中main方法是单线程还是多线程?启动后有多少个线程会被创建?

先说结论:main方法启动后,jvm会开启多个守护线程,但main方法中的代码是被单线程执行的。上代码:下面这段代码通过java提供的线程管理类ThreadMXBean中的dumpAllThreads方法返回所有活动线程的线程信息,并打印线程id和名称:public class Test { public static void main(String[] args) throws InterruptedException { ThreadMXBean threadMXBean

2021-12-14 18:21:46 4700 3

原创 @Scheduled同时执行多个定时任务所导致的并发问题

SpringBoot中通过@Scheduled注解开启定时任务,通过控制执行顺序,单线程和多线程下同时执行多个定时任务所导致的并发问题。

2021-12-09 20:00:43 12667 8

原创 多线程之哲学家就餐问题(java代码含注释)

什么是哲学家就餐问题有五个哲学家在一张桌上,他们交替思考和吃饭。每个人只能拿自己左右手边的叉子,当他们拿到两只叉子的时候才能吃饭,吃完饭就放下叉子开始思考,每个哲学家不能同时拿起两只叉子。用程序实现这个过程。问题分析根据题意,每个哲学家交替吃饭和思考,吃饭的条件是拿到两只叉子,那么如果五个哲学家都同时拿了左手边的叉子,那么永远都不可能有人能吃到饭,只能饿死。为了避免这种情况的发生,我们一次只能允许四个哲学家去拿叉子,让一个人暂时思考,等待别人吃完饭,他再去拿叉子。在java中,我们可以利用信号量S

2021-11-10 20:46:06 3018 5

原创 java多线程面试之手写阻塞队列,实现生产者和消费者模式。

什么是阻塞队列首先,阻塞队列是一个队列,满足队列的基本数据结构,先进先出。其次,当队列满时,队列会阻塞插入元素的线程,直到队列不满;当队列空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。如何写一个阻塞队列手写阻塞队列是多线程面试中常见的问题,能考察面试者对多线程和锁的基础知识。通过synchronized关键字配合wait()和notify()方法,实现线程的交替运行:import java.util.Li

2021-11-02 21:17:08 1398 2

原创 mybatis foreach批量更新操作报错,拼接sql过长截断问题

1、字段中包含mysql关键字,如value,time等。解决方法:字段套上’value’,Tab键上面的符号。2、foreach批量更新语法有误解决方法:mybatis批量插入数据3、循环拼接sql长度过长,mybatis截断sql。解决方法:数据库url后加上allowMultiQueries=true...

2021-10-25 16:53:05 2314

原创 常见排序算法基本原理、步骤及代码(含注释java版),小白也能看的懂!

本文所有排序均为从小到大排序,代码全部可跑通。基数排序思想:任何数的每个位数只有可能是0~9,也就是10个数,从个位开始到最高位结束。步骤:1、准备一个长度为10的二维数组,一维下标也就是0~9。2、得到待排序数组最高位。3、遍历数组,从个位开始截取,到最高位结束,将数字放到截取位数对应下标的二维数组中。4、从二维数组中按顺序取出新的数组。5、如果数字没有截取到位数,那就是已经排序好的了,循环步骤3~步骤4,直至排序完成。归并排序思想:将一个数组从中间分开,再将左右两个数组分别排序后合并

2021-10-19 20:12:03 241

原创 html点击按钮后页面刷新的问题,form表单中button按钮触发submit点击事件

html点击按钮有如下form表单,包含了一个button按钮:情况1:<form action=""> <button onclick="">我是按钮</button></from>尽管button按钮没有执行任函数,但是点击按钮后,页面刷新。情况2:<form action="http://www.baidu.com"> <button onclick="">我是按钮</button></fr

2021-10-09 14:20:28 7023 2

原创 微信小程序上拉框弹出菜单,select选择器——picker标签

效果从手机底部弹出上拉框,展示用户列表,通过滚动列表选择用户,点击确定选中。wxml<picker bindchange="bindPickerChange" value="{{index}}" range='{{array}}' range-key="name" data-id='{{array[index].id}}' data-name='{{array[index].name}}' class="weui-btn btn-css" > 点我弹出选择器

2021-09-22 16:03:46 5551

原创 解决java8 stream流操作Collectors.toMap()合并集合数组后,元素顺序改变的问题。

问题出现java8提供了流式操作,我们可以用Collectors.toMap()方法,将两个相同长度的集合或者数组组合成一个map,示例代码如下:String[] keys = ["key1","key2","key3","key4","key5"];String[] values = ["value1","value2","value3","value4","value5"];Map<String,String> valueMap = new LinkedHashMap<>

2021-08-27 14:43:57 4888

原创 不要再写循环了!mybatis批量插入数据,批量更新集合list它不香吗?

首先,mybatis框架就是对sql语句进行了封装,用xml的方式,通过标签和属性解析执行sql语句,我们知道,在表中插入记录的sql语句为:INSERT INTO 表名称 (列1, 列2,…) VALUES (值1, 值2,…)在插入过程中,数据库会默认加上事务,也就是说批量插入是具有原子性的。有批量插入,但却没有支持批量更新的sql语句,仅有对一条满足条件的记录进行更新:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值在mysql中,我们可以用replace

2021-08-05 10:47:31 4729

原创 Postman跳过登录,权限验证,发送请求不被系统拦截

以chrome浏览器为例,其他浏览器类似的,项目登录后,按F12或右键检查,打开浏览器调试窗口,菜单栏点击Network一项,如下:再次刷新登录后的页面,network出现多条请求记录,忽略静态资源的请求,左侧name一栏找到当前登录的页面,点击后右边找到RequestHeaders,根据你项目认证权限方式不同,拿到token和session。复制key和value,打开postman,在Header菜单下填入key和value,这样你访问的接口就跳过了登录。当然,这个权限和你复制的来源所拥有的权限

2021-07-30 11:15:20 4382

原创 拿去吧你!基于jQuery的轻量级多图片上传组件源码,支持回显、删除、控制数量及像素大小

对于大部分系统和软件来说,上传图片是必不可少的功能,各位老哥们是否还在用原生标签<input type="file">去直接实现呢?这种粗糙的方式很符合我们后端开发者们的口味,毕竟,功能实现才是核心,其他交给我们的前端和美工小姐姐就好。但俗话说的好:人靠衣装,佛靠金装。在这个“颜值”当道的时代,给用户丝滑的体验,让甲方爸爸拍手叫好,给产品经理有吹水的资本还是很重要的。好了废话不多说,先看效果:作为一名合格的程序员,具有“拿来主义”的思想很重要,毕竟谁能拒绝无脑ctrl+cv呢?下面的

2021-07-15 21:41:48 731 6

原创 解决任何跨域访问请求session丢失问题

       跨域请求的场景有很多种,多模块项目之间端口号不同,前后端分离之间的请求,jsonp远程接口的调用,iframe的嵌套等等。       导致session丢失的原因也有很多,大致有spring security、shiro等安全框架的拦截,自定义过滤器的拦截、不同浏览器内核版本的限制,服务器的配置等等,首先要确认自己遇到这个问题是什么原因导致的,再去做相

2021-06-30 15:46:45 5101 2

原创 解决bootstrap模态框中使用clipboard.js无法复制的问题

当使用bootstrap调起模态框,clipboard对模态框中按钮绑定复制事件时,焦点会发生变化,需要指定焦点所在容器,也就是模态框,clipboard.js官方解释如下:加入container属性并指明复制按钮所在模态框即可正常进行复制操作。...

2021-04-12 11:14:26 677

原创 解决SpringBoot引入静态资源错误,提示the server responded with a status of 404的问题

导致错误的原因主要是路径问题:1、如果配置文件中有server.servlet.context-path: /xxx,请在引用路径带上xxx。2、如果没有static文件夹,要在resource文件夹下新建一个,springboot默认从static文件夹下加载静态资源。3、引入静态资源如js,css文件时无需加上/static前缀,在static文件下建立的文件夹引用时要加斜杠当然,这是引入本地资源会报的错,如果用的网络资源则不会报错。如果解决了您的问题,那就点个赞呗~...

2021-04-08 16:01:45 2674

原创 解决Mybatis返回类型为Integer,查出Null值报错的问题

在Mybatis中,resultType=Integer时,若查询结果为空,则会报错。解决方法就是用MySQL的IFNULL函数,将null值转为你自己定义的整型,如下:这样,如果查询结果为空,则直接返回-1

2021-03-26 14:54:17 4108 1

原创 mysql插入记录后返回自增主键id的方法和注意事项

插入记录后返回自增主键id在mapping文件的insert标签中加入如下标签,指明主键名(keyProperty),执行方式(order)为新增完再返回执行,因为只有插入完成后获取的id才是最新的,返回值是Integer类型,也就是新增后返回的自增主键id。 <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> SELECT LAST_INSERT_ID() </selectK

2021-03-21 18:09:45 1847 1

原创 解决java操作dom4j新增xml节点自动加上xmlns=““的问题

解决dom4j新增xml节点自动加上xmlns=""的问题问题发生问题原因功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入问题发生有xml文件A,有符合xm格式的l字符串B;字符串B通过DocumentHelper.pars

2021-02-09 14:19:03 1178

原创 云直播地址格式RTMP,flv,m3u8的flash支持情况和时延

播放方式时延是否需要flash引入js库RTMP1s~2s是liveplayer-element.min.js + http://vjs.zencdn.net/5.19/video.min.jsflv2s~5s是liveplayer-element.min.jsm3u810s~15s否liveplayer-element.min.js

2020-11-19 10:53:38 1418

原创 解决Tomcat启动后80端口被占用,报错“Port 80 required by Tomcat v9.0 Server at localhost is already in use.”的问题

1、问题出现Eclipse启动Tomcat后报错“Port 80 required by Tomcat v9.0 Server at localhost is already in use.”2、解决方法打开cmd输入netstat -ano命令,找到对应pid打开任务管理器—详细信息,找到对应PID,一般会是http的服务占用,图标是一个粉色羽毛,直接右键停止即可3.若PID对应进程名称为System,这个时候不能停止,cmd输入netsh http show servicestate

2020-11-18 13:46:23 2018

原创 利用VMware虚拟机Linux下安装Nginx(完整详尽版)

VMware虚拟机基于CentOS6的Linux系统下安装Nginx前言一、VMware虚拟机和CentOS6操作系统的安装二、下载Nginx1.引入库2.读入数据总结前言由于是在Linux下进行一、VMware虚拟机和CentOS6操作系统的安装如果未安装linux虚拟机,请参考:Windows利用VMware虚拟机安装Linux操作系统二、下载Nginx安装及下载地址:Nginx下载地址找到自己需要下载的版本,这里我们用1.引入库代码如下(示例):import numpy as n

2020-08-24 16:50:46 6890 2

原创 Windows利用VMware虚拟机安装Linux操作系统

VMware基于CentOS6的Linux系统下安装Nginx一、虚拟机安装1、准备工作(1)下载VMware虚拟机(2)下载镜像操作系统(3)下载卡慢2、安装VMware一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、虚拟机安装1、准备工作(1)下载VMware虚拟机Windows下64位下载地址:https://my.vmware.com/cn/web/vmware/downloads/details?downloadGroup=WKST-1556-WIN&produ

2020-08-24 15:24:15 868

原创 解决RabbitMQ安装后127.0.0.1:15672控制台打不开,无法访问的问题

没有安装Erlang或缺少系统环境变量配置RabbitMQ依赖于Erlang环境,其底层通过Erlang语言实现。需要下载安装Erlang及配置环境变量,具体操作步骤请参考:https://blog.csdn.net/MaYuKang/article/details/107688440没有开启管理界面功能1、RabbitMQ默认禁用了管理界面,需要通过命令重新开启管理界面:以管理员模式打开CMD,进入RabbitMQ安装目录的sbin文件夹路径下,输入并执行rabbitmq-plugins enabl

2020-07-30 14:54:01 7452 4

原创 Windows下消息中间件RabbitMQ安装教程(超详细)

RabbitMQ下载下载地址: https://www.rabbitmq.com/download.htm在下载页面选择适合的下载方式,windows下可以选择以可执行文件(.exe)的方式下载:这里没有梯子的话会下载的很慢,可以复制下载地址然后打开迅雷下载,如下图:1、打开浏览器的调试模式(F12),点击上图所示1的箭头查找元素2、移动鼠标到下载地址上后点击3、复制超链接里的下载地址4、打开迅雷新建任务,粘贴地址即可高速下载。下载完成后我们会得到这样的一个可执行文件:双击打开,选择

2020-07-30 14:25:38 1979 3

原创 解决BootstrapTable多次重复初始化的问题

由于不同数据的需要,BootstrapTable会初始化不同的数据,但当我们重复初始化一个Table时,新的内容并不会覆盖原有内容,导致第一次初始化的内容不会被之后的多次初始化所改变,这个时候我们必须先销毁才可以再次初始化。$('#table').bootstrapTable('destroy');在对下一次初始化之前,对Table进行销毁,这样下次一重新初始化Table的时候,Table才会被赋予新的内容。...

2020-07-25 21:40:10 1844

原创 解决Java操作POI导出Excel表格后,单元格样式不生效,文本类型点击后更改的问题

问题描述具体表现为将字符串类型的电话号码存入Excel中,双击单元格后,转变为大数类型。问题解决原因是设置样式和填入数据的先后顺序问题,所以只需要在填入数据前设置单元格样式和类型即可解决: row.createCell(2).setCellStyle(cellStyle); row.createCell(2).setCellValue(addressBook.getPhonenum());...

2020-07-15 15:05:13 10780 10

原创 解决js函数无法获取并使用ajax中success后的返回值的问题

问题产生function findRecordById(id) { var recordname; $.ajax({ type: "post", url: "/pamm/call/history/location", data: {recordidId:id}, success: function (data, status) { if (data !=

2020-07-10 22:58:38 2734 2

原创 关于安装SQLServer2012时遇到1402错误,未能打开注册表项的解决方法

今天在安装SQLServer时报错:根据错误描述可知没有足够的权限访问该注册表项,也就是说无法获得秘钥。解决方法如下:win+R打开运行,输入regedit打开注册表,找到注册表项:右击Licenses文件,选择权限—>高级:在所有者旁边点击更改–>高级点击立即查找找到用户并确定勾选后点击确定最后将管理员和用户的访问级别设置为完全控制,设置完成后一路确定即可解决。...

2020-06-22 16:20:53 2459

原创 IDEA下整合Springboot2.0+Mybatis以及可能发生问题的解决(完整版)

IDEA创建一个Springboot项目File—New—Project,选择Spring Initializr:点击Next,依次输入包名项目名点击Next,勾选需要的Pom依赖点击Next,输入项目名及项目存储位置,点击Finish二、导入依赖以及配置mybatis-generator插件打开Pom文件,导入需要的依赖,这里使用Mysql8.0.15+Druid连接池&...

2020-03-22 15:18:31 566

原创 String.Split()方法最后一个分隔符后有无内容的检查

问题产生阿里巴巴Java开发手册第四章OOP规约第14条:使用索引访问用 String 的 split 方法得到的数组时,需做最后一个分隔符后有无内容的检查,否则会有抛 IndexOutOfBoundsException 的风险。根据说明描述,还原了异常public class JudgeSeparator { public static void main (String args[...

2019-11-04 19:50:40 10426 8

原创 完美解决官网下载git失败,低速,卡慢,中断的问题

完美解决官网下载git失败,低速,卡慢,中断的问题问题Git官网解决方法问题在项目中,我们需要用到git从服务器上克隆数据库(包括代码和版本信息)到单机上,但是官网下载非常慢而且容易中断下载连接。Git官网https://www.git-scm.com/download/选择系统解决方法按F12打开开发者工具1、点击右上角箭头图标2、定位到下载链接3、复制下载链接4、打开...

2019-10-11 22:48:04 1639 3

原创 mysql8.0在eclipse中通过xml文件配置数据库连接池

mysql8.0在eclipse中通过xml文件配置数据库连接池1、关于Mysql8.02、数据库连接池(DBCP)1、关于Mysql8.0使用mysql6.0以上版本配置的JDBC驱动,会出现两个变化:1.以前的驱动位置调整为 com.mysql.cj.jdbc.Driver2.新增serverTimezone和useSSL, 需要指定服务器时区属性,设定mysql版本是否向下兼容等属性...

2019-06-08 16:02:00 6539

原创 JavaWeb设置session失效时间的三种方法以及setMaxInactiveInterval()的注意事项

JavaEE设置session失效时间的三种方式以及注意事项1、通过web容器配置2、通过项目中的web.xml中配置3、通过java代码动态配置4、优先级5、验证:通过监听器观察session失效时间当用户登陆系统后,服务器会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动销毁session,退出登录,释放资源。1、通过web容器配置在web容器中设置,以Tom...

2019-06-03 15:21:55 24226

Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

2022-02-08

nacos-server-2.0.3.zip

nacos-server-2.0.3.zip

2022-01-06

空空如也

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

TA关注的人

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