自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis事务

watch指令类似于乐观锁,在事务提交时,如果watch监控的多个KEY中任何KEY的值已经被其他客户端 更改,则使用EXEC执行事务时,事务队列将不会被执行,同时返回Nullmulti-bulk应答以通知调用者事 务执行失败。一但执行 EXEC 开启事务的执行后,无论事务使用执行成功, WARCH 对变量的监控都将被取消。若在事务队列中存在语法性错误(类似于java的1/0的运行时异常),则执行EXEC命令时,其他正确 命令会被执行,错误命令抛出异常。事务中任意命令执行失败,其 余的命令仍会被执行。

2024-04-05 00:08:21 362

原创 Redis的持久化

1、RDB 持久化方式能够在指定的时间间隔内对你的数据进行快照存储2、AOF 持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始 的数据,AOF命令以Redis 协议追加保存每次写的操作到文件末尾,Redis还能对AOF文件进行后台重 写,使得AOF文件的体积不至于过大。3、只做缓存,如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化4、同时开启两种持久化方式。

2024-04-04 23:57:11 1390

原创 Redis入门

Redis是什么Redis:REmote DIctionary Server(远程字典服务器)是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(Key/Value)分布式内存数据 库,基于内存运行,并支持持久化的NoSQL数据库,是当前最热门的NoSQL数据库之一,也被人们称为 数据结构服务器Redis与其他key-value缓存产品有以下三个特点Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使 用。

2024-04-04 23:26:12 563

原创 NoSQL概述

NoSQLNoSQL = Not Only SQL,意思:不仅仅是SQL;泛指非关系型的数据库,随着互联网Web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的社交网络服务类型的Web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展,NoSQL数据库的产生就是为了解决大规模数据集合多种数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。

2024-04-03 18:07:50 820

原创 Java8新特性 (jdk1.8)

JDK 8 中增加了一套全新的日期时间 API ,这套 API 设计合理,是线程安全的。新的日期及时间 API 位于 java.time 包 中,下面是一些关键类。

2024-04-02 00:24:14 1076

原创 8 个线程池最佳实践和坑!使用不当直接生产事故!!

一般建议是不同的业务使用不同的线程池,配置线程池的时候根据当前业务的情况对当前线程池进行配置,因为不同的业务的并发以及对资源的使用情况都不同,重心优化系统性能瓶颈相关的业务。

2024-04-01 14:21:34 854

原创 为什么不建议直接使用@async

配置其线程池的实例名称为myselfExecutor,线程为myThread-开头的系列@Slf4j@Override20,30,

2024-04-01 14:09:19 508 1

原创 设计模式之状态模式

【例】通过按钮来控制一个电梯的状态,一个电梯有开门状态,关门状态,停止状态,运行状态。每一种状态改变,都有可能要根据其他状态来更新处理。例如,如果电梯门现在处于运行时状态,就不能进行开门操作,而如果电梯门是停止状态,就可以执行开门操作。类图如下://电梯的4个状态//开门状态//关门状态//运行状态//停止状态//设置电梯的状态//电梯的动作@Override//执行关门动作@OverrideSystem.out.println("电梯关门了。。。");

2024-04-01 10:17:32 1153

原创 设计模式之建造者模式

1、要知道一点就是不使用设计模式照样可以进行软件的开发,以上的代码完全可以不使用建造者模式,可以直接使用构造函数或者setter方法进行注入,如果有注入的多种情况需要创建很多的构造方法,在使用中你要顾忌传入参数的顺序,以及setter方法的连续性等问题。2、文章最开始使用@lombok里使用的链式建造者模式是传统的建造者模式的改进,二者原理是相同的,只是链式建造者模式将Director直接交给了Client, 将建造者以静态内部类的形式构建在了产品里面。里面的一些注解,但是并没有去关注注解的实现。

2024-04-01 09:24:03 482

原创 设计模式之责任链模式

责任链模式是一种行为设计模式, 允许你将请求沿着处理者链进行发送。收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。责任链的使用场景还是比较多的:多条件流程判断:权限控制ERP 系统流程审批:总经理、人事经理、项目经理Java 过滤器的底层实现 Filter如果不使用该设计模式,那么当需求有所改变时,就会使得代码臃肿或者难以维护,例如下面的例子。

2024-04-01 00:41:17 578

原创 设计模式之模板方法模式详解

为了提高代码的复用性和系统的灵活性,可以使用一种称之为模板方法模式的设计模式来对这类情况进行设计,在模板方法模式中,将实现功能的每一个步骤所对应的方法称为基本方法 ,而调用这些基本方法同时定义基本方法的执行次序的方法称为模板方法。在模板方法模式中,由于面向对象的多态性,子类对象在运行时将覆盖父类对象,子类中定义的方法也将覆盖父类中定义的方法,因此程序在运行时,具体子类的基本方法将覆盖父类中定义的基本方法,子类的钩子方法也将覆盖父类的钩子方法,从而可以通过在子类中实现的钩子方法对父类方法的执行进行约束,

2024-03-31 23:50:32 680

原创 设计模式之策略模式详解

先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多,可以选择Idea进行开发,也可以使用eclipse进行开发,也可以使用其他的一些开发工具。在软件开发中,我们也常常会遇到类似的情况,实现某一个功能有多条途径,每一条途径对应一种算法,此时我们可以使用一种设计模式来实现灵活地选择解决途径,也能够方便地增加新的解决途径。策略模式定义。

2024-03-31 23:18:58 981

原创 分布式事务

2、单点故障问题:各个本地事务的提交和回滚全部由XA的server端控制,server端一旦宕机各个本地事务都会处于阻塞状态,解决方案:做集群,但集群只能保证重新选出新的server端控制者,本地事务阻塞的问题是无法解决的。4、AT模式的隔离级别:读未提交,因为当一阶段本地事务提交之后,其他的分布式事务已经可以看到提交后的数据,但因为有全局锁的存在,此时全局锁还没有释放,只能读到数据不能写数据。5、全局锁带来的性能问题:因为有全局的存在,所有的分布式事务只能串行执行,不能并发的操作数据库中的数据。

2024-03-28 18:03:09 300

原创 consul怎么在Linux Centos7上安装?

1、[root@localhost bin]# cd /usr/local/bin2、[root@localhost bin]# yum install -y unzip3、[root@localhost ~]#yum install iproute ftp bind-utils net-tools wget -y4、[root@localhost ~]# ...

2019-09-09 17:52:30 209

原创 推荐一个超级棒的Java学习网站

http://how2j.cn?p=16567这是网址,网站里有Java基础,Java常用框架、Maven项目管理、Git版本管理、Redis缓存、Nginx负载均衡等,另外站长怕大家不理解,更是一步一步,采用视频讲解的方式,带着大家完成天猫商城项目。以及量化投资项目。实践项目:手把手教你怎么开发一个完整的天猫商城项目:还有趋势投资量化项目,喜欢量化投资的可以学习这部分。Ja...

2019-08-30 17:56:33 254

转载 JavaScript面试题(2019)

示例 1 : 9种隐式对象,以及他们的用途示例 2 : 3种JSP的指令示例 3 : 2种JSP的动作示例 4 : doGet()和 doPost的区别,分别在什么情况下调用示例 5 : servlet的init方法和service方法的区别示例 6 : servlet的生命周期示例 7 : 页面间对象传递的方法示例 8 : Request常见方法示例 9 : J2...

2019-08-29 18:05:32 181 1

转载 Java最常被问的面试题(2018)

示例1:面向对象的特征有哪些方面?示例2:String是最基本的数据类型吗?示例3:int 和 Integer 有什么区别?示例4:String 和StringBuffer的区别? 示例5:运行时异常与一般异常有何异同?示例6:说出ArrayList,Vector, LinkedList的存储性能和特性。示例7:Collect...

2019-08-29 17:23:43 108

原创 最有用的Java免费自学网站

一.HOW2J.cn这个网站的站长可以说是很良心了,所有我把他放在了第一个.为啥呢?我们登入这个网站,首先干净的界面就让我的心情好了不少,再一看,我的天.JAVA基础,中级,高级,应用全都有.而且只要是跟JAVAweb带点关系的,我在他那里,几乎到看到了,真的很良心!网站:http://how2j.cn?p=19866二.w3cschoolw3c,,整齐的列表一览无余.内...

2019-08-29 15:27:40 1362

原创 实现前后端分离登录状态、有效时间的校验

业务场景:项目需要把Spring+ibatis+dubbo改为SpringBoot+Mybatis+SpringCloud,并且后台要前后端分离,所以在项目改进过程中遇到:运营后台怎样控制用户有效登录时间,并作相关处理;一般我们的做法是通过拦截器拦截请求接口,再通过token从redis中获取用户的登录信息,以及登录时长,最后通过代码:response.sendRedirect(req...

2019-08-29 12:49:38 2273

原创 解决request.getInputStream()只能获取一次问题

业务场景:使用Filter做接口的登录状态Token验证,使用request.getInputStream()获取Body体内流数据,发现再次在Cotroller层获取参数值,一直为null,导致无法获取;查找原因:一个InputStream对象在被读取完成后,将无法被再次读取,始终返回-1; InputStream并没有实现reset方法(可以重置首次读取的位置),无法实现重置操作;...

2019-08-22 11:52:39 936

空空如也

空空如也

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

TA关注的人

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