
study
文章平均质量分 91
to_real
这个作者很懒,什么都没留下…
展开
-
拦截器和过滤器的区别
拦截器和过滤器的区别过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 ⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。 ⑥拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点原创 2022-03-26 13:28:14 · 3844 阅读 · 0 评论 -
消息不丢失
大家好,我是君哥。引入消息队列可以方便地实现系统解耦、削峰填谷等作用。但是消息队列使用不当,可能会引起消息丢失,在一些消息敏感的业务场景下,这是不允许的。今天我们来聊一聊 RocketMQ 怎么做能确保消息不丢失。1 RocketMQ 简介RocketMQ 是阿里巴巴开源的分布式消息中间件,整体架构如下图:RocketMQ 主要包括 Producer、Consumer 和 Broker,同时 Name Server 进行集群注册管理和保存元数据。2 消息不丢失要想保证消息不丢失,转载 2022-02-10 17:53:03 · 239 阅读 · 0 评论 -
BIO和NIO
01 前言这段时间自己在看一些Java中BIO和NIO之类的东西,看了很多博客,发现各种关于NIO的概念说的天花乱坠头头是道,可以说是非常的完整,但是整个看下来之后,自己对NIO还是一知半解的状态,所以这篇文章不会提到很多的概念,而是站在一个实践的角度,写一些我自己关于NIO的见解,站在实践过后的高度下再回去看概念,应该对概念会有一个更好的理解。02 实现一个简易单线程服务器要讲明白BIO和NIO,首先我们应该自己实现一个简易的服务器,不用太复杂,单线程即可。2.1 为什么使用单线程作.转载 2022-02-10 15:28:51 · 81 阅读 · 0 评论 -
7种分布式事务
什么是分布式事务分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器「分别位于不同的分布式系统的不同节点之上」。一个大的操作由N多的小的操作共同完成。而这些小的操作又分布在不同的服务上。针对于这些操作,「要么全部成功执行,要么全部不执行」。为什么会有分布式事务?举个例子:转账是最经典的分布式事务场景,假设用户 A 使用银行 app 发起一笔跨行转账给用户 B,银行系统首先扣掉用户 A 的钱,然后增加用户 B 账户中的余额。如果其中某个步骤失败,此时就有可能会出现原创 2021-12-22 15:47:52 · 864 阅读 · 0 评论 -
Redis 快
- 思维导图 -基于内存实现Redis 是基于内存的数据库,那不可避免的就要与磁盘数据库做对比。对于磁盘数据库来说,是需要将数据读取到内存里的,这个过程会受到磁盘 I/O 的限制。而对于内存数据库来说,本身数据就存在于内存里,也就没有了这方面的开销。高效的数据结构Redis 中有多种数据类型,每种数据类型的底层都由一种或多种数据结构来支持。正是因为有了这些数据结构,Redis 在存储与读取上的速度才不受阻碍。这些数据结构有什么特别的地方,各位看官接...原创 2021-06-16 10:27:50 · 83 阅读 · 0 评论 -
QPS、TPS、并发用户数、吞吐量关系
1、QPSQPSQueries Per Second是每秒查询率 ,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。2、TPSTPSTransactions Per Second也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,3、QPS和TPS区别个人理解如下:...原创 2021-01-04 10:47:33 · 526 阅读 · 0 评论 -
Session管理之ThreadLocal
在各种Session 管理方案中, ThreadLocal 模式得到了大量使用。ThreadLocal 是Java中一种较为特殊的线程绑定机制。通过ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM 为每个运行的线程,绑定了私有的本地实例存取空间,从而为多线程环境常出现的并发访问问题提供了一种隔离机制。首先,我们需要知道,SessionFactory负责创建Session,SessionFactory是线程安全的,多个并发线程可以同时访问一个SessionFactory 并从中获取Se原创 2020-12-20 19:45:47 · 1581 阅读 · 2 评论 -
Java死锁排查和Java CPU 100% 排查的步骤整理
简介本篇整理两个排查问题的简单技巧,一个是java死锁排查,这个一般在面试的时会问到,如果没有写多线程的话,实际中遇到的机会不多;第二个是java cpu 100%排查,这个实际的开发中,线程的应用出现这个问题可能性比较大,所以这里简单总结介绍一下,对自己学习知识的一个整理,提高自己的解决问题能力。一、Java死锁排查通过标题我们就要思考三个问题:什么是死锁? 为什么会出现死锁? 怎么排查代码中出现了死锁?作为技术人员(工程师),在面对问题的时候,可能需要的能力是怎么去解决这个问题。但原创 2020-12-17 11:20:50 · 153 阅读 · 0 评论 -
Serializable和Externalizable浅析
Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。从而达到网络传输、本地存储的效果。本文主要要看看JDK中使用Serializable和Externalizable接口来完成Java对象序列化,并给出部分属性序列化的几种方式,最终做出Serializable和Externalizable接口的几个方面的对比。序列化Serializable要实现Java对象的序列化,只要将类实现Serializable或Externalizab...原创 2020-08-20 16:19:45 · 156 阅读 · 0 评论 -
文件上传自定义上传路径
@PostMapping("/upload")public R upload(@RequestParam("photo")MultipartFile photo, HttpServletRequest request) {// 定义上传文件存放的路径 String path = configProperties.getFileupload() + "uploadPhotos/"; System.out.println(path); // 定义文件在上.原创 2020-08-13 13:21:20 · 1366 阅读 · 0 评论 -
导入Excel 工具类
本人测试时软硬件环境:Eclipse、JDK1.8、SpringBoot 2.0.5.RELEASE、poi-ooxml.jar3.17准备工作第一步:在pom.xml中引入依赖<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency> <groupId>org.apache.poi</groupId> <artifactId>原创 2020-08-11 14:07:01 · 511 阅读 · 0 评论 -
什么是token和token是怎么生成的
https://www.cnblogs.com/lufeiludaima/p/pz20190203.html什么是token Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。 基于 Token 的身份验证使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。流程是这样的: 客户端使用用户名跟密码请求登录原创 2020-08-11 11:30:37 · 8250 阅读 · 0 评论