自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

努力,拼搏,走成功之道。。。。

  • 博客(31)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 微信支付body中文时,签名失败,乱码问题解决方案

主要是body中文问题,解决起来真是醉了,百度了好多文章都没有彻底解决的,各种问题,害的我哭了好几天!废话不多说了,开始进入正题:因为公司的项目要用微信支付,部署时候发现总是报签名错,经过排查,是编码问题。(如果大家没时间,请直接查看第三种解决方案) 第一种解决方案:   tomcat在window环境默认编码是gbk,所以要设置tomcat编码为utf-8。    第一步:在...

2018-08-02 10:53:51 8405 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 21277

原创 poi下载,富文本html转word,及微软office打不开问题

java poi下载,富文本html转word,及微软office打不开问题

2022-03-21 10:42:55 1055

原创 24个经典的MySQL索引问题,你都遇到过哪些?

1、什么是索引?索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。2、索引有哪些优缺点?索引的优点(1)可以大大加快数据的检索速度,这也是创建索引的最主要的原因。(2)通

2020-05-20 11:31:24 432

原创 算法工具 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 548

原创 java类的实例化顺序

java类的实例化顺序1. 父类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行2. 子类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行3. 父类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行4. 父类构造方法5. 子类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行6. 子类构造方法总结:父类静态成员和静态代码块->子类静态成员和静态代码块-&gt...

2019-12-06 15:18:24 318

原创 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 3192

原创 后端 Date 时间 传到前端,相差8小时

1.问题后台时间正确,返回给前台的时间不正确,和后台差8个小时后台打印的时间如下:数据库存储时间如下:接口返回给前台的时间如下:相差8个小时原因spring中对于@RestController或者@Controller+@ResponseBody注解的接口方法的返回值默认是Json格式,所以当对于date类型的数据,在返回浏览器端是会被spring-boot默认的Jack...

2019-12-04 16:11:11 5755 2

原创 数据库建表规则(三大范式)

数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)2.第二范式(确保表中的每列都和主键相关)3.第三范式(确保每列都和主键列直接相关,而不是间接相关)下面用...

2019-11-26 14:37:52 625

原创 Redis缓存穿透、缓存雪崩、redis并发问题 并发竞争key的解决方案

1. 缓存穿透在大多数互联网应用中,缓存的使用方式如下图所示:1、当业务系统发起某一个查询请求时,首先判断缓存中是否有该数据;2、如果缓存中存在,则直接返回数据;3、如果缓存中不存在,则再查询数据库,然后返回数据。了解了上述过程后,下面说说缓存穿透。1.1 什么是缓存穿透?业务系统要查询的数据根本就不存在!当业务系统发起查询时,按照上述流程,首先会前往缓存中查询,由于缓存中不存在,...

2019-11-25 15:05:12 104

原创 多线程面试题

1.什么是线程线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100 毫秒,那么用十个线程完成改任务只需 10 毫秒。Java在语言层面对多线程提供了很好的支持。2.线程和进程有什么区别从概念上:进程 :一个程序对一个数据集的动态执行过程,是分配资源的...

2019-11-21 17:43:37 191

原创 Java并发之Semaphore的使用

一.简介  Java并发包中另外一个重量级的类Semaphore,这个类从字面意义上理解是"信号量"。  那么什么是信号量呢?我用一种比较通俗的方式来跟大家解释一下,就是在该类初始化的时候,给定一个数字A,每个线程调用acquire()方法后,首先判断A是否大于0,如果大于0,就将A减去1,然后执行对应的线程,如果不大于0,那么就会阻塞,直到其他线程调用了release()方法,将A加上1...

2019-11-21 16:23:28 88

原创 如何防止恶意攻击短信验证码接口

1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天。2、短信发送时间间隔限制:限制同一个手机号码重复发送的时间间隔。通常设置为60-120秒,前端做倒计时限制,时间未到不能点击发送短信按钮,后台也做时间间隔限制,时间未到不能发送短信。3、IP地址限制:设置IP白名单,并限制每个IP地址每天的最大发送次数。防止通过同一个IP地址不同...

2019-11-19 10:27:02 528

原创 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 1286 1

原创 基本类型和包装类型的区别

Java 的每个基本类型都对应了一个包装类型,比如说 int 的包装类型为 Integer,double 的包装类型为 Double。基本类型和包装类型的区别主要有以下 4 点。01、包装类型可以为 null,而基本类型不可以别小看这一点区别,它使得包装类型可以应用于 POJO 中,而基本类型则不行。POJO 是什么呢?这里稍微说明一下。POJO 的英文全称是 Plain Ordinary...

2019-10-22 16:36:51 142

原创 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 3317 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 485

原创 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 11682 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 251

原创 使用了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 397

原创 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 17098 6

原创 java 路径中有manager报404问题解决

访问路径:/manager/user/list.html现象:本地项目在tomcat中访问路径可以正常访问,但是在测试环境中访问报404,找不到访问路径!我分析原因,可能是tomcat有关系,最终发现:1、测试环境的tomcat/webapp2、本地tomcat这样大家应该都清楚原因了吧,本地tomcat下的文件被我清除了,测试环境的tomcat自带解压文件会带有man...

2018-12-25 11:46:26 734

原创 java代码性能优化总结

优化的目的:    1、提高代码运行的效率   2、减小代码的体积  1、把一个基本数据类型转为字符串,基本数据类型.toString()是最快的方式、String.valueOf(数据)次之、数据+””最慢 (1)String.valueOf()方法底层调用了Integer.toString()方法,但是会在调用前做空判断 (2)Integer.toString()方

2018-01-29 19:46:26 295

原创 数据库事务隔离级别(脏读、幻读、不可重复读)

一、数据库事务隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。√: 可能出现    ×: 不会出现脏读不可重复读幻读Read un

2017-06-22 14:51:24 3758 4

原创 bootstrap 表头组合

第一种方案:                                行政区            小区名称            父小区                业务信息锁定                楼盘库信息锁定                                        小区锁定

2017-06-15 11:32:13 5954

转载 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 425

原创 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 327

原创 sql优化注意方法

处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:     se

2016-01-21 17:52:26 432

原创 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 559

原创 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 254

原创 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 3101

java反编译工具

java反编译工具(JD-GUI),用来查看java class文件......

2018-06-13

js网页版抽奖小工具(试试吧)

下载,即可看到效果,图片抽奖。 每人只限中奖一次,灵活设置奖项个数。 按照说明操作即可,简单,方便,快捷,公司抽奖,年会抽奖。

2017-12-15

Java开发微信支付V3 jsApi 扫码支付 Demo

整理出来包括扫码支付和jsapi支付的版本的demo,代码非常的详细,很多容易出错的地方我都注释了出来,报错后台代码和前台代码的demo,前台包括二维码生成demo,另外增加了java版本处理微信支付回调通知的代码demo,整合了最近项目上所有遇见的相关问题和处理办法

2015-07-17

菜单按钮权限管理系统

我权限项目分为上左右三部分,5张表:用户表,角色表,资源表(分为权限树,还有页面的按钮资源),用户角色中间表,角色资源中间表。通过登陆用户id联查可以得到相应的权限,展现给用户!并将该用户的资源权限保存到ehcache缓存中,自定义拦截器,防止用户没有登陆,或没有权限直接拼接url访问!资源树,利用的是ztree,并且完成了资源的回显,重新赋权的功能!按钮资源使用的是自定义标签进行显示或隐藏的!我用的是mysql数据库,我也把数据库导出,方便网友操作查看效果图! 我这个项目有缺点就是权限按钮时,我把它放进了session,方便取出,没有放进缓存! 亲爱的网友们,这是我自己第一次做权限,如果我有什么地方做的不足,望你们多担待,给我指出来,我再进行改正!我的项目仅为参考,谢谢!

2015-07-14

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

TA关注的人

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