自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 问答 (1)
  • 收藏
  • 关注

原创 mybatis一对多分页数据缺少问题解决方案

1,通过子查询的方式即可解决pageHelper分页中少取数据问题 <resultMap id="BaseResultMap" type="com.tcly.mall.vo.ums.UmsMomentsVO"> <id column="id" jdbcType="BIGINT" property="id"/> <result column="code" jdbcType="VARCHAR" property="code"/>

2021-01-19 16:01:02 21

原创 redis实现序列号自增

1,利用redis的原子类一般都是 每天从1开始增长,生成的序列号带上日志就是唯一的了。 @Autowired private RedisTemplate redisTemplate; public String generateCodeString(String type) { String date = DatePattern.PURE_DATE_FORMAT.format(new Date()); if (redisTemplate.getCon

2021-01-18 16:47:40 98

原创 自定义校验注解实现ConstraintValidator

1,写注解/** * @author haitao.li * @title: IsEmail * @description: * @date 2020/12/1614:12 */@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.FIELD, ElementType.PARAMETER})@Constraint(validatedBy = IsEmailValidation.class)public @i

2020-12-16 16:06:39 54

原创 springboot集成mybatis配置多数据源

1,添加pom文件<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency>

2020-12-16 11:24:09 15

原创 RedisTemplate的keys模糊匹配方法为空

应该改为StringRedisTemplate的keys方法,不应该使用RedisTemplate。

2020-11-11 22:12:29 45

转载 监控体系模型分析之四层模型

监控系统的核心模型OSV模型是监控系统的骨髓,是开发监控系统最基本的核心数据结构,可谓万变不离其中。今天我们来谈谈监控系统的骨骼部分,监控体系的四层监控模型。监控是运营的核心和基础,手段是将所有与运营相关的关键监控对象都监控起来,例如我们要监控设备有没有宕机、服务器负载有没有跑高、网络有没有中断、服务有没有崩溃、服务质量有没有达到用户期望、SLA有没有达到等等不一而足。不同行业所要监控的监控对象集不同,为了满足特定行业的运营需要我们必须对监控对象集进行定制。在分析OSV模型时,我们发现监控对象绝非是离散

2020-10-28 10:31:08 82

转载 Redis教程-RDB和AOF持久化

Redis 持久化方式RDB快照概述在默认情况下, Redis 将数据库快照保存在名字为 dump.rdb的二进制文件中。你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。你也可以通过调用 SAVE或者 BGSAVE , 手动让 Redis 进行数据集保存操作。 比如说, 以下设置会让 Redis 在满足“ 60 秒内有至少有 1000 个键被改动”这一条件时, 自动保存一次数据集:save 60 1000这种持久化方式被称为快

2020-10-22 15:50:14 17

转载 kafka 线上真实环境实战及调优,参数配置详解

kafka 商业环境实战-kafka生产环境规划kafka 商业环境实战-kafka生产者和消费者吞吐量测试kafka 商业环境实战-kafka生产者Producer参数设置及参数调优建议

2020-10-21 16:01:45 41

转载 mysql中delete、truncate、drop的区别有哪些?

MySQL删除数据的方式都有哪些?咱们常用的三种删除方式:通过 delete、truncate、drop 关键字进行删除;这三种都可以用来删除数据,但场景不同。一、从执行速度上来说drop > truncate >> DELETE二、从原理上讲1、DELETEDELETE from TABLE_NAME where xxx1、DELETE属于数据库DML操作语言,只删除数据不删除表的结构,会走事务,执行时会触发trigger;2、在 InnoDB 中,DELETE其实并不

2020-10-21 09:50:42 41

转载 springboot集成redis

1 springboot集成redis2 springboot整合redis及redis工具类撰写

2020-10-19 15:50:51 44

原创 tomcat请求超时错误问题

1,如图在tomcat的server.xml中,connectionTimeout=20000,20000单位ms,也就是20s,超过20s的请求都会报超时。在web项目中遇到网络问题,下载文件超过20s会报这个错:2,解决办法网络问题无法更改的情况下,可以设置connectionTimeout的值,-1表示没有超时上限。...

2020-10-19 15:42:21 162

原创 Excel自动为行编号

1,输入1,2选中2,鼠标移到右下角,光标会出现一个黑色十字注意:下图没有出现黑色十字是因为截图原因3,双击黑色十字,就会如图一样编号

2020-10-19 10:33:26 17

原创 算法-冒泡排序

package org.lht.boot.lang.suanfa;/** * @author LiHaitao * @description 冒泡排序 * @date 2020/10/14 16:44 **/public class BubbleSort { public static void main(String[] args) { int[] arr = {2, 1, 5, 8, 3, 9, 4, 7, 8, 6, 5, 3}; for (

2020-10-14 17:01:11 17

原创 算法-100以内素数

package org.lht.boot.lang.suanfa;public class PrimeNumber { public static void main(String[] args) { int N = 100; for (int i = 1; i < N; i++) { if (judgePrime(i)) System.out.print(i + " ");

2020-10-14 16:27:48 37

原创 算法-DP爬楼梯问题

package org.lht.boot.lang.suanfa;/** * 思路分析:总次数=最后一步走了一步的次数+最后一步走两步的次数 * 阶 次数 * 1 1 * 2 2 * 3 3最后走一步(2阶上)2次+最后走两步(1阶上)1次 * 4 5 最后走一步3阶上的次数+最后走两步2阶上的次数=5 */class Solution { public int clim

2020-10-14 15:44:00 55

原创 算法-统计1的个数

package org.lht.boot.lang.suanfa;/** * @author LiHaitao * @description * @date 2020/10/14 13:13 **/public class BitCount { /** * 通过位移逐位去判断是否为1 */ public static int bitCount(int n) { int count = 0; while (n != 0) {

2020-10-14 13:44:33 66

原创 数据结构 图形演示网址

https://www.cs.usfca.edu/~galles/visualization/RedBlack.html

2020-10-14 11:03:23 32

原创 Springboot集成ElasticSearch详解(付代码详解)

一、ElasticSearch 简介. 1、简介. 2、特性. 3、使用场景. 二、ElasticSearch 基础概念. 1、ElaticSearch 和 DB 的关系. 2、索引. 3、文档. 4、映射. 三、SpringBoot 项目引入 ElasticSearch 依赖. 1、Maven 引入相关依赖. 2、ElasticSearch 连接配置. 四、索引操作示例. 1、Restful 操作示例. 2、Java 代码示例. 五、文档操作示例. 1、Restful 操作

2020-09-13 20:39:35 140

原创 MySQL如何使用索引

MySQL如何使用索引?索引用于快速找出在某个列中有一特定值的行。对相关列使用索引是提高 SELECT 操作 性能的最佳途径。 查询要使用索引最主要的条件是查询条件中需要使用索引关键字,如果是多列索引,那 么只有查询条件使用了多列关键字最左边的前缀时,才可以使用索引,否则将不能使用索引。1.使用索引在 MySQL 中,下列几种情况下有可能使用到索引。 (1)对于创建的多列索引,只要查询的条件中用到了最左边的列,索引一般就会被使用, 举例说明如下。 首先按company_id,moneys的顺序创建一

2020-08-24 17:19:17 93

原创 通过 EXPLAIN 分析低效 SQL的执行计划

1,先看例子每个列的简单解释如下: select_type:表示 SELECT 的类型,常见的取值有 SIMPLE(简单表,即不使用表连接 或者子查询)、PRIMARY(主查询,即外层的查询)、UNION(UNION 中的第二个或 者后面的查询语句)、SUBQUERY(子查询中的第一个SELECT)等。 table:输出结果集的表。 type:表示表的连接类型,性能由好到差的连接类型为 system(表中仅有一行,即 常量表)、const(单表中最多有一个匹配行,例如 primary key

2020-08-24 16:29:30 41

原创 Mysql面试题大全

1、SQL中聚合函数有哪些?聚合函数是对一组值进行计算并返回单一的值的函数,它经常与select语句中的group by子句一同使用。● avg():返回的是指定组中的平均值,空值被忽略。● count():返回的是指定组中的项目个数。● max():返回指定数据中的最大值。● min():返回指定数据中的最小值。● sum():返回指定数据的和,只能用于数字列,空值忽略。2、SQL之连接查询(左连接和右连接的区别)?● 外连接:● 左连接(左外连接):以左表作为基准进行查询,左表数据会全

2020-08-20 15:42:40 457

原创 Java中集合类问题

1、HashMap排序题已知一个 HashMap<Integer,User>集合, User 有 name(String)和 age(int)属性。请写一个方法实现对HashMap 的排序功能,该方法接收 HashMap<Integer,User>为形参,返回类型为 HashMap<Integer,User>,要求对 HashMap 中的 User 的 age 倒序进行排序。排序时 key=value 键值对不得拆散。注意:要做出这道题必须对集合的体系结构非常的熟悉。

2020-08-19 14:10:46 86

原创 Java中IO的一些问题

1、Java 中有几种类型的流?按照流的方向:输入流(inputStream)和输出流(outputStream)按照实现功能分:节点流(可以从或向一个特定的地方(节点)读写数据。如 FileReader)和处理流(是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如 BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。)按照处理数据的单位: 字节流和字符流。字节流继承于 InputStream 和 Outpu

2020-08-19 13:56:47 33

原创 Java基本数据类型问题

1、Java 的基本数据类型都有哪些各占几个字节?按照口诀记忆:● 数据类型:byte short int long float double boolean char● 占用字节数:12484812(byte对应1,short对应2,以此类推)2、String 是基本数据类型吗?通过JDK源代码可以看到,Stirng是class,是引用类型,底层用 char 数组实现的。3、short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1 有错吗?前者

2020-08-19 11:04:39 71

原创 Java异常详解

1、final、finally、finalize 的区别?● final:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,被其修饰的类不可继承。● finally:异常处理语句结构的一部分,表示总是执行。● finalize:Object 类的一个方法,所以Java对象都有这个方法,当某Java对象没有更多的引用指向的时候,会被垃圾回收器回收,该对象被回收之前,由垃圾回收器来负责调用此方法,通常在该方法中进行回收前的准备工作。该方法更像是一个对象生命周期的临终方法,当该方法被系统调用则代表该

2020-08-19 10:49:45 32

原创 Java面向对象问题

1、面向对象包括哪些特性,怎么理解的?(1)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。(2)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了

2020-08-18 18:57:01 41

原创 JavaSE基础问题

1, & 和 && 的区别?&运算符是:逻辑与;&&运算符是:短路与。&和&&在程序中最终的运算结果是完全一致的,只不过&&存在短路现象,当&&运算符左边的表达式结果为false的时候,右边的表达式不执行,此时就发生了短路现象。如果是&运算符,那么不管左边的表达式是true还是false,右边表达式是一定会执行的。这就是他们俩的本质区别。3、两个对象值相同equals结果为true,但却可有

2020-08-18 18:54:39 32

原创 Java中关于String,StringBuilder,StringBuffer的一些问题

1、String类可以被继承吗?String类在声明时使用final关键字修饰,被final关键字修饰的类无法被继承。接下来我们可以看一下String类的源代码片段:public final class String implements java.io.Serializable, Comparable<String>,CharSequence { /** The value is used for character storage. */ private fin

2020-08-18 18:35:30 32

原创 动态代理详解

1,jdk动态代理jdk动态代理,需要有顶层接口才能实现,mybatis的mapper文件,使用了动态生成字节码技术package org.lht.boot.lang.proxy;public interface IStudentService { /** * 交学费 */ void pay(); /** * 上课 */ void attendClass();}package org.lht.boot.lang.p

2020-08-17 15:28:50 38

原创 面经:苏州京东方研发面试

首先自我介绍,然后技术面试官开发提问,然后是一个像是业务的面试官,最后是HR提问,问了家庭成员,有没有女朋友,发展规划等。下面是技术问题:1,介绍一下商城的下单流程?2,如何防止多次请求?3,数据库事务的四大特性?4,final关键字的用法5,redis使用场景,以及雪崩后的处理方式?6,用过springboot监视器吗?7,mysql的编码理解?8,http状态码302是什么含义?9,TCP和UDP的区别?10,websocket长连接的理解?11,你在项目中解决了什么难题?12,

2020-07-31 13:56:01 210

原创 Thread.yield( )方法详解

Java线程中的Thread.yield( )方法,译为线程让步。顾名思义,就是说当一个线程使用了这个方法之后,它就会把自己CPU执行的时间让掉,让自己或者其它的线程运行,注意是让自己或者其他线程运行,并不是单纯的让给其他线程。yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;也有可能是当前线程又进入到“运行状态”继续运行!...

2020-07-31 13:17:30 95

转载 vue路由this.route.push跳转页面不刷新

Vue路由this.route.push跳转页面不刷新一、背景介绍:在vue项目开发中,使用路由进行页面跳转时,路由所跳转的页面不进行刷新。也就是vue生命周期函数没有执行(created、mounted钩子函数)。案例:A页面:B页面:问题:当在A页面第一点击按钮到B页面时,一切正常,当返回到A页面再次点击按钮时,B页面没有执行mounted钩子函数,结果导致mounted函数中查询方法不执行。二、解决方法:1、使用activated:{}周期函数代替mounted:{}函数即可。2、

2020-07-26 15:24:55 338

转载 Java几种线程池的核心线程数和最大线程数详解

摘自:Java线程池的核心线程数和最大线程数总是容易混淆怎么办

2020-07-23 13:21:55 1949

翻译 springbootadmin中项目一直处于未开启健康检查状态,但已注册到nacos

1,服务配置了 context-path 这个属性,导致 Spring Boot Admin 一直获取不到这个服务的端点信息2.没有引入下面的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>查看:https://bl

2020-07-15 14:27:24 387

原创 flyway配置详解

flyway.baseline-description对执行迁移时基准版本的描述.flyway.baseline-on-migrate当迁移时发现目标schema非空,而且带有没有元数据的表时,是否自动执行基准迁移,默认false.flyway.baseline-version开始执行基准迁移时对现有的schema的版本打标签,默认值为1.flyway.check-location检查迁移脚本的位置是否存在,默认false.flyway.clean-on-validation-error当发现校验错

2020-07-08 10:20:39 857

原创 springboot和vue前后端分离跨域配置

1,后端配置package org.lht.boot.security.server.common.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.concurrent.ConcurrentTaskExecutor;import org

2020-07-07 23:14:19 129

原创 spring security跨域问题

1,添加如下代码http.cors().and().csrf().disable().authorizeRequests() //处理跨域请求中的Preflight请求 .requestMatchers(CorsUtils::isPreFlightRequest) .permitAll()注意,加载最前面不能加在anyrequest后面...

2020-07-07 23:08:13 145

转载 两个SpringSecurity本地项目登录冲突问题

问题产生因为最近要做资源认证服务器,就搞了两个集成SpringSecurity的项目,在开启了loginPage("/portal/login")后,登录的时候发现了一个问题:8085端口的项目A和8080端口的项目B不可以同时登录,A登录了,B再登录就会把A的登录状态刷新掉。问题原因经过一番研究,原因是session会在浏览器保存一个cookie用来识别session,看上去没什么问题,但是cookie是不区分端口号的,在同一个ip下cookie是共享的。也就是说,我们本地项目都是localhos

2020-07-02 15:32:59 233

原创 Springboot和SpringCloud版本匹配

查看地址:https://start.spring.io/actuator/info或者:https://spring.io/projects/spring-cloud#overview

2020-06-18 17:24:27 112

转载 Oauth2授权码模式的请求过程

https://www.cnblogs.com/fengzheng/p/11810340.html

2020-04-26 13:16:24 233

空空如也

空空如也

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

TA关注的人 TA的粉丝

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