java
文章平均质量分 56
追风-开发之路
这个作者很懒,什么都没留下…
展开
-
poi下载,富文本html转word,及微软office打不开问题
java poi下载,富文本html转word,及微软office打不开问题原创 2022-03-21 10:42:55 · 1156 阅读 · 0 评论 -
java类的实例化顺序
java类的实例化顺序1. 父类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行2. 子类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行3. 父类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行4. 父类构造方法5. 子类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行6. 子类构造方法总结:父类静态成员和静态代码块->子类静态成员和静态代码块->...原创 2019-12-06 15:18:24 · 356 阅读 · 0 评论 -
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 · 3297 阅读 · 0 评论 -
后端 Date 时间 传到前端,相差8小时
1.问题后台时间正确,返回给前台的时间不正确,和后台差8个小时后台打印的时间如下:数据库存储时间如下:接口返回给前台的时间如下:相差8个小时原因spring中对于@RestController或者@Controller+@ResponseBody注解的接口方法的返回值默认是Json格式,所以当对于date类型的数据,在返回浏览器端是会被spring-boot默认的Jack...原创 2019-12-04 16:11:11 · 5950 阅读 · 2 评论 -
Redis缓存穿透、缓存雪崩、redis并发问题 并发竞争key的解决方案
1. 缓存穿透在大多数互联网应用中,缓存的使用方式如下图所示:1、当业务系统发起某一个查询请求时,首先判断缓存中是否有该数据;2、如果缓存中存在,则直接返回数据;3、如果缓存中不存在,则再查询数据库,然后返回数据。了解了上述过程后,下面说说缓存穿透。1.1 什么是缓存穿透?业务系统要查询的数据根本就不存在!当业务系统发起查询时,按照上述流程,首先会前往缓存中查询,由于缓存中不存在,...原创 2019-11-25 15:05:12 · 120 阅读 · 0 评论 -
Java并发之Semaphore的使用
一.简介 Java并发包中另外一个重量级的类Semaphore,这个类从字面意义上理解是"信号量"。 那么什么是信号量呢?我用一种比较通俗的方式来跟大家解释一下,就是在该类初始化的时候,给定一个数字A,每个线程调用acquire()方法后,首先判断A是否大于0,如果大于0,就将A减去1,然后执行对应的线程,如果不大于0,那么就会阻塞,直到其他线程调用了release()方法,将A加上1...原创 2019-11-21 16:23:28 · 104 阅读 · 0 评论 -
如何防止恶意攻击短信验证码接口
1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天。2、短信发送时间间隔限制:限制同一个手机号码重复发送的时间间隔。通常设置为60-120秒,前端做倒计时限制,时间未到不能点击发送短信按钮,后台也做时间间隔限制,时间未到不能发送短信。3、IP地址限制:设置IP白名单,并限制每个IP地址每天的最大发送次数。防止通过同一个IP地址不同...原创 2019-11-19 10:27:02 · 595 阅读 · 0 评论 -
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 · 1458 阅读 · 1 评论 -
基本类型和包装类型的区别
Java 的每个基本类型都对应了一个包装类型,比如说 int 的包装类型为 Integer,double 的包装类型为 Double。基本类型和包装类型的区别主要有以下 4 点。01、包装类型可以为 null,而基本类型不可以别小看这一点区别,它使得包装类型可以应用于 POJO 中,而基本类型则不行。POJO 是什么呢?这里稍微说明一下。POJO 的英文全称是 Plain Ordinary...原创 2019-10-22 16:36:51 · 153 阅读 · 0 评论 -
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 · 3368 阅读 · 9 评论 -
使用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 · 21360 阅读 · 0 评论 -
微信支付body中文时,签名失败,乱码问题解决方案
主要是body中文问题,解决起来真是醉了,百度了好多文章都没有彻底解决的,各种问题,害的我哭了好几天!废话不多说了,开始进入正题:因为公司的项目要用微信支付,部署时候发现总是报签名错,经过排查,是编码问题。(如果大家没时间,请直接查看第三种解决方案) 第一种解决方案: tomcat在window环境默认编码是gbk,所以要设置tomcat编码为utf-8。 第一步:在...原创 2018-08-02 10:53:51 · 8507 阅读 · 1 评论 -
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 · 17672 阅读 · 6 评论 -
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 · 505 阅读 · 0 评论 -
使用了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 · 426 阅读 · 0 评论 -
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 · 266 阅读 · 0 评论 -
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 · 11937 阅读 · 3 评论 -
java代码性能优化总结
优化的目的: 1、提高代码运行的效率 2、减小代码的体积 1、把一个基本数据类型转为字符串,基本数据类型.toString()是最快的方式、String.valueOf(数据)次之、数据+””最慢 (1)String.valueOf()方法底层调用了Integer.toString()方法,但是会在调用前做空判断 (2)Integer.toString()方原创 2018-01-29 19:46:26 · 322 阅读 · 0 评论