- 博客(105)
- 资源 (12)
- 收藏
- 关注
原创 Trie树
Trie树(又称字典树、前缀树)是一种树形结构,常用于字符串的查找、插入和删除等操作。Trie树以字符串的前缀为结点,每个结点的每个子节点对应一个字母,最终的叶子结点代表一个完整的字符串。
2023-02-09 16:40:04
155
转载 Java 异常中 e.getMessage() 和 e.toString() e.printStackTrace()的区别
Java 异常中 e.getMessage() 和 e.toString() e.printStackTrace()的区别
2023-02-06 15:34:42
2050
原创 SpringBoot 替换 if 的参数校验
Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation是对这个规范的实现,并增加了校验注解如@Email、@Length等。Spring Validation是对hibernate validation的二次封装,用于支持spring mvc参数自动校验。接下来,我们以spring-boot项目为例,介绍Spring Validation的使用。
2022-12-13 17:23:18
1614
原创 过滤器,拦截器,aop区别与使用场景
1. 什么是过滤器过滤器,顾名思义就是起到过滤筛选作用的一种事物,只不过相较于现实生活中的过滤器,这里的过滤器过滤的对象是客户端访问的web资源,也可以理解为一种预处理手段,对资源进行拦截后,将其中我们认为的杂质(用户自己定义的)过滤,符合条件的放行,不符合的则拦截下来。1.1 过滤器常见使用场景统一设置编码 过滤敏感字符 登录校验 URL级别的访问权限控制 数据压缩 1.2 springboot整合过滤器bean注入方式a) 编写Filterpublic clas.
2021-12-29 10:12:18
1940
原创 spring定时任务-文件上传进度条
spring定时任务导依赖 <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.3</ver
2021-08-09 10:09:53
409
原创 MyBatis-Plus
简介是什么参考教程:http://mp.baomidou.com/guide/MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操..
2021-08-09 10:07:46
1102
原创 策略模式和工厂模式搭配使用
策略模式和工厂模式的搭配使用可以很好地消除代码if-else的多层嵌套需求针对店下商铺,有这样一个需求,对用户客户分为了普通客户、vip客户、超级vip用户、专属vip用户4个等级,每当用户购买商品时,针对不同的用户等级和消费金额采取不同的打折优惠策略。在平常的开发当中,必然会出现多层的if-else嵌套判断,先判断用户的等级再判断用户购买商品的消费金额。弊端以上的情况出现了多层的if-else嵌套,除此之外,以后如果需求再有变动,需要再增加一个用户等级,那么又会再次添加if-else的.
2021-08-09 09:41:15
596
原创 Java必备工具库合集
1、Java自带工具方法1.1 List集合拼接成以逗号分隔的字符串//如何把list集合拼接成以逗号分隔的字符串a,b,cList<String>list=Arrays.asList("a","b","c");//第一种方法,可以用stream流Stringjoin=list.stream().collect(Collectors.joining(","));System.out.println(join);//输出a,b,c//第二种方法,其...
2021-08-07 20:36:57
342
原创 结合源码解析mybatis 的执行流程
1. SqlSessionFactory 与 SqlSession.通过前面的章节对于mybatis 的介绍及使用,大家都能体会到SqlSession的重要性了吧, 没错,从表面上来看,咱们都是通过SqlSession去执行sql语句(注意:是从表面看,实际的待会儿就会讲)。那么咱们就先看看是怎么获取SqlSession的吧:(1)首先,SqlSessionFactoryBuilder去读取mybatis的配置文件,然后build一个DefaultSqlSessionFactory。源码如下:..
2021-07-20 15:03:18
122
原创 如何解决秒杀的性能问题和超卖的讨论
一、秒杀带来了什么?秒杀或抢购活动一般会经过【预约】【抢订单】【支付】这3个大环节,而其中【抢订单】这个环节是最考验业务提供方的抗压能力的。抢订单环节一般会带来2个问题: 1、高并发 比较火热的秒杀在线人数都是10w起的,如此之高的在线人数对于网站架构从前到后都是一种考验。 2、超卖 任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过商品数量的上限,这是每个抢购活动都要面临的难题。二、如何解决?首先,产品解决方案我们就不予讨论了。我们只讨论
2021-07-13 15:22:38
263
原创 Redis持久化----RDB和AOF 的区别
关于Redis说点什么,目前都是使用Redis作为数据缓存,缓存的目标主要是那些需要经常访问的数据,或计算复杂而耗时的数据。缓存的效果就是减少了数据库读的次数,减少了复杂数据的计算次数,从而提高了服务器的性能。一、redis持久化----两种方式1、redis提供了两种持久化的方式,分别是RDB(RedisDataBase)和AOF(AppendOnlyFile)。2、RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上;3、AOF,则是换了一个角度...
2021-06-25 15:27:21
1461
原创 Oracle数据库慢查看数据库
1、查看数据库正在运行的sqlselect a.program, b.spid, c.sql_text,c.SQL_IDfrom v$session a, v$process b, v$sqlarea cwhere a.paddr = b.addrand a.sql_hash_value = c.hash_valueand a.username is not null;#查看锁select * from v$lock where type in ('TM','TX','UL
2021-06-24 09:31:10
847
1
原创 oracle查看执行最慢与查询次数最多的sql语句
前言在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻辑上做出优化处理,要么是业务特殊性所导致。如果执行频繁的SQL,往往容易遭遇一些并发性的问题。 那么如何查看ORACLE数据库某个SQL的执行频率/次数呢? 下面来看看完整的示例代码。一、查询执行最慢的sqlselect*from(selectsa.SQL_TEXT,sa.SQL_FULLTEXT,...
2021-06-23 14:37:19
538
原创 Centos安装jdk1.8的三种方法
一、手动解压安装包:1、在user目录下新建java文件夹:# cd /usr/# mkdir java# cd java2.下载jdk1.8,进入http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,复制下载目录,要注册登录才可以下载,获取下载链接。# wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/9
2021-03-01 21:58:57
1119
原创 跨域详解 been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the requeste
上面的意思就是 你访问一个什么地址被CORS 协议阻止, 没有 在Hearder 里面发现 Access-Control-Allow-Origin 的参数的 资源跨域问题的原因:浏览器出于安全考虑,限制访问本站点以为的资源。比如你有一个 网站 127.0.0.1:8080/ , 并且上面挂了一个页面 ,那么在这个页面中 ,你只访问 本站点的 资源不会受到限制,但是你如果访问其他站点,比如 127.0.0.1:8081 的资源就会受到限制。备注:暂且把 协议,域名,端口...
2021-02-26 17:57:05
15392
2
原创 Spring boot 解决中文乱码的问题
方法一:import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.filter.CharacterEncodingFilter;impo
2021-02-25 17:28:29
1105
1
原创 windows系统安装Redis详细步骤
windows系统安装Redis详细步骤一、下载windows版本的Redis官网只提供linux版本的下载,github提供有Windows版本,不过速度比较慢。在优快云上我上传了Redis-x64-3.0.504&Redis-x64-3.2.100&redis-desktop-manager-0.9.3.817,可以直接下载。官网下载地址:http://redis.io/downloadgithub下载地址:https://github.com/MSOpenTech/r
2021-02-24 15:13:02
4281
原创 判断是PC端还是移动端
var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return {//移动终端浏览器版本信息 trident: u.indexOf('Trident') > -1, //IE内核 pre.
2021-01-13 10:45:42
753
1
原创 HIVE—数据仓库
1、hive是什么?Hive是基于 Hadoop 的一个数据仓库工具:1.hive本身不提供数据存储功能,使用HDFS做数据存储;2.hive也不分布式计算框架,hive的核心工作就是把sql语句翻译成MR程序;3.hive也不提供资源调度系统,也是默认由Hadoop当中YARN集群来调度;4.可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能。2、hive和Hadoop关系Hive利用HD...
2021-01-04 22:40:33
1682
转载 jQuery kxbdMarquee 无缝滚动
转:http://code.ciaoca.com/jquery/kxbdmarquee/<marquee> 曾是 IE 下独有的一个走马灯效果的标签,其他浏览器并不兼容,于是出现了使用 JavaScript 来模拟该效果的插件。版本:jQuery v1.3.2+下载 jQuery kxbdMarquee查看 Demo使用方法载入 JavaScript 文件<script src="jquery.js"></script><scr.
2020-12-25 11:44:35
381
原创 使用etcd+confd管理nginx配置
1、前言 最近在项目中用nginx做反向代理,需要动态生成nginx的配置。大概流程是用户在页面上新增域名、http或https协议以及端口信息,后台会根据域名自动生成一个nginx的server配置,在nginx.conf配置文件中使用include将所有的server配置加载进来。遇到一个问题就是如何动态生成nginx的配置,以及配置更新。在此之前也接触过配置生成及更新,当时配置的格式都是基于xml的,使用protobuf与xml结合,先采用protobuf定义好配置的数据结构,然后将protob
2020-12-19 21:42:44
358
1
原创 全网写JVM最好的文章之一-JVM运行时数据区
JVM基础知识一个Java程序到底是如何运行的?一个Java程序,首先要经过javac编译成.class文件,.class文件是给JVM进行识别的,JVM将.class文件加载到方法区,执行引擎会执行这些字节码,执行时,会翻译成操作系统相关的函数。过程如下:Java文件->编译器->字节码->JVM->机器码JVM,JRE,JDK的关系JDK>JRE>JVM,也就是JDK包含JRE,JRE包含JVM,那么这三个到底有什么区别呢?先从最小的开始说:J
2020-12-19 21:21:00
209
1
原创 Centos7怎样更新Yum源
1. 备份原来的yum源$sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2.设置aliyun的yum源$sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Cent...
2020-04-08 12:57:06
377
原创 WebStorm一直卡在scanning files to index解决方案
最近做新的项目,cnpm install 之后node_modules 中文件暴增,导致webstorm一直卡在“Scanning files to index ......”甚至几度崩溃,切换为IntelliJ IDEA结果一致。无奈+烦躁,在网上找了解决办法,感觉以后可能还会遇到,所以将解决过程整理了一下。解决思路就是将文件过多的文件夹排除出建立索引的范围,按我的实际情况就是排除nod...
2020-03-27 22:59:14
3050
原创 搭建 SkyWalking 服务(For ElasticSearch 7)
随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,所以会深深的感受到 “银弹” 这个词是不存在的,每种架构都有其优缺点 。 ...
2020-03-19 17:27:09
2408
原创 Linux出现You have new mail in /var/spool/mail/root提示,关闭邮件提示清理内容的解决方案
第一步:关闭提示echo "unset MAILCHECK">> /etc/profilesource /etc/profile第二步:查看ls -lth /var/spool/mail/第三步:清空cat /dev/null > /var/spool/mail/root...
2020-03-18 15:08:14
1018
原创 MySQL主从不同步,全量数据恢复同步
前言当mysql主从(一主一从模式)数据不同步,常规方式解决不掉,故全量恢复数据并同步数据。发现问题首先可以由 mstaer status 观察到主从已经未同步,其次s lave status 看到 slave_sql 的运行状态是no的,而且有 error 产生错误代码1062;网上百度的跳过错误的方式并没有解决该问题,所以决定重做主从,恢复全量数据。问题解决...
2020-03-16 15:35:14
1751
原创 Module build failed: Error: Node Sass does not yet support your current environment: OS X 64-bit wit
解决办法其实很简单,就是sass不支持当前的环境,那么在当前环境重新安装一下就好了先卸载:(如果卸载不成功,直接找到node-sass文件夹,删除)1. npmuninstall--savenode-sass再安装2. npminstall--savenode-sass (cnpminstall--savenode-sass )问题就解决了。...
2020-03-05 23:19:06
2187
原创 mysql 之 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements问题
密码策略问题异常信息:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements解决办法:1、查看 mysql 初始的密码策略,输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看。2、首先需要设置密码的验证强度等级,设...
2020-03-05 15:07:48
8261
原创 ActiveMQ not running的问题
ActiveMQ not running今天,在虚拟机的Linux系统安装ActiveMQ,发现启动不了,查看状态发现是ActiveMQ not running。[root@localhost bin]# ./activemq startINFO: Loading '/root/Desktop/apache-activemq-5.15.8//bin/env'INFO: Using j...
2020-03-05 12:37:05
2126
1
原创 centos安装jdk1.7.80的rpm包
1.jdk1.7.80的rpm的包的下载地址如下,请自己选择32位还是64位,下载完之后通过vmware的共享功能共享一个文件下,然后使用cp命令copy到linux系统中去。http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html2.使用rpm命令安...
2020-03-03 15:38:01
718
原创 使用Redis SETNX 命令实现分布式锁
使用Redis的 SETNX 命令可以实现分布式锁,本文介绍其实现方法。直接进入正题,现在分布式的应用场景很多,为了保持数据的一致性,经常碰到需要对资源加锁的情形。 利用redis来实现分布式锁就是其中的一种实现方案。SETNX命令简介命令格式SETNX key value将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETN...
2020-03-01 23:37:17
528
1
原创 CentOS 7 安装ActiveMQ
1、首先进入自己的目录下面,创建并进入 activeMQ 文件夹(mkdir activeMQ)2、下载activityMQ(wget http://archive.apache.org/dist/activemq/5.14.5/apache-activemq-5.14.5-bin.tar.gz)注意1:下载时间可能会比较长,也可以自行下载安装包上传。注意2:如果此处报没有wg...
2020-01-16 17:29:49
275
原创 大数据组件图谱
大数据组件图谱文件系统 数据存储 内存技术 数据搜集 消息系统 数据处理 查询引擎 分析和报告工具 调度与管理服务 机器学习 开发平台文件系统HDFSHadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合...
2020-01-14 11:26:38
1694
原创 Linux防火墙:iptables禁IP与解封IP常用命令
在Linux下,使用ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。要封停一个IP,使用下面这条命令:iptables -I INPUT -s ***.***.***.*** -j DROP要解封一个IP,使用下面这条命令:iptables-D INPUT-s***.***.***.***-j DROP参...
2020-01-09 09:46:29
1356
原创 Spring集成Redis Cluster模式
Spring 集成Redis Cluster模式1、pom文件添加以下jar<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>...
2020-01-07 17:46:53
2905
基于SpringBoot+Layui的社区物业管理系统
2022-07-11
springboot+mybatis+bootstrap+mysql开发的图书馆管理系统(适合新手)
2022-07-11
基于SSM的在线答疑系统AnswerOnline
2022-07-06
PbootCMS.zip
2020-01-08
ActiveMQ部署方案分析对比.zip
2019-12-25
HTML5爱心鱼小游戏(timy)
2017-08-12
mybatis-3.4.4.zip
2017-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人