java
路漫漫路漫漫
这个作者很懒,什么都没留下…
展开
-
解决No thread-bound request found: Are you referring to request attributes outside of an actual web.异常
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); CompletableFuture.supplyAsync(() -> { RequestContextHolder.setRequestAttributes(servletRequestAttrib.原创 2021-10-19 15:43:18 · 2000 阅读 · 0 评论 -
树的存储结构
双亲表示法数组中的一个元素表示树中的一个结点,其中包括结点本身的信息以及结点的双亲结点在数组中的序号,树的这种存储方法称为双亲表示法孩子链表表示法其主体是一个与结点个数一样大小的一维数组,数组的每一个元素由两个域组成,一个域用来存放结点信息,另一个用来存放该结点孩子组成的单链表的引用。单链表的结构也由两个域组成,一个存放孩子结点在一维数组中的序号,另一个是指针域,指向下一个孩子。双亲孩子表示法双亲表示法是将双亲表示法和孩子表示法相结合的结果。其仍将各结点的孩子结点分别组成单链表,原创 2021-07-14 11:22:18 · 115 阅读 · 0 评论 -
满二叉树和完全二叉树
满二叉树:在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子结点都在同一层上,这样的一棵二叉树称作满二叉树完全二叉树:完全二叉树是一种叶子结点只能出现在最下层和次下层且最下层的叶子结点集中在树的左边的特殊二叉树满二叉树与完全二叉树存在如下关系:当树的深度相同时,若对树的结点按从上至下、从左到右的顺序进行编号,则在两种树上同一个位置上的结点的编号相同。显然,一棵满二叉树必定是一棵完全二叉树,而完全二叉树未必是满二叉树。...原创 2021-07-12 15:45:34 · 9282 阅读 · 0 评论 -
BFS和DFS模板
BFS:/** * Return the length of the shortest path between root and target node. */int BFS(Node root, Node target) { Queue<Node> queue; // store all nodes which are waiting to be processed int step = 0; // number of steps neeeded .原创 2021-06-26 10:58:56 · 135 阅读 · 0 评论 -
jdk1.8 HashMap红黑树 笔记
static <K,V> TreeNode<K,V> balanceInsertion(TreeNode<K,V> root, TreeNode<K,V> x) { x.red = true; for (TreeNode<K,V> xp, xpp, xppl, xppr;;) { // x新节...原创 2021-05-06 17:14:04 · 141 阅读 · 0 评论 -
jdk1.8扩容 resize() 笔记
final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; // 初始化节点,第一次为null,第二次16 int oldCap = (oldTab == null) ? 0 : oldTab.length; // 第二次16 int oldThr = threshold; // 第一次12 int newCap, newThr = 0; if (..原创 2021-04-03 10:40:47 · 413 阅读 · 3 评论 -
Java的ConcurrentHashMap
Java的ConcurrentHashMap简介ConcurrentHashMap是Java中的一个线程安全且高效的HashMap实现。平时涉及高并发如果要用map结构,那第一时间想到的就是它。那么我就这几个方面了解一下ConcurrentHashMap:1)ConcurrentHashMap在JDK8里结构2)ConcurrentHashMap的put方法、szie方法等3)C...转载 2020-03-27 13:34:41 · 179 阅读 · 0 评论 -
什么是ThreadLocal
一、什么是ThreadLocal声明:本文使用的是JDK 1.8首先我们来看一下JDK的文档介绍:/** * This class provides thread-local variables. These variables differ from * their normal counterparts in that each thread that accesse...转载 2020-03-09 09:57:45 · 140 阅读 · 0 评论 -
Synchronized与Lock区别
Java里面的两种管程模型之前我们了解了Java里面的一种管程模型monitor,synchronized就是基于Monitor实现的管程模型,在这个模型里面,synchronized中用锁解决了资源互斥问题,然后提供了wait(),notify(),notifyAll() 一组方法解决了线程同步问题,Java里面另一种管程模型就是Lock+Condition, 在此模型中 Lock是用来解决...原创 2020-03-02 16:22:37 · 199 阅读 · 0 评论 -
集合转Map工具类
项目中使用的,拿去就可以用.package com.qsqx.utils;import java.util.Collection;import java.util.Collections;import java.util.List;import java.util.Map;import java.util.function.Function;import org.apach...原创 2019-11-18 11:07:58 · 329 阅读 · 0 评论 -
初识-设计模式五 工厂模式
package com.mybatis.designpatterns.factory;public class Add extends Operation { public Double getResult(){ return getNumberA() + getNumberB(); }}package com.mybatis.designpatte...原创 2019-11-04 15:42:56 · 164 阅读 · 0 评论 -
初识-设计模式四 代理模式
package com.mybatis.designpatterns.proxy;abstract class Subject { public abstract void request();}package com.mybatis.designpatterns.proxy;/** * 请求的真实类 */public class RealSubject exte...原创 2019-10-23 11:11:42 · 160 阅读 · 0 评论 -
初识-设计模式三 装饰者模式
package com.mybatis.designpatterns.decorator;abstract class Component { // 通用的抽象方法类 public abstract void run(); public abstract void swing();}package com.mybatis.designpatterns.decorat...原创 2019-10-21 17:08:51 · 127 阅读 · 0 评论 -
初识-设计模式二 策略模式
package com.mybatis.Strategist;public class Cash { /** * 收银系统: * 需求:1.客户买卖东西正常收费 * 2.打折收费 * 3.返利 * @param args */ public static void main(String[] ar...原创 2019-10-16 15:47:29 · 142 阅读 · 0 评论 -
UML图样例
原创 2019-10-16 13:43:32 · 197 阅读 · 0 评论 -
初识-设计模式一 简单工厂模式
示例一:@Data // 注解方式生成get set 方法 abstract class Operation { // 抽象类 ,继承使用方法和字段 private Double numberA; private Double numberB; public Double getResult(){ return 0D; }}p...原创 2019-10-16 10:32:08 · 155 阅读 · 0 评论 -
mvn install 异常 [ERROR] Failed to execute goal on project xxx-service: Could not resolve dependencie.
[ERROR] Failed to execute goal on project bills-service: Could not resolve dependencies for project com.qsqx:bills-service:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at com.jd.jr.eprd.sdk:epr...原创 2019-05-30 16:39:51 · 21929 阅读 · 1 评论 -
Maven多环境配置使用filter过滤不同环境
但是公司并非都有一个项目,我们也不是只负责一个项目,这样的工作方式导致每每上线时大家都心惊胆颤,实在忍受不了折磨,决定研究下maven下如何解决这个问题。找到方案后,不敢独享,将结果向大家介绍下。思路: 几个环境中主要的不同...转载 2019-06-12 15:07:41 · 430 阅读 · 0 评论 -
springboot 发送邮件
package com.example.demo.controller;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory....原创 2019-05-29 10:53:31 · 175 阅读 · 0 评论 -
SpringBoot默认日志logback配置解析
SpringBoot默认日志logback配置解析 一下文章转自: http://tengj.top/2017/04/05/springboot7/ 作者: 嘟...转载 2019-06-14 10:55:55 · 115 阅读 · 0 评论 -
springboot 记录打印日志到本地文件夹
<?xml version="1.0" encoding="UTF-8"?><!-- 说明: 1、日志级别及文件 日志记录采用分级记录,级别与日志文件名相对应,不同级别的日志信息记录到不同的日志文件中 例如:error级别记录到log_error_xxx.log或log_error.log(该文件为当前记录的日志文件),而log_error_xxx.log为归档日志, 日...原创 2019-06-11 13:59:20 · 3677 阅读 · 2 评论 -
Window10下RabbitMQ安装图文教程
一、erlang下载安装1、下载 下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads,双击.exe文件进行安装就好。...转载 2019-06-25 11:12:05 · 136 阅读 · 0 评论 -
Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning a simple key
application.yml文件键值之间要用冒号:隔开,而且冒号和值之间有一个空格,否则就报上面的错误!如果是properties文件这样写就好:原创 2019-06-12 10:20:50 · 462 阅读 · 0 评论 -
大家所推崇的Redis分布式锁真的就万无一失吗?
在单实例JVM中,常见的处理并发问题的方法有很多,比如synchronized关键字进行访问控制、volatile关键字、ReentrantLock等常用方法。但是在分布式环境中,上述方法却不能在跨JVM场景中用于处理并发问题,当业务场景需要对分布式环境中的并发问题...转载 2019-06-24 10:12:15 · 115 阅读 · 0 评论 -
Redis配置文件之————redis.conf配置及说明
基本设置 1. 备释当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写):1k =< 1000 bytes1kb =< 1024 bytes1m =< 1000000 bytes1mb =< 1024*1024 bytes1g =< 1000000000 bytes1gb =&l...转载 2019-06-27 16:02:54 · 377 阅读 · 0 评论 -
linux安装redis步骤 - 主从复制 - 哨兵配置
1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz2.解压 tar xzvf redis-4.0.8.tar.gz3.安装 cd redis-4.0.8 make cd src make install PREFIX=/usr/local/redis4.移动配置文件到安装目录下...原创 2019-07-03 13:45:21 · 178 阅读 · 0 评论 -
MySQL出现错误1205-Lock wait timeout exceeded; try restarting transaction
今天在清空mysql数据库中的表格数据时,报了如下错误,导致操作失败:上网查找了一下,了解到了该类问题出现的主要原因是:Mysql的 InnoDB存储引擎是支持事务的,事务开启后没有被主动Commit,导致该资源被长期占用,其他事务在抢占该资源时,因上一个事务的锁而导致抢占失败!因此出现 Lock wait timeout exceeded。解决办法: 方法...转载 2019-07-05 11:37:38 · 4175 阅读 · 0 评论 -
解决maven工程jar包冲突的三种方案
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org...原创 2019-07-25 15:21:29 · 3022 阅读 · 0 评论 -
初识Lambda-含API及Demo
/** 一、Lambda 表达式的基础语法:Java8中引入了一个新的操作符 "->" 该操作符称为箭头操作符或 Lambda 操作符* 箭头操作符将 Lambda 表达式拆分成两部分:** 左侧:Lambda 表达式的参数列表* 右侧:Lambda 表达式中所需执行的功能, 即 Lambda 体** 语法格式一:无参数,无返回值* (...原创 2019-08-26 17:33:38 · 247 阅读 · 0 评论 -
JDK8日期时间Api LocalDate 、LocalTime、LocalDateTime
package com.mybatis.springbootmybatis.jdk8.localdate;import java.time.*;import java.time.format.DateTimeFormatter;import java.time.temporal.TemporalAdjusters;public class Test { public stat...原创 2019-09-04 16:05:30 · 216 阅读 · 0 评论 -
logback日志
<?xml version="1.0" encoding="UTF-8"?><!---scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true-scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。- 当scan为true时,此属性生效。默认的时间间隔为1分钟-debug...原创 2019-09-27 14:46:22 · 172 阅读 · 0 评论 -
前后端联调跨域解决方案
public class CrosFilter implements Filter { @Autowired private AcmUtil acmUtil; @Override public void init(FilterConfig filterConfig) throws ServletException { } ...原创 2019-03-28 14:07:40 · 1211 阅读 · 0 评论