- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 redis缓存主要问题及解决思路附思维导图
文章目录redis缓存主要问题及解决思路缓存穿透缓存击穿缓存雪崩缓存其他问题缓存满了数据丢失redis缓存主要问题及解决思路缓存穿透介绍对于系统A,假设一秒 5000 个请求,结果其中 4000 个请求是黑客发出的恶意攻击。黑客发出的那 4000 个攻击,缓存中查不到,每次你去数据库里查,也查不到。那么这些查不到的请求就会将数据库打死,缓存失效。举个栗子。数据库 id 是从 1 开始的,结果黑客发过来的请求 id 全部都是负数。这样的话,缓存中不会有,请求每次都“视缓存于无物”,直接查询
2020-12-18 18:07:03
463
2
原创 MySQL函数之DATE_SUB,CURDATE等使用记录
MySQL函数使用记录DATE_SUB函数CURDATE函数<![CDATA[<= ]]>date(cv.gmt_modify)示例DATE_SUB函数定义DATE_SUB() 函数从日期减去指定的时间间隔。用法w3cschool文档参考CURDATE函数用法返回当前日期示例1,查询中使用SELECT NOW(),CURDATE(),CURTIME()示例2,建表时设置默认值CREATE TABLE Orders ( OrderI
2020-10-29 10:51:11
3427
原创 MySQL创建并调用自定义函数
创建及调用创建方法拼接SQL创建方法直接写SQL调用方法创建方法拼接SQLDELIMITER $$DROP FUNCTION IF EXISTS genPerson$$CREATE FUNCTION genPerson(name varchar(20)) RETURNS varchar(50)BEGIN DECLARE str VARCHAR(50) DEFAULT ''; SET @tableName=name; SET str=CONCAT('create table ', @ta
2020-10-26 17:54:08
8468
原创 Swagger使用步骤,Swagger中url传参,Swagger中token校验以及注解使用说明
流程目录说明使用@ApiModelProperty的用法@Api@ApiOperation@ApiResponse@ApilmplicitParams和@ApilmplicitParam说明首先@ApiOperation注解不是Spring自带的,它是是swagger里的注解@ApiOperation是用来构建Api文档的作用范围API使用位置对象属性上@ApiModelProperty用在参数对象的字段协议集描述@Api用在Conntroller类上协
2020-10-16 11:29:16
2868
原创 lambda表达式及闭包
lambda表达式及闭包Lambda简介对接口的要求Lambda 基础语法Lambda 语法简化Lambda 表达式常用示例Lambda 表达式中的闭包问题什么是闭包Lambda简介Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。对接口的要求虽然使用 Lambda 表达式可以对某些接口进行
2020-10-15 14:06:44
705
原创 三种方式创建线程——最佳创建线程方式ThreadPoolExecutor
目录本篇精华使用方式对应线程池参数new thread创建线程-1new thread创建线程-2(lambda表达式)Executors工厂创建线程池ThreadPoolExecutor创建线程ThreadPoolExecutor构造器参数解析本篇精华使用方式ExecutorService threadPool = new ThreadPoolExecutor(1, 5, 30, TimeUnit.MILLISECONDS, new LinkedBlockingDeque<Runnable
2020-10-14 19:26:22
1072
原创 邮件发送异常:Access to default session denied
目录session.getdefaultinstance返回方式session.getinstance返回方式区别实例session.getdefaultinstance返回方式Session.getDefaultInstance()返回一个Session对象后,将这个Session对象安装为默认的Session对象,以后每次调用getDefaultInstance方法都将返回这个默认Session对象.session.getinstance返回方式session.getinstance()每次调用
2020-10-14 18:22:42
1293
原创 java-日期加减两种方法
目录使用SimpleDateFormate使用Canlender工具类来进行加减使用SimpleDateFormateDate date = new Date();SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天的日期:"+df.format(date)); System.out.println("两天前的日期:" + df.format(new Date(date.getTime()
2020-07-04 17:54:11
9205
3
原创 git提交仓库入门
git config --global user.name "xschen"git config --global user.email "2245236181@qq.com"mkdir pet-cxscd pet-cxsgit inittouch README.mdgit add README.mdgit commit -m "first commit"git remote add origin https://gitee.com/cold_wind_in_south_gardenia.
2020-06-21 21:34:48
146
原创 端口占用问题解决
文章目录Windows端口占用查看所有进程占用的端口查看占用指定端口的程序通过任务管理器杀死相关的进程Linux文件系统端口占用先用ps查找进程杀掉线程总的来说大致思路就是先用ps等命令查找进程,然后用kill杀掉进程Windows端口占用查看所有进程占用的端口在开始-运行-cmd,输入:netstat –ano 可以查看所有进程查看占用指定端口的程序当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道是哪个程序或进程占用了端口,可以用该命令 netstat –ano|finds
2020-06-21 21:19:35
665
原创 linux文件系统常用命令——简略版
文章目录目录切换命令目录操作(增删改查)文件的操作命令(增删改查)压缩文件的操作命令其他常用命令目录切换命令cd uer:切换到usr目录cd …或者cd…/ 切换到上一层目录cd /系统根目录cd ~用户主目录cd -切换到上一个目录目录操作(增删改查)mkdir 目录名称:增加,新增目录ls和ll:查看目录信息ll是ls -l的缩写,ll可以查看目录详细信息find 目录 参数 : 寻找目录(查)mv 目录名称 新目录名称 : 修改目录的名称(改)注意:mv的语法不
2020-06-21 20:30:09
268
原创 Vue——06循环遍历,Key属性以及数组更新
目录v-for遍历数组一个简单的案例:v-for可以遍历对象:key属性检测数组更新(响应式)v-for遍历数组当我们有一组数据需要进行渲染时,我们就可以使用v-for来完成。v-for的语法类似于JavaScript中的for循环。格式如下:item in items的形式。一个简单的案例:如果在遍历的过程中不需要使用索引值v-for=“movie in movies”依次从movies中取出movie,并且在元素的内容中,我们可以使用Mustache语法,来使用movie如果在遍历的
2020-05-22 17:34:27
1218
原创 Vue——05条件判断v-show
v-show的用法和v-if非常相似,也用于决定一个元素是否渲染:v-if和v-show对比v-if和v-show都可以决定一个元素是否渲染,那么开发中我们如何选择呢?v-if当条件为false时,压根不会有对应的元素在DOM中。v-show当条件为false时,仅仅是将元素的display属性设置为none而已。开发中如何选择呢?当需要在显示与隐藏之间切片很频繁时,使用v-show当只有一次切换时,通过使用v-if...
2020-05-22 17:23:00
2853
原创 Vue-03条件判断之v-if、v-else-if、v-else的使用
目录v-if、v-else-if、v-else实例v-if的原理:注意v-if、v-else-if、v-else这三个指令与JavaScript的条件语句if、else、else if类似。Vue的条件指令可以根据表达式的值在DOM中渲染或销毁元素或组件。实例v-if的原理:v-if后面的条件为false时,对应的元素以及其子元素不会渲染。也就是根本没有不会有对应的标签出现在DOM中。注意一般来说如果需要处理比较复杂的业务那么就使用计算属性,将业务处理放在computed选项中。..
2020-05-22 14:56:27
714
原创 Vue基础语法——事件监听之v-on指令
目录v-on指令介绍使用语法糖参数问题修饰符v-on指令介绍在前端开发中,我们需要经常和用于交互。这个时候,我们就必须监听用户发生的时间,比如点击、拖拽、键盘事件等等在Vue中如何监听事件呢?使用v-on指令v-on介绍作用:绑定事件监听器缩写:@预期:Function | Inline Statement | Object参数:event使用我们用一个监听按钮的点击事件,来简单看看v-on的使用下面的代码中,我们使用了v-on:click="counter++”另外,我们可以
2020-05-22 14:51:21
345
原创 Vue基础语法——01-插值操作,绑定属性,计算属性及let和var,const关键字,对象字面量增强写法
目录插值操作Mustache(胡子/胡须)语法v-oncev-htmlv-textv-precloak绑定属性v-bind指令绑定class有两种方式:计算属性基础补充块级作用域——let和varconst关键字对象字面量增强写法(简化):事件监听条件判断循环遍历阶段案例v-model插值操作将data中的文本数据,插入到HTML中Mustache(胡子/胡须)语法可以通过Mustache(胡子/胡须)语法(也就是双大括号)。数据是响应式的。v-once在某些情况下,我们可能不希望界面随意的跟
2020-05-22 13:59:18
626
原创 Vue入门-安装使用以及生命周期
目录认识vueVue的安装vue使用Vue中的MVVM计数器的MVVM创建Vue实例时候传入的对象optionsVue的生命周期认识vueVue (读音 /vjuː/,类似于 view),不要读错。Vue是一个渐进式的框架,什么是渐进式的呢?渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更丰富的交互体验。或者如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统。比如Core+Vue-router+Vuex,也可以满足你各种各样的需求。Vue有很多特点和
2020-05-21 19:55:13
293
原创 Linux系统常用命令
目录查看系统日志查看一个程序是否运行终止线程查看文件(包括隐藏文件)输出当前工作目录复制文件创建目录删除目录移动文件重命名切换用户修改文件权限压缩文件列出压缩文件列表解压文件查看文件头10行查看文件尾10行查看日志类型文件使用超级管理员身份执行命令查看端口占用情况查看端口属于哪个程序查看进程以树状图列出目录的内容文件下载网络检测远程登录打印信息查找文件查看系统日志tail -f 日志文件路径主要用于查看实时的日志记录百,属于动态记录查看一般日志较大的可以有如下操作tail top 100 日
2020-05-15 09:54:06
240
原创 Spring中ApplicationContext的三种实现方式及与BeanFactory的区别
三种实现ClassPathXmlApplicationContextFileSystemXmlApplicationContextXmlWebApplicationContextjava中三种实现Spring中BeanFactory和ApplicationContext的区别
2020-05-12 14:36:09
621
原创 什么是JWT?java中如何使用JWT?
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。扩展在JWT之前,需要了解一下基于token的认证和传统的session认证的区别。传统的.
2020-05-10 09:59:26
1197
原创 面试准备——dubbo 服务负载均衡策略
dubbo负载均衡策略按照权重随机分配(随机)Random LoadBalance轮询 RoundRobin LoadBalancehash方式 ConsistentHash LoadBalance最少访问原则 LeastActive LoadBalance在分布式集群架构下,负载均衡很重要。集群本来就是为了分担压力,负载均衡做的不好,就会失去了集群的意义。按照权重随机分配(随机)Random LoadBalance随机,按权重设置随机概率。在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按
2020-05-09 23:14:43
176
原创 面试准备——Dubbo 中 zookeeper 做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
可以通信的,启动 dubbo 时,消费者会从 Zookeeper注册中心拉取注册的生产者的地址接口等数据,缓存在本地。每次调用时,按照本地存储的地址进行调用。注册中心对等集群,任意一台宕机后,将会切换到另一台;注册中心全部宕机后,服务的提供者和消费者仍能通过本地缓存通讯。服务提供者无状态,任一台宕机后,不影响使用;服务提供者全部宕机,服务消费者会无法使用,并无限次重连等待服务者恢复;注册中心挂掉是不要紧的,但前提是你没有增加新的服务,如果你要调用新的服务,则是不能办到的。...
2020-05-09 22:46:30
681
原创 Assembly 打包插件
Dubbo 的提供者方是不需要依赖于 web 容器的。所以打包之后是一个 jar 文件, 当部署到服务器时,因为该 jar 文件并不包含其他依赖关系,那么该如何启动提供者的 jar?需要使用 Maven 中的 Assembly 插件Assembly 插件的作用:构建一个完整的发布包,包含脚本、配置文件以及所有运行时所依赖的元素(jar),将所有依赖的 jar 包打包到压缩包中。支持多种格式,如 zip、tar.gz、tar.bz2、jar、dir、war 等等。实现步骤:在原有项目基础上
2020-05-09 22:21:28
359
原创 Dubbo——Registry可视化管理界面
Registry 可视化管理界面把 dubbo-admin-2.5.10.war 粘 贴 到 tomcat 中 (windows 下或 linux 下都可以)启动 tomcat,然后关闭 tomcat(通过 tomcat 解压该 war 包),并删除 webapps 中 dubbo-xxx.war(如果不删 则启动后重新覆盖)修改 dubbo-admin-2.5.10/WEB-INF/dubbo.properties第一行需要改写成自己 Zookeeper 的地址及端口第二行是管理员 root
2020-05-09 22:16:23
562
1
原创 Dubbo配置式开发过程
dubbo开发两种开发方式配置式开发创建服务提供者创建服务消费者注解式开发两种开发方式配置式开发创建服务提供者新建Maven项目,命名为 dubbo-provider添加dubbo依赖和zkClient依赖(因为 Dubbo 需要在 Zookeeper 中进行注册,需要上传数据给 Zookeeper,所以需要客户端功能,需要下载 zkClient)新建实体类,Service 接口和实现类(实体类要求实现 Serializable 接口)新建 Spring 配置文件(约束头信息可在官方文档中查
2020-05-09 22:12:51
137
原创 Dubbo支持的协议——Dubbo协议
服务提供者通过指定的协议来暴露服务。协议由提供方指定,消费方被动接受 。 推荐使用 dubbo 协议,除此之外还支持 RMI 协议和 Hessian 协议。dubbo 协议的特点及配置:dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。配置:<dubbo:protocol name=“dubbo” port=“2088.
2020-05-09 21:37:10
126
原创 Dubbo注册中心——Zookeeper等
注册中心Dubbo支持的注册中心类型Zookeeper注册中心简介Zookeeper作用:注册中心是整个Dubbo架构的重要部分,是Provider和Consumer的桥梁 。Dubbo支持的注册中心类型Zookeeper注册中心,从dubbo2.3.3开始支持,支持基于网络的集群方式,也是官方推荐的方式,但是稳定性受限于Zookeeper的稳定性。Multicast注册中心,去中心化注册中心,不需要单独单机注册中心,只适用于小型应用或测试环境。除此之外还有 Redis 注册中心和 Simp
2020-05-09 21:32:07
176
原创 对Synchronized关键字,类锁,方法锁,重入锁的理解
Synchronized的作用在JDK1.5之前都是使用synchronized关键字保证同步的,Synchronized的作用相信大家都已经非常熟悉了;它可以把任意一个非NULL的对象当作锁。作用于方法时,锁住的是对象的实例(this);当作用于静态方法时,锁住的是Class实例,又因为Class的相关数据存储在永久带PermGen(jdk1.8则是metaspace),永久带是全局共享...
2019-11-26 21:14:10
452
原创 成员内部类,静态内部类,局部内部类以及匿名内部类的理解以及项目中的应用
什么是内部类?内部类是定义在另一个类中的类;即内部类对象引用了实例化该内部对象的外围类对象。为什么需要内部类?内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。内部类可以对同一个包中的其他类隐藏起来。当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。内部类的分类一、成员内部类成员内部类:存在于某个类的内部的非静态类,与全局属性或者方法同级的内部类就是...
2019-11-25 20:19:42
532
转载 在项目中缓存是如何使用的,如果使用不当有什么后果?
1.为什么要使用缓存呢?在项目中使用缓存,主要是有两个用途,第一个就是高性能,第二个就是高并发.第一个:高性能①我们先假设一个场景,客户端发过来一个请求,操作数据库并查询结果耗时一秒钟,此后,这个数据基本不变,或者变了也不用立即反馈给客户,此时就需要使用缓存,将查出来的结果放入到缓存中,缓存功能简单,就是key-value式操作,一个key对应一个value,(可以使用redis非关系型数据...
2019-11-21 22:27:33
521
Axure RP Pro Team Enterprise v9.0.0.3654 ZH-CN.zip
2020-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人