编程难题
文章平均质量分 61
茅坤宝骏氹
语言:Java、C/C++、C#、Python、Linux Shell。
框架:Spring、Spring MVC、Spring Boot、Spring Cloud、Hibernate、Mybatis、Freemarker、Velocity。
前端:HTML5、CSS3、JavaScript、Bootstrap、JQuery、Vue、React。
数据库:oracle、mysql、MongoDB、HBase。
缓存:Memcache、Redis。
消息队列:kafka。
大数据:Hadoop、Hive、Sqoop、Flume、Spark、Strom、OpenTSDB、Druid。
展开
-
SpringCloud Gateway配置自定义路由404坑
一、场景复现微服务自定义路由,返回404页面。如图:(1)springcloud-gateway的路由设置@Configurationpublic class RouteConfig { @Bean public RouteLocator customRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("test", r原创 2021-02-04 23:49:01 · 20061 阅读 · 2 评论 -
Springboot Mybatis多数据源配置MybatisProperties坑
一、场景复现配置了两个数据源,查询Dao却报错表不存在。(1)maven<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId></dependency>(2)配置文件spring: application: name: multi-.原创 2021-02-02 00:38:11 · 2302 阅读 · 2 评论 -
Nacos client SDK 订阅式请求坑
一、场景复现(1)业务需求在不同的nacos注册集群,不同的namespace,由页面发起查询nacos集群上注册的服务实例ip。(2)故障现象nacos集群配置推送push超时,查看nacos日志请求一直在20~30qps不间断。把源站点的请求日志打印出来,发现除了端口不一样几乎都是参数相同的请求。源站点的代码maven设置 <dependency> <groupId>com.alibaba.nacos</g原创 2021-01-23 22:00:59 · 1544 阅读 · 1 评论 -
SpringBoot2.1.9 Mybatis由于@Mapper注解多数据源配置不生效问题
一、场景复现二、原由@Mapper先扫描到,@MapperScan后扫描,Dao Bean已经生成了,无法再指定数据源进行注入了。三、解决方案原创 2020-05-04 21:35:37 · 6286 阅读 · 1 评论 -
Lombok的@Data生成的hashCode和equals方法坑
一、场景复现创建两个lombok的@Data注解的类Pig实例,放进HashMap当key,map里面的数据居然被覆盖了。package com.mk;import lombok.Data;@Datapublic class Pig extends Animal{ private String sex;}package com.mk;import java....原创 2020-03-08 19:24:24 · 9767 阅读 · 2 评论 -
MyBatis Generator分页插件RowBoundsPlugin坑
一、Mybatis Generator设置分页Mybatis Generator没有设置分页,但自带了个RowBoundsPlugin分页插件,故而配置<plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"/>在mysql数据库进行查询的表分页10条,查很久花费了9s,表的数据也只是十几万行。百思不得其解,...原创 2020-03-01 17:37:27 · 2958 阅读 · 0 评论 -
解决idea启动项目报错:Unable to open debugger port(127.0.0.1:60157):java.net.SocketException"socket closed
转载自解决idea启动项目报错:Unable to open debugger port(127.0.0.1:60157):java.net.SocketException"socket closed1.问题描述:工作当中免不了要重启服务,debug模式下偶尔启动项目,却启动失败报错:Unable to open debugger port (127.0.0.1:60157): ja...转载 2020-01-23 15:26:47 · 4183 阅读 · 0 评论 -
解决mybatis generator无法覆盖XML
转载自解决mybatis generator无法覆盖XML今天发现mybatis generator maven plugin在重复生成的时候xml文件只会merge,不会覆盖。明明在pom.xml中配置了如下:<configuration> <configurationFile>src/main/resources/mybatis/generat...转载 2020-01-23 15:23:10 · 1378 阅读 · 0 评论 -
SpringBoot2.1.9 分布式锁ShedLock不执行坑
一、起由@Configuration@EnableScheduling@EnableSchedulerLock(defaultLockAtMostFor = "PT30S")public class TimerTaskConfig implements SchedulingConfigurer { @Bean public LockProvider scheduled...原创 2020-01-18 14:35:56 · 4471 阅读 · 5 评论 -
Druid SQL查询数据timeStamp时区问题
一、Druid默认时区默认使用UTC+0000,数据存储的时间timeStamp为UTC+0000二、北京时间在中国,使用UTC+0800,查询时间需要设置时区或者将时区转换为UTC+0000时间以下查询是UTC+0000时间,查询结果的dateTime也是UTC+0000时间需要进行时区转换select "__time", "value"from access_lo...原创 2019-12-15 12:02:40 · 4655 阅读 · 0 评论 -
Idea Tomcat启动报异常CannotLoadBeanClassException
一、现象展现Idea配置占用了C磁盘的所有空间,删除Idea配置目录后,改为D磁盘存储Idea配置。由于idea的Artifact(war explode包)在没有整个项目重新构建情况下没有执行热发布,从而删除Artifact的war和war explode包,重新构建打包,启动Tomcat报错日志:org.springframework.beans.factory.CannotL...原创 2019-01-27 15:43:29 · 1668 阅读 · 0 评论 -
org.apache.ibatis.builder.BuilderException: Could not find value method on SQL annotation
转载自 mybatis 注解引发的bug,org.apache.ibatis.builder.BuilderException: Could not find value method on SQL annoMybatis用注解开发且还用script标签这种bug,网上一搜一大堆,但是都xml方式开发,大部分说的是返回类型或者入参类型对不上,而我是注解式开发。先贴写出来的sql:...转载 2019-02-07 13:23:19 · 4763 阅读 · 0 评论 -
JQuery AJAX请求结果的null为key时无法进入success方法
一、问题复现后台:import java.util.*;@Controllerpublic class Test{ @RequestMapping("/get/loadInfo.do") @ResponseBody public Result getLoadInfo(){ Result res=new Result(); ...原创 2019-02-07 15:50:18 · 807 阅读 · 1 评论 -
JS的Date.setMonth()方法坑
一、场景复现业务需求,查询时间需要设置为前一个月。//辅助代码Date.prototype.format = function(fmt) { //author: meizz var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), ...原创 2019-03-29 20:47:06 · 3899 阅读 · 0 评论 -
json-lib的字符串自动转换坑
一、场景复现(1)代码import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.google.gson.JsonObject;import com.google.gson.JsonParser;import net.sf.json.JSONObject;public class C {...原创 2019-03-23 10:40:58 · 354 阅读 · 0 评论 -
IDEA的debug方法头坑
一、现象复现web程序跑起来很卡顿,十几分钟都跑步起来,而且页面刷新十几秒都没有反应。三月 23, 2019 11:58:22 上午 com.mchange.v2.log.MLog <clinit>信息: MLog clients using java 1.4+ standard logging.三月 23, 2019 11:58:22 上午 com.mchange.v2...原创 2019-03-23 12:08:27 · 941 阅读 · 0 评论 -
MyBatis-generator使用,Example缺少分页问题解决
一、分页问题MyBatis自动生成代码没有分页功能。如:public class User { private Integer userId; private String name; public Integer getUserId() { return userId; } public void setUserId(I...原创 2019-05-18 12:00:35 · 2053 阅读 · 0 评论 -
Javafx的WebEgine执行window对象设置属性后为undefined
一、场景复现window10 jdk1.8u221package main;import javafx.application.Application;import javafx.beans.value.ObservableValue;import javafx.concurrent.Worker;import javafx.scene.Scene;import javafx...原创 2019-08-17 22:38:20 · 596 阅读 · 0 评论 -
Idea启动Tomcat报错Unable to open debugger port (127.0.0.1:XXX)
(1)Error running 'XXX': Unable to open debugger port (127.0.0.1:XXX): java.net.BindException "Address already in use: JVM_Bind(2)Error running 'XXX': Unable to open debugger port (127.0.0.1:XXX): ja...原创 2019-09-23 10:37:28 · 2301 阅读 · 0 评论 -
Hadoop的FileSystem.copyToLocalFile两个参数 空指针异常
转载自Hadoop的FileSystem.copyToLocalFile两个参数 空指针异常在网上一搜,直接改成fileSystem.copyToLocalFile(false,xx,xx,true)即可。Exception in thread "main" java.lang.NullPointerException at java.lang.ProcessBuilder.s...转载 2019-10-04 20:25:40 · 1002 阅读 · 0 评论 -
Hadoop入门(十二)Intellij IDEA远程向hadoop集群提交mapreduce作业
Intellij IDEA远程向hadoop集群提交mapreduce作业,需要依赖到hadoop的库,hadoop集群的配置信息,还有本地项目的jar包。一、软件环境(1)window本地安装hadoop软件首先将集群上的hadoop环境下载到本地,本文是在“A:\soft\hadoop-2.6.0”(2)设置环境变量HADOOP_HOMEHADOOP_HOME=A:\so...原创 2019-10-06 10:36:17 · 963 阅读 · 0 评论 -
修改Tomcat编码方式的两种方法
转载自 修改Tomcat编码方式的两种方法方法一:推荐,不会影响到其它项目 见我的另一篇博客:http://www.cnblogs.com/x_wukong/p/3292664.html修改方法:修改tomcat下的conf/server.xml文件,找到Connector标签,添加useBodyEncodingForURI="true",如下代码:<Connector port="80...转载 2018-06-17 08:41:46 · 3315 阅读 · 0 评论 -
Spring MVC请求url无效问题思考
一、Controller没有配置page not found or method not supported.没有扫描到包里面的controller类<context:component-scan base-package="com.mk.controller" /> 二、请求方式GET/POSTorg.springframework.web.servlet....原创 2019-01-17 12:32:44 · 809 阅读 · 0 评论 -
Java 0xffffffff隐式类型转换的坑
一、场景复现项目需求,long的低32位存储ip地址,需要将ip信息展示成为字符串ip。public static void main(String[] args){ long ipLong = 0x457145130A1901F6L; String ip = longToIp(ipLong&0xffffffff);//取低32位 System.ou...原创 2019-01-03 22:27:39 · 5477 阅读 · 0 评论 -
java正则表达式中的坑String.matches(regex)、Pattern.matches(regex, str)和Matcher.matches()
问题:程序会计算表达式的值//将数值转换以K为单位String value = "10*1000*1000";String regex="\\s*\\*\\s*1000\\s*";boolean isMatch = value .matches(regex);if(isMatch){ value = value.replaceFirst(regex,"");}else{ ...原创 2018-10-20 11:10:01 · 8030 阅读 · 0 评论 -
一个正则表达式酿成的惨案
转载自 一个正则表达式酿成的惨案导读:正则表达式是程序员经常使用的工具之一。本文作者通过一个正则表达式的陷阱,先深入剖析了出现问题的原因,后给出怎么处理这类问题的方法。最后还给出了一些检测常见正则表达式问题的工具,十分值得深入研究。前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%。通过 Java 自带的线程 Dump 工具,...转载 2018-10-10 19:28:30 · 177 阅读 · 0 评论 -
ThreadLocal的非数据安全用法
启发于同事处理的bug,他遇到的问题是: “有三台Tomcat服务器,其中有一台Tomcat服务器出现这种情况:一个用户A登录了系统,如果有新的用户B接着登录系统,会把用户A的登录信息给替换成新用户B的信息。这造成无缘无故看到是别人的昵称和头像。”原因:这个老旧系统里面使用了ThreadLocal存储用户登录的信息,ThreadLocal是线程安全的,可ThreadLoca...原创 2018-08-03 19:14:21 · 219 阅读 · 0 评论 -
vue-beauty 的v-data-table数据单元不换行
原因由于css样式.ant-table-tbody>tr>td, .ant-table-thead>tr>th { padding: 16px 8px; word-break: keep-all; white-space: nowrap; /*强制不换行*/}只需覆盖white-space的值就可以如:.ant-table...原创 2018-07-09 19:35:52 · 3801 阅读 · 0 评论 -
Tomcat启动超时问题Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
转载自 Tomcat启动超时问题Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds使用Eclipse启动Tomcat时出现启动超时的问题如下所示:Server Tomcat v7.0 Server at localhost was unable tostart within 45 seconds...转载 2018-06-28 10:13:50 · 3280 阅读 · 0 评论 -
如何在局域网访问Tomcat项目
转载自 如何在局域网访问Tomcat项目1 前言 有时候因为工作需要,我们需要访问服务器上的项目或是把你的机器上的项目让你的同事访问到,诸如此类的,都涉及到了这个课题:如何在局域网访问Tomcat项目?而tomcat本身是支持局域网内共享的,只需简单配置防火墙规则即可,下面以windows为例,简单讲解该如何配置。2 Windows XP配置 Step 1,打开控制面板,进入windows...转载 2018-06-17 08:42:34 · 4209 阅读 · 0 评论 -
启动tomcat不出现命令窗口
转载自 启动tomcat不出现命令窗口有个软件要安装在U盘中,B/S结构,用tomcat做应用服务器,客户要求tomcat不能注册为系统服务,启动时tomcat启动时不能出现命令行窗口,怎么实现?根据你的问题描述,猜测你的部署系统是Windows,可以修改以下文件: 引用TOMCAT_HOME\bin\setclasspath.bat在文件的底部找到以下内容: set _RUNJAVA="%JR...转载 2018-06-17 08:43:55 · 3179 阅读 · 0 评论 -
JSP页面EL表达式不解析
转载自 JSP页面EL表达式不解析问题是这样:在搭建springMVC环境的时候,笔者写了一个简单的Controller如下:@Controllerpublic class HelloController { @RequestMapping(value = "/hello.do", method = RequestMethod.GET) public String h...转载 2018-06-17 08:43:44 · 336 阅读 · 0 评论 -
Windows访问Linux的Tomcat,显示无法连接
一、端口占用先查看tomcat下的logs日志文件,如果现实地址已被占用,则需重新修改端口。tomcat默认启动的是8080,如果你想修改为80,则需要修改server.xml文件:vim $CATALINA_HOME/conf/server.xml #如果没有配置$CATALINA_HOME,使用安装目录代替找到:修改为: 二、防火墙拦截如果Tomcat已经正常启动,说原创 2017-11-26 17:58:56 · 1954 阅读 · 0 评论 -
eclipse搭建多module项目的坑
一、eclipse坑1、低版本eclipse没有jdk1.82、默认使用jre库作为工作空间jdk,项目build path绑定jre,而Maven项目需要jdk3、Maven项目经常抛错,工作空间和项目缓存了Maven错误信息 二、Maven坑1、仓库没有包,生成xxx.lastUpdated文件影响调用 三、Tomcat坑1、webContent路径配置项目...原创 2018-11-07 19:35:07 · 2897 阅读 · 0 评论 -
artTemplate的空白输出坑
一、问题现象<script type="text/html" id="man_template"> {{each list as v i}} <tr> <td>{{v.name}}</td> <td>{{v.height}}</td&g原创 2018-11-14 13:05:48 · 1643 阅读 · 0 评论 -
Java自动化邮件中发送图表(一)
一、邮件需求邮件中需要展示柱状图、折线图和饼图等图表数据。如图: 二、解决方案将图表转成图片,采用html邮件文本,使用base64编码图片发送邮件。将图表导出成图片有三种方式:(1)JFreeChart优点:导出图片操作简单。缺点:导出图片的样式不美观。(2)highcharts-serverside-export优点:导出图片跟js渲染的一样...原创 2018-12-18 21:26:08 · 4517 阅读 · 0 评论 -
Javafx的WebEngine的url加载不输出结果坑,gc回收了局部变量
一、坑场景复现源于w3cschool的JavaFX WebEngine测试例子,运行代码都没有输出,一直在研究为什么会出现这样的结果。在测试过程中使用WebEngine的html加载,使用WebEngine的url加载,使用WebView加载url,使用仅Scene装载WebView(没有加入Stage或者没有运行stage.show()方法),还有使用Scene装载WebView(加入S...原创 2018-12-23 12:52:15 · 2653 阅读 · 0 评论 -
JavaFX 2.1:Toolkit not initialized
转载自 JavaFX 2.1:Toolkit not initialized一、问题我的应用程序是基于Swing的。我想介绍JavaFX并将其配置为在辅助显示器上渲染场景。我可以使用JFrame来保存一个可以容纳JFXPanel的JFXPanel,但我想用JavaFX API实现这个目的。子类化com.sun.glass.ui.Application并使用Application.la...转载 2018-12-22 11:22:44 · 7690 阅读 · 0 评论 -
<table/>设置列宽度无效的问题
一、场景重现<html><head> <title>测试</title> <style type="text/css"> .table { table-layout: fixed; } </style></head&am原创 2018-12-10 19:50:19 · 2413 阅读 · 0 评论 -
JSP的<c:foreach/>标签只输出一次标签体内容的坑
一、场景复现<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String[] arr={"a","b","c","d"};request.setAttribute("arr", arr);%>原创 2018-12-09 14:02:15 · 1430 阅读 · 0 评论