- 博客(31)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 微信支付body中文时,签名失败,乱码问题解决方案
主要是body中文问题,解决起来真是醉了,百度了好多文章都没有彻底解决的,各种问题,害的我哭了好几天!废话不多说了,开始进入正题:因为公司的项目要用微信支付,部署时候发现总是报签名错,经过排查,是编码问题。(如果大家没时间,请直接查看第三种解决方案) 第一种解决方案: tomcat在window环境默认编码是gbk,所以要设置tomcat编码为utf-8。 第一步:在...
2018-08-02 10:53:51 8545 1
原创 使用HttpClient发送和接收请求数据
工具类import java.io.IOException;import java.net.URI;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.apache.http.Consts;import org.apache.http.NameValuePair;import...
2018-06-13 14:13:07 21380
原创 poi下载,富文本html转word,及微软office打不开问题
java poi下载,富文本html转word,及微软office打不开问题
2022-03-21 10:42:55 1187
原创 24个经典的MySQL索引问题,你都遇到过哪些?
1、什么是索引?索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。2、索引有哪些优缺点?索引的优点(1)可以大大加快数据的检索速度,这也是创建索引的最主要的原因。(2)通
2020-05-20 11:31:24 465
原创 算法工具 B+Tree 可视化
通过B+Tree 可视化直观操作理解下B+Tree的插入,查找,更新和删除过程https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html数据结构可视化:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html...
2020-04-29 10:22:56 595
原创 java类的实例化顺序
java类的实例化顺序1. 父类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行2. 子类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行3. 父类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行4. 父类构造方法5. 子类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行6. 子类构造方法总结:父类静态成员和静态代码块->子类静态成员和静态代码块->...
2019-12-06 15:18:24 371
原创 mysql树级查询父节点,子节点集合
准备工作1、表结构及数据CREATE TABLE `tbl_group_ext` ( `GRP_ID` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', `PAR_ID` int(10) DEFAULT NULL COMMENT '父级节点', `GRP_NM` varchar(20) DEFAULT NULL COMMENT '节点名称'...
2019-12-05 17:09:13 3317
原创 后端 Date 时间 传到前端,相差8小时
1.问题后台时间正确,返回给前台的时间不正确,和后台差8个小时后台打印的时间如下:数据库存储时间如下:接口返回给前台的时间如下:相差8个小时原因spring中对于@RestController或者@Controller+@ResponseBody注解的接口方法的返回值默认是Json格式,所以当对于date类型的数据,在返回浏览器端是会被spring-boot默认的Jack...
2019-12-04 16:11:11 5976 2
原创 数据库建表规则(三大范式)
数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)2.第二范式(确保表中的每列都和主键相关)3.第三范式(确保每列都和主键列直接相关,而不是间接相关)下面用...
2019-11-26 14:37:52 669
原创 Redis缓存穿透、缓存雪崩、redis并发问题 并发竞争key的解决方案
1. 缓存穿透在大多数互联网应用中,缓存的使用方式如下图所示:1、当业务系统发起某一个查询请求时,首先判断缓存中是否有该数据;2、如果缓存中存在,则直接返回数据;3、如果缓存中不存在,则再查询数据库,然后返回数据。了解了上述过程后,下面说说缓存穿透。1.1 什么是缓存穿透?业务系统要查询的数据根本就不存在!当业务系统发起查询时,按照上述流程,首先会前往缓存中查询,由于缓存中不存在,...
2019-11-25 15:05:12 127
原创 多线程面试题
1.什么是线程线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100 毫秒,那么用十个线程完成改任务只需 10 毫秒。Java在语言层面对多线程提供了很好的支持。2.线程和进程有什么区别从概念上:进程 :一个程序对一个数据集的动态执行过程,是分配资源的...
2019-11-21 17:43:37 220
原创 Java并发之Semaphore的使用
一.简介 Java并发包中另外一个重量级的类Semaphore,这个类从字面意义上理解是"信号量"。 那么什么是信号量呢?我用一种比较通俗的方式来跟大家解释一下,就是在该类初始化的时候,给定一个数字A,每个线程调用acquire()方法后,首先判断A是否大于0,如果大于0,就将A减去1,然后执行对应的线程,如果不大于0,那么就会阻塞,直到其他线程调用了release()方法,将A加上1...
2019-11-21 16:23:28 118
原创 如何防止恶意攻击短信验证码接口
1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天。2、短信发送时间间隔限制:限制同一个手机号码重复发送的时间间隔。通常设置为60-120秒,前端做倒计时限制,时间未到不能点击发送短信按钮,后台也做时间间隔限制,时间未到不能发送短信。3、IP地址限制:设置IP白名单,并限制每个IP地址每天的最大发送次数。防止通过同一个IP地址不同...
2019-11-19 10:27:02 615
原创 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl...
2019-10-24 11:36:32 1471 1
原创 基本类型和包装类型的区别
Java 的每个基本类型都对应了一个包装类型,比如说 int 的包装类型为 Integer,double 的包装类型为 Double。基本类型和包装类型的区别主要有以下 4 点。01、包装类型可以为 null,而基本类型不可以别小看这一点区别,它使得包装类型可以应用于 POJO 中,而基本类型则不行。POJO 是什么呢?这里稍微说明一下。POJO 的英文全称是 Plain Ordinary...
2019-10-22 16:36:51 158
原创 Java jdk8实现 部门树的递归编写(代码简单)
这段代码比较简单,主要是 **JDK8新特性之Stream流的应用,还有递归写法而已**。JDK8新特性之Stream流往事有很对例子讲解,这里就不做讲解了。 **直接上代码吧,不懂得可以留言**package com.otc.infra.utils;import java.util.ArrayList;import java.util.List;import ja...
2019-10-22 11:37:10 3386 9
原创 SpringBoot 打jar包 部署启动
1、配置好电脑 maven 环境变量2、项目的maven配置. pom.xml 文件 主要内容:(1) 设置 packaging 为jar (2)configuration 为SpringBoot 项目启动类。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org...
2019-07-08 14:37:40 517
原创 swagger报错 java.lang.NumberFormatException: For input string: ""
swagger报错如下:java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[na:1.8.0_171] at java.lang.Long.parseLong(L...
2019-07-04 18:09:21 12024 3
原创 mybatis 一对一,一对多
model 类://班级public class Clazz implements Serializable{ private Integer claId; private String claName; }//教师public class Teacher implements Serializable{ private Integer teaId; private Stri...
2019-07-04 17:04:22 281
原创 使用了mybatis级联查询,结果通过springboot返回json时报的错
报错如下:2019-07-03 16:42:04.486 ERROR [infra-app,7738e9d06a2b0d76,7738e9d06a2b0d76,true] 7912 --- [ XNIO-1 task-3] c.o.w.c.e.GlobalExceptionHandler : handleRuntimeException start, uri:/departm...
2019-07-03 17:31:56 437
原创 String 类的replace方法替换字符串“无效”、“不起作用”原因
为了去掉"abcdefg"中间的cpublic class Main { public static void main(String[] args) { String s = "abcdefg"; s.replace("c",""); System.out.println(s); }}//输出结果abcdefg问题所在...
2019-02-20 16:54:23 17800 6
原创 java 路径中有manager报404问题解决
访问路径:/manager/user/list.html现象:本地项目在tomcat中访问路径可以正常访问,但是在测试环境中访问报404,找不到访问路径!我分析原因,可能是tomcat有关系,最终发现:1、测试环境的tomcat/webapp2、本地tomcat这样大家应该都清楚原因了吧,本地tomcat下的文件被我清除了,测试环境的tomcat自带解压文件会带有man...
2018-12-25 11:46:26 778
原创 java代码性能优化总结
优化的目的: 1、提高代码运行的效率 2、减小代码的体积 1、把一个基本数据类型转为字符串,基本数据类型.toString()是最快的方式、String.valueOf(数据)次之、数据+””最慢 (1)String.valueOf()方法底层调用了Integer.toString()方法,但是会在调用前做空判断 (2)Integer.toString()方
2018-01-29 19:46:26 331
原创 数据库事务隔离级别(脏读、幻读、不可重复读)
一、数据库事务隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。√: 可能出现 ×: 不会出现脏读不可重复读幻读Read un
2017-06-22 14:51:24 3800 4
转载 Javascript 点击div之外任何地方,隐藏div
document.onclick = function (event) { var e = event || window.event; var elem = e.srcElement || e.target; while (elem) { if (elem != document) { if (
2016-04-13 16:16:54 445
原创 Oracle 删除重复数据只留一条
Oracle 删除重复数据只留一条查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判
2016-04-12 16:57:09 358
原创 sql优化注意方法
处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: se
2016-01-21 17:52:26 443
原创 mybitis 用不同数据库模糊查询的 sql 语句的写法
oracle数据库: Java代码 SELECT * FROM user WHERE name like CONCAT('%',#{name},'%') 或 Java代码 SELECT * FROM user WHERE name like '%'||#{name}
2015-11-26 19:05:31 590
原创 linux常用命令
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui
2015-08-31 15:31:05 272
原创 iframe内嵌页面跳转时主页面时跳到页面顶部的解决方法
(1)session过期后登陆页面跳出iframe页面问题 登陆页面增加javascript:function window.onload() { if(window.parent.length>0) window.parent.location=location; } 或者:if (window != top)
2015-07-15 09:31:09 3191
Java开发微信支付V3 jsApi 扫码支付 Demo
2015-07-17
菜单按钮权限管理系统
2015-07-14
springMVC+spring+mybatis事务问题
2015-04-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人