Java并发场景里的各种锁Java, 多线程, 死锁, 高并发 / Nick Tan / 2023-03-04 / 发表评论一、独享锁 VS 共享锁 1、独享锁 是指该锁一次只能被一个线程所持有,如下图所示: 2、共享锁 共享锁是指该 […] Java并发场景里的各种锁 Read More »
SpringBoot三大利器:过滤器、拦截器、切面AOP, Java, Spring Boot, 开源组件 / Nick Tan / 2023-03-03 / 发表评论一、概念 二、触发时机 通过图片可以看到Filter过滤器在容器和Servlet之间触发,Intecepter SpringBoot三大利器:过滤器、拦截器、切面 Read More »
WEB反序列化漏洞分析与防御Java, PHP, Python, Web安全, 安全函数, 渗透测试 / Nick Tan / 2023-02-25 / 发表评论一、漏洞概述 1、序列化 序列化 (serialize)是将对象的状态信息转换为可以存储或传输的形式的过程。在 WEB反序列化漏洞分析与防御 Read More »
SpEL表达式注入漏洞详解Java, Spring Boot, Spring Cloud, Web安全, 渗透测试 / Nick Tan / 2023-02-24 / 发表评论程序中如果使用未经校验的输入构造SpEL语句,就有可能造成SpEL表达式注入漏洞,对下游服务可能产生恶意攻击。 SpEL表达式注入漏洞详解 Read More »
Java如何停止一个正在运行的线程?Java, 多线程, 安全函数, 死锁 / Nick Tan / 2023-02-12 / 发表评论一、前言 停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Th Java如何停止一个正在运行的线程? Read More »
Tomcat高性能调优探索Java, 开源组件, 性能测试, 服务器 / Nick Tan / 2023-02-12 / 发表评论一、背景 我们在一个中间层的应用中使用了Servlet 3.0新增的异步特性。期望能提高应用的并发处理能力。不 Tomcat高性能调优探索 Read More »
RabbitMQ如何保证消息的可靠性Java, 开源组件, 架构设计, 消息队列 / Nick Tan / 2023-02-12 / 发表评论一、RabbitMQ消息丢失场景 RabbitMQ丢失的以下三种情况: 二、RabbitMQ消息丢失解决方案 RabbitMQ如何保证消息的可靠性 Read More »
幂等机制场景及解决方案Java, Redis缓存, 数据库, 架构设计, 软件设计 / Nick Tan / 2023-02-08 / 发表评论一、幂等场景 1、场景一:前端重复提交 用户注册,用户创建商品等操作,前端都会提交一些数据给后台服务,后台需要 幂等机制场景及解决方案 Read More »
Stream API使用教程详解Java, JDK, 开源组件 / Nick Tan / 2023-01-01 / 发表评论JDK8的重要更新除去Lambda之外还有Stream,两者结合使用为操作和计算数据提供了极大的便利。 一、S Stream API使用教程详解 Read More »
深入理解Spring AOP实现原理AOP, Java, 开源组件 / Nick Tan / 2022-12-31 / 发表评论一、什么是AOP? AOP(面向切面)编程,是一种编程思想;是对面向对象编程OOP的一种增强,OOP是纵向对一 深入理解Spring AOP实现原理 Read More »