自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hekliu的博客

滴水穿石,非一日之功!

  • 博客(105)
  • 资源 (12)
  • 收藏
  • 关注

原创 Java实现负载均衡算法--轮询和加权轮询

Java实现负载均衡算法,简单轮询算法,加权轮询算法

2023-05-07 23:29:25 1831 1

原创 springboot集成swagger之knife4j实战(升级版)

springboot整合knife4j

2023-04-14 16:07:45 1679

原创 仿kafka实现java版时间轮

仿kafka实现java版时间轮

2023-02-22 14:21:57 625 2

原创 Trie树

Trie树(又称字典树、前缀树)是一种树形结构,常用于字符串的查找、插入和删除等操作。Trie树以字符串的前缀为结点,每个结点的每个子节点对应一个字母,最终的叶子结点代表一个完整的字符串。

2023-02-09 16:40:04 117

转载 Java 异常中 e.getMessage() 和 e.toString() e.printStackTrace()的区别

Java 异常中 e.getMessage() 和 e.toString() e.printStackTrace()的区别

2023-02-06 15:34:42 1397

原创 Spring Boot 3 步完成日志脱敏,简单实用!

Spring Boot 3 步完成日志脱敏,简单实用!

2023-01-16 17:04:45 1062

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

原创 过滤器,拦截器,aop区别与使用场景

1. 什么是过滤器过滤器,顾名思义就是起到过滤筛选作用的一种事物,只不过相较于现实生活中的过滤器,这里的过滤器过滤的对象是客户端访问的web资源,也可以理解为一种预处理手段,对资源进行拦截后,将其中我们认为的杂质(用户自己定义的)过滤,符合条件的放行,不符合的则拦截下来。1.1 过滤器常见使用场景统一设置编码 过滤敏感字符 登录校验 URL级别的访问权限控制 数据压缩 1.2 springboot整合过滤器bean注入方式a) 编写Filterpublic clas.

2021-12-29 10:12:18 1772

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

原创 MyBatis-Plus

简介是什么参考教程:http://mp.baomidou.com/guide/MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操..

2021-08-09 10:07:46 966

原创 策略模式和工厂模式搭配使用

策略模式和工厂模式的搭配使用可以很好地消除代码if-else的多层嵌套需求针对店下商铺,有这样一个需求,对用户客户分为了普通客户、vip客户、超级vip用户、专属vip用户4个等级,每当用户购买商品时,针对不同的用户等级和消费金额采取不同的打折优惠策略。在平常的开发当中,必然会出现多层的if-else嵌套判断,先判断用户的等级再判断用户购买商品的消费金额。弊端以上的情况出现了多层的if-else嵌套,除此之外,以后如果需求再有变动,需要再增加一个用户等级,那么又会再次添加if-else的.

2021-08-09 09:41:15 511

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

原创 结合源码解析mybatis 的执行流程

1. SqlSessionFactory 与 SqlSession.通过前面的章节对于mybatis 的介绍及使用,大家都能体会到SqlSession的重要性了吧, 没错,从表面上来看,咱们都是通过SqlSession去执行sql语句(注意:是从表面看,实际的待会儿就会讲)。那么咱们就先看看是怎么获取SqlSession的吧:(1)首先,SqlSessionFactoryBuilder去读取mybatis的配置文件,然后build一个DefaultSqlSessionFactory。源码如下:..

2021-07-20 15:03:18 90

原创 如何解决秒杀的性能问题和超卖的讨论

一、秒杀带来了什么?秒杀或抢购活动一般会经过【预约】【抢订单】【支付】这3个大环节,而其中【抢订单】这个环节是最考验业务提供方的抗压能力的。抢订单环节一般会带来2个问题:  1、高并发  比较火热的秒杀在线人数都是10w起的,如此之高的在线人数对于网站架构从前到后都是一种考验。  2、超卖  任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过商品数量的上限,这是每个抢购活动都要面临的难题。二、如何解决?首先,产品解决方案我们就不予讨论了。我们只讨论

2021-07-13 15:22:38 222

原创 Redis持久化----RDB和AOF 的区别

关于Redis说点什么,目前都是使用Redis作为数据缓存,缓存的目标主要是那些需要经常访问的数据,或计算复杂而耗时的数据。缓存的效果就是减少了数据库读的次数,减少了复杂数据的计算次数,从而提高了服务器的性能。一、redis持久化----两种方式1、redis提供了两种持久化的方式,分别是RDB(RedisDataBase)和AOF(AppendOnlyFile)。2、RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上;3、AOF,则是换了一个角度...

2021-06-25 15:27:21 1266

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

原创 oracle查看执行最慢与查询次数最多的sql语句

前言在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻辑上做出优化处理,要么是业务特殊性所导致。如果执行频繁的SQL,往往容易遭遇一些并发性的问题。 那么如何查看ORACLE数据库某个SQL的执行频率/次数呢? 下面来看看完整的示例代码。一、查询执行最慢的sqlselect*from(selectsa.SQL_TEXT,sa.SQL_FULLTEXT,...

2021-06-23 14:37:19 392

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

原创 跨域详解 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 13683 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 946 1

原创 windows系统安装Redis详细步骤

windows系统安装Redis详细步骤一、下载windows版本的Redis官网只提供linux版本的下载,github提供有Windows版本,不过速度比较慢。在CSDN上我上传了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 4048

原创 判断是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 709 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 1522

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

原创 使用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 296 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 175 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 325

原创 WebStorm一直卡在scanning files to index解决方案

最近做新的项目,cnpm install 之后node_modules 中文件暴增,导致webstorm一直卡在“Scanning files to index ......”甚至几度崩溃,切换为IntelliJ IDEA结果一致。无奈+烦躁,在网上找了解决办法,感觉以后可能还会遇到,所以将解决过程整理了一下。解决思路就是将文件过多的文件夹排除出建立索引的范围,按我的实际情况就是排除nod...

2020-03-27 22:59:14 2764

原创 搭建 SkyWalking 服务(For ElasticSearch 7)

随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,所以会深深的感受到 “银弹” 这个词是不存在的,每种架构都有其优缺点 。 ...

2020-03-19 17:27:09 2341

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

原创 MySQL主从不同步,全量数据恢复同步

前言当mysql主从(一主一从模式)数据不同步,常规方式解决不掉,故全量恢复数据并同步数据。发现问题首先可以由 mstaer status 观察到主从已经未同步,其次s lave status 看到 slave_sql 的运行状态是no的,而且有 error 产生错误代码1062;网上百度的跳过错误的方式并没有解决该问题,所以决定重做主从,恢复全量数据。问题解决...

2020-03-16 15:35:14 1571

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

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

原创 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 1971 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 651

原创 使用Redis SETNX 命令实现分布式锁

使用Redis的 SETNX 命令可以实现分布式锁,本文介绍其实现方法。直接进入正题,现在分布式的应用场景很多,为了保持数据的一致性,经常碰到需要对资源加锁的情形。 利用redis来实现分布式锁就是其中的一种实现方案。SETNX命令简介命令格式SETNX key value将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETN...

2020-03-01 23:37:17 482 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 247

原创 大数据组件图谱

大数据组件图谱文件系统 数据存储 内存技术 数据搜集 消息系统 数据处理 查询引擎 分析和报告工具 调度与管理服务 机器学习 开发平台文件系统HDFSHadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合...

2020-01-14 11:26:38 1656

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

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

基于SpringBoot+Layui的社区物业管理系统

介绍 一个 SpringBoot+ Layui 的社区物业管理系统,前端使用 Layui,Ajax,后端使用 MyBatisPlus 方便 sql 编写,使用 swagger2 编写接口文档,使用 mysql 作为数据库。 功能 管理员: 核心业务管理、车位收费、物业收费、投诉信息、报修信息、基础信息管理、楼宇管理、房屋管理、业主管理、车位管理、抄表管理、用户管理、数据统计、报修统计。 业主: 车位费查询、物业费查询、我的投诉列表、我的报修列表。

2022-07-11

springboot+mybatis+bootstrap+mysql开发的图书馆管理系统(适合新手)

项目描述 学习springboot时写的这个系统,技术比较简单,注释简洁清楚,适合新手学习理解。整个项目采用的是springboot+mybatis+jsp,另外手写了登录过滤器。 运行环境:jdk8+tomcat8+mysql+IntelliJ IDEA+maven 项目技术:springboot+mybatis+jsp+bootstrap+jquery

2022-07-11

基于SSM的在线答疑系统AnswerOnline

在线答疑系统(可用于课程作业),功能有:登陆界面(学生、教师和管理员),注册界面,提出问题,回答问题,问题管理以及积分奖励,具有完整注册验证功能,使用cookie技术和会话技术保存登录信息,能够和数据库相连,使用会话技术,具备用户信息完善功能,能够进行用户登录状态判断,并重定向页面,熟练使用JavaBean规范数据处理,使用数据池技术进行数据库连接,规范应用Model2模式,页面设计简洁大方,颜色搭配和谐统一,内容合理。可用于课程作业。

2022-07-06

PbootCMS.zip

PbootCMS是全新内核的开源企业建站系统, 系统以高效、简洁、强悍为开发目标,能够满足各类企业网站建设的需要。 系统采用高效、简洁的模板标签,只要懂HTML就可快速开发企业网站。 系统采用PHP语言开发,使用自主研发的高速MVVM多层开发框架及多级缓存技术。 系统默认采用Sqlite轻型数据库,放入PHP空间即可直接使用,可选Mysql、Pgsql等数据库,满足各类存储需求。系统采用响应式管理后台,满足各类设备随时管理的需要。 功能简介: 1、支持自定义模板 2、支持站点信息后台配置 3、支持无限极栏目 4、支持自定义内容模型 5、支持自定义内容字段 6、支持专题单页内容 7、支持列表内容管理 8、支持内容复制移动 9、支持自定义栏目地址 10、支持自定义内容地址 11、支持多语言区域建站 12、支持手机独立模板 13、支持手机版域名绑定 14、支持首页分页 15、支持页面SEO优化 16、支持在线留言 17、支持幻N组灯片轮播 18、支持友情链接 19、支持自定义表单 20、支持多条件筛选 21、支持多条件搜索 22、支持验证码开关 23、支持留言发送到多邮箱 24、支持API对接 25、支持小程序/APP开发 26、支持Ajax远程获取数据 27、支持自定义标签 28、支持全站伪静态 29、支持前端动态缓存 30、支持系统角色管理 31、支持完整角色权限管理 32、支持多用户在线管理 33、支持系统日志功能 34、支持数据库在线管理 系统安装: 发布的源码默认采用Sqlite数据库,放入PHP(大于等于5.3)空间即可直接使用。 如果需要启用Mysql版本,请导入目录下数据库文件\static\backup\sql\xxx.sql,同时请注意使用最新日期名字的脚本文件,并修改config/database数据库连接文件信息。 注意:如果导入的数据库名字不一致,请先修改sql文件中数据库名为自己的。 系统后台默认访问路径:http://ip/admin.php 账号:admin 密码:123456, 最近更新记录: PbootCMS V2.0.3 1、修复一处PHP7环境下的安全漏洞; 2、新增关闭留言、表单功能的开关; 3、新增缩略图未上传时自动获取文章图片; 4、其他问题修复与优化。

2020-01-08

ActiveMQ部署方案分析对比.zip

ActiveMQ集群部署方式对比:Pure Master Slave方式,Shared Filesystem Master-Slave方式 ,Shared Database Master-Slave方式,Replicated LevelDB Store方式,Broker-Cluster部署方式....

2019-12-25

JAVA核心知识点整理.zip

JAVA核心知识的整理,共283页,有目录,很适合1~3年经验的java开发者学习。

2019-11-07

互联网站安全服务平台操作指南.zip

为帮助所有网站开办者尽快熟悉“全国公安机关互联网站安全服务平台”功能,顺利完成备案手续,特编写本使用手册。

2019-06-04

Java面试宝典2018年最新版 .zip

Java面试宝典2018年最新版,适用于找java工作的同事们。

2019-06-03

ARM RVCT 编译器用户指南_中文版.zip

ARM RVCT编译器如何优化代码,对齐数据,内联函数,对于学习编译器行为,很有帮助。

2019-06-03

ssm整合了swagger2.0

ssm整合swagger2.0,带数据库,开发工具使用的是eclipse,下载后直接用maven方式导入项目。

2018-10-22

HTML5爱心鱼小游戏(timy)

一款爱心鱼HTML5小游戏,通过鼠标的自由移动控制大鱼的移动方向,使大鱼吃到更多的果实(海藻产生的橙色或蓝色果实),大鱼在吃到橙色食物后身体变橙色、吃到蓝色食物后身体变蓝。

2017-08-12

mybatis-3.4.4.zip

包括mybatis-3.4.4.zip、src-mybatis-3.4.4.zip、MyBatis-3.4.4 中文参考手册(index.html)、mybatis-spring.jar和mybatis-spring配置详细(index.html)

2017-08-12

空空如也

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

TA关注的人

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