自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 使用window.open方式打开多级子窗口,在子窗口关闭时,执行任意父级窗口中函数的解决方案

使用window.open方式打开A页面,A页面打开B页面,B页面打开C页面,C页面打开D页面,D页面打开E页面,在E页面关闭时执行以上任意页面中的函数解决方案;在E页面关闭时使用window的localStorage属性,创建一个key/value键值对,在需要执行函数的页面比如A页面监听localStorage,获取在E页面设置的键值对进行判断,然后即可执行本页面的函数,具体代码如下:E页面关闭页面时代码:localStorage.clear();ocalStorage.setItem(‘fla

2022-04-01 10:36:43 1495

原创 spring boot集成freemarker并在html中使用

前言:本文章只是集成及简单使用,非项目开发,作者为了省事,所以一切配置从简;一、创建springboot项目,此步骤省略二、添加相关依赖 <!--freemarker依赖start--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</

2021-12-30 16:46:42 1049

原创 windows11系统下vone客户端连接服务器失败,请确认网络连接是否正常解决方案

问题描述:使用vone连接vpn,访问公司内网,vone证书包括连接地址,密码等等都设置正确的情况下,点击连接提示:连接服务器失败,请确认网络连接是否正常!如下图所示:解决方案:控制面板>网络和Internet,点击Internet选项,选择高级,勾选上使用TLS1.0,应用确定即可,如下图所示:再次点击vone连接即可正常使用...

2021-12-21 15:50:34 14994 11

原创 windows11下vone客户端无法启动问题

问题描述:windows11系统启动vone客户端时,出现客户端状态异常解决方法:控制面板>网络和Internet,点击Internet选项,选择高级,勾选使用SSL3.0,如下图

2021-12-21 15:39:30 5292 3

原创 分布式协调工具zookeeper(1)--安装篇

1、什么是zookeeper?zookeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步、命名服务、集群维护等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。zookeeper本身是可以单机模式运行安装,不过它的长处在于通过分布式zookeeper集群,基于一定的策略来保证zookeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。...

2020-07-29 22:36:45 148

原创 redis系列(17)-- 高级话题之redis实现分布式锁

先简单说一下目前市面上分布式锁的解决方案,主要有三种:1)基于数据实现;2)基于redis实现;3)基于zookeeper实现;其实,对于作者而言,前两种的实现方式,在生产环境下并没有使用过,主要使用的是基于zookeeper实现的分布式锁,主要是因为可靠性的问题,当然实现起来也是比较复杂,这几种分布式锁的解决方案,还是要看具体的业务场景来进行选择的,比如,从性能上来说,那就优先考虑redis方案;当然,这些方案的核心思想都是一样的,只是为了在多台服务器集群中,只能保证一jvm进行操作;好了,今天主

2020-07-29 22:01:49 122

原创 并发编程系列(1)-- 线程基础

前言:由于作者本人对多线程研究的也并不是很深,写这些文章的意义更多的是记录自己的所学,进行系统归类,避免遗忘,同道之士亦可共同交流,作者若有表述不当或描述错误的地方,还请各位多多指教,共同学习且避免误导他人;本系列文章,作者书写的多为自己的理解,不怎么会去书写官方概念。1、在研究多线程的前提,首先是需要明白几个概念的,即什么是进程?什么是线程?什么是多线程?为什么要使用多线程?2、什么是进程?进程就是一个独立的应用程序3、什么是线程?线程就是一条执行路径,在一个进程当中,会存在很多的线程4、什么

2020-07-29 19:34:49 140

原创 redis系列(16)-- spring与redis的集成

前言:废话不说,上手就干;1、假设目前你手中已经做好了一个简单的ssm框架,我这里就不把ssm框架的配置发出来了,因为都是配置基础的配置文件,发出来看着会有点混乱的感觉,下面就直接贴出redis的配置文件与依赖2、redis依赖 <!--redis依赖start--> <dependency> <groupId>org.springframework.data</groupId> <a

2020-07-21 17:12:00 156

原创 redis系列(15)-- redis的安全设置

前言:废话不说,上手就干1、设置密码访问redis默认是没有密码的,这样不安全,任意用户都可以访问,可以启用使用密码才能访问redis,设置redis的访问密码,修改redis.conf中requirepass密码。密码要比较复杂,不容易破解,而且需要定期修改,因为redis的速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150k次的密码尝试,需要指定非常非常强大的密码来防止暴力破解2、开启访问密码设置修改 redis.conf , 使用 vim 命令。 找到 require

2020-07-08 16:16:29 389

原创 redis系列(14)-- 高级话题之高可用Sentinel哨兵

前言:废话不说,上手就干Sentinel哨兵是redis官方提供的高可用方案,可以用它来监控多个redis服务实例的运行情况。Redis Sentinel是一个运行在特殊模式下的redis服务器。Redis Sentinel是在多个Sentinel进程环境下相互协助工作的。Sentinel系统有三个主要任务:1)监控:Sentinel不断的检查主服务和从服务是否按照预期正常工作。2)提醒:被监控的redis出现问题时,Sentinel会通知管理员或其他应用程序。3)自动故障转移:监控的主Redis

2020-07-08 15:55:39 505

原创 redis系列(13)-- 高级话题之主从复制--读写分离--容灾处理

前言:废话不说,上手就干redis的持久化功能保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,但是由于数据是存储在一台服务器上的,如果这台服务器出现故障,比如硬盘问题等等,也会导致数据丢失。为了避免单点故障,我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障其他服务器依然可以继续提供服务。这就要求当一台服务器上的数据更新后,自动将更新的数据同步到其他服务器上,也就是主从复制。redis提供了复制功能来自动实现多台redis服务器的数据同步,我们可以通过部署多台red

2020-07-07 22:23:13 176

原创 redis系列(12)-- 高级话题之持久化

前言:废话不说,上手就干持久化可以理解为存储,就是将数据存储到一个不会丢失的地方,如果吧数据放在内存中,电脑关闭或重启数据就会丢失,所以放在内存中的数据不是持久化的,而放在磁盘就算是一种持久化。redis的数据存储在内存中,内存是瞬时的,如果Linux宕机或重启,又或者redis崩溃或重启,所有的内存数据都会丢失,为解决这个问题,redis提供两种机制对数据进行持久化存储,便于发生故障后能迅速恢复数据一、RDB方式1、什么是RDB方式?redis database(RDB),就是在指定的时间间隔内

2020-07-07 18:21:58 150

原创 redis系列(11)-- 高级话题之redis事务(实现部分)

前言:废话不说,上手就干1、正常执行事务事务的执行步骤:首先开启事务,其次向事务队列中加入命令,最后执行事务提交1)mulit:用mulit命令告诉redis,接下来要执行的命令你先不要执行,而是把他们暂时存起来(开启事务)2)sadd address beijing 第一条命令进入等待队列(命令入队)3)sadd address shanghai 第二条命令进入等待队列(命令入队)4) exce 告知redis执行前面发送的两条命令2、事务执行exec之前,入队命令错误(语法错误;严重

2020-07-07 17:14:40 150

原创 redis系列(10)-- 高级话题之redis事务(理论部分)

前言:废话不说,上手就干事务是指一系列操作步骤,这一系类的操作步骤,要么完全执行,要么完全的不执行。redis中的事务是一组命令的集合,至少是两个或两个以上的命令,redis事务保证这些命令被执行时中间不会被任何其他操作打断1、multi语法:multi作用:标记一个事务的开始,事务内的多条命令会按照先后顺序被放进一个队列当中。返回值:总是返回OK2、exec语法:exec作用:执行所有事务块内的命令返回值:事务内的所有执行语句内容。事务被打断(影响)返回nil3、discard语法

2020-07-07 16:22:43 101

原创 redis系列(9)-- redis数据类型操作命令之有序集合(zset)类型

前言:废话不说,上手就干redis有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员,不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序1、zadd语法:zadd key score member[score member…]作用:将一个或多个member元素及其score值加入到有序集合key中,如果member存在集合中,则更新值;score可以是整数或浮点数返回值:数值,新添加的元素个数2、zr

2020-07-07 16:09:37 233

原创 redis系列(8)-- redis数据类型操作命令之集合(set)类型

前言:废话不说,上手就干redis的set是string类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据1、sadd语法:sadd key member [member…]作用:将一个或多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略,不会再加入返回值:加入到集合的新元素的个数,不包括被忽略的元素。2、smembers语法:smembers key作用:获取集合key中的所有成员元素,不存在的key视为空集合3、sismember语法:s

2020-07-07 14:07:48 171

原创 redis系列(7)-- redis数据类型操作命令之列表(list)类型

前言:废话不说,上手就干1、lpush语法:lpush key value[value…]作用:将一个或多个值value插入到列表key的表头(最左边),从左边开始加入值,从左到右的顺序依次插入到表头返回值:数字,新列表的长度在 redis-desktop-manager 显示插入重复值到list列表类型2、rpush语法:rpush key value[value…]作用:将一个或多个值value插入到列表key的表尾(最右边),各个value值按从左到右的顺序依次插入到表尾返

2020-07-07 13:38:59 391

原创 redis系列(6)-- redis数据类型操作命令之哈希(hash)类型

前言:废话不说,上手就干。1、hset语法:hset hset表的key field value作用:将哈希表key中的域field的值设置为value,如果可key不存在,则新建hash表,执行赋值,如果有field,则覆盖值。返回值:如果field是hash表中新field,且设置成功,返回1;如果field已经存在,旧值覆盖新值,返回02、hget语法:hget key field作用:获取哈希表key中给定域field的值返回值:field域的值。如果key不存在或者field不存

2020-07-07 12:57:19 1295

原创 redis系列(5)-- redis数据类型操作命令之字符串(string)类型

前言:废话不说,上手就干。1、set语法:set key value作用:将字符串值value设置到key中。注意:向已经存在的key设置新的value,会覆盖原来的值。2、get语法:get key作用:获取key中设置的字符串值3、incr语法:incr key作用:将key中存储的数字值加1,如果key不存在,则key的值先被初始化为0再执行incr操作(只能对数字类型的数据操作,对于非数字的值无法操作)4、decr语法:decr key作用:将key中存储的数字值减1

2020-07-06 23:56:23 144

原创 redis系列(4)-- redis的5种数据类型

前言:废话不说,上手就干。1、字符串类型string字符串类型是redis种最基本的数据类型,它能存储任何形式的字符串,包括二进制数据,序列化后的数据,JSON化的对象甚至是一张图片,最大512M。keyvaluename张三2、哈希类型hashredis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。keyloginuserfieldvaluename张三address北京ag

2020-07-06 23:10:06 138

原创 redis系列(3)-- redis的key的操作命令

前言:废话不说,上手就干。1、keys语法:keys pattern作用:查找所有符合模式pattern的key,pattern可以使用通配符。通配符:1):表示0-多个字符,例如:keys * 查询所有的key。2)?:表示单个字符,例如na?e,匹配name、naae等等显示所有的key使用表示0或多个字符及使用?表示单个字符2、exists语法:exists key[key…]作用:判断可以是否存在返回值:整数,整数,存在返回1,其他返回0,使用多个key,返回存在的key

2020-07-06 22:52:30 631

原创 redis系列(2)-- redis基本操作命令

前言:废话不说,上手就干。1、redis基本操作命令redis默认为16个库(在redis.conf文件可配置,该文件很重要,后续很多操作都是这个配置文件)redis默认自动使用0号库。2、沟通命令redis>ping 返回 PONG解释:输入ping,redis给我们返回PONG,表示redis服务运行正常3、查看当前数据库中key的数据:dbsizeredis>dbsize解释:输入dbsize,返回当前数据库的key的数量4、redis默认使用16个库redis默认

2020-07-06 22:27:28 560

原创 redis系列(1)--基础篇

前言:废话不说,上手就干1、Window上安装RedisWindows版本的 Redis是 Microsoft 的开源部门提供的Redis. 这个版本的 Redis 适合开发人员学习使用,生产环境中使用 Linux 系统上的 Redis。1.1、下载官网:https://redis.io/我这边是之前下载好的 Redis-x64-3.2.100.zip,放到某个目录(例如 d:\tools\),即可使用。目录结构:我这里的系统是Windows10系统,直接双击 redis-server.e

2020-07-06 18:21:20 173

原创 企业内部应用与钉钉的集成

前言:废话不多说,上手就干1、这里使用的是钉钉的h5微应用,pc端应用,至于在钉钉内怎么创建h5微应用,这里就不在一一述说了,百度也行,看钉钉官方文档也行,主要是我不想截屏了,太麻烦了,哈哈;2、到这里时,钉钉内创建的h5微应用已经完成了,需要注意的有一下几点:3、先进行第一步操作,钉钉内部免密登录,这里就不用官方文档的描述了,直接上代码:这里前端使用的是vue//钉钉内部this指...

2020-05-07 14:29:56 2159 5

原创 javaSE精选面试题之基础篇

1、String类可以被继承吗?String类在声明时使用final关键字修饰,被final修饰的类是不可以被继承的。源码如下:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for...

2019-07-27 17:02:42 252

空空如也

空空如也

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

TA关注的人

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