暂时未有相关云产品技术能力~
暂无个人介绍
保护性暂停是一种同步模式,用于保护共享资源的完整性。在多线程或多进程环境中,如果多个线程或进程同时访问共享资源,可能会导致数据不一致或者竞态条件等问题
远程调试就是服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码( 前提是本地 的代码必须和远程服务器运行的代码一致 )中设置断点,每当有请求到远程服务器时时能够在本地知道 远程服务端的此时的内部状态
对于前后端分离的项目来说跨域是一个难题,对于跨域问题有多中解决方案,比如JSONP,网关支持等等。主要介绍如何使用过滤器来解决跨域问题。
web 监听器的使用场景很多,比如监听 servlet 上下文用来初始化一些数据、监听 http session 用来获取当前在线的人数、监听客户端请求的 servlet request 对象来获取用户的访问信息等等。这一节中,我们主要通过这三个实际的使用场景来学习一下 Spring Boot 中监听器的使用。
使用拦截器很简单,只需要两步即可:定义拦截器和配置拦截器。在配置拦截器中,Spring Boot 2.0 以后的版本和之前的版本有所不同,我会重点讲解一下这里可能出现的坑。
本篇文章主要讲述java 后端 实现 CORS 跨域请求的方式
本篇文章记录的为SpringBoot Jackson序列化,ObjectMapper,configureMessageConverters,MappingJackson2HttpMessageConverter消息转换器相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬
今天来简单认识一些Linux的基本目录, 帮助我们快速了解Linux的基本文件结构
WebMvcConfigurationSupport 和 WebMvcConfigurer 的使用过程中你是否踩坑了它们的区别是什么快来看看吧
ReentrantLock 对其操作都转化为对 Sync 对象的操作,由于 Sync 继承了 AQS,所以基本上都可以转化为对 AQS 的操作。如将 ReentrantLock 的 lock 函数转化为对 Sync 的 lock 函数的调用,而具体会根据采用的策略 (如公平策略或者非公平策略) 的不同而调用到 Sync 的不同子类。
@RequestParam注解获取URL中携带的请求参数的值既URL中“?”后携带的参数,传递参数的格式是:key=value;@PathVariable注解用于获取URL中路径的参数值,参数名由RequestMapping注解请求路径时指定,常用于restful风格的api中,传递参数格式:直接在url后添加需要传递的值即可
本篇文章讲述了在高并发场景下 redis缓存一致性问题 & 秒杀场景下的实战分析, 数据库缓存不一致解决方案, 缓存与数据库双写一致以及秒杀场景下缓存一致性问题的实战解决方案
这是一期关于JDK8 新特性 Stream API 进阶使用的文章, 来帮助咱们经常写crud的朋友来简化开发, 可能你刚开始用的时候很抵触, 但是你用熟练了会觉得它真的爽.希望大家多多支持
基于redis和mysql的倒排索引在分库分表的应用,追求极致性能
快速安装Docker中的基本应用软件, 快速入门
Docker的入门篇, docker的基本命令应该了解一下的
Docker使用一种称为名称空间的技术来提供容器的隔离工作区。 运行容器时,Docker会为该容器创建一组名称空间。 这些名称空间提供了一层隔离。 容器的每个方面都在单独的名称空间中运行,并且对其的访问仅限于该名称空间。
在Spring AOP中,JoinPoint和ProceedingJoinPoint是两个非常重要的概念,它们都是AOP中的切点。 因此,JoinPoint和ProceedingJoinPoint的区别在于,ProceedingJoinPoint包含了一个proceed()方法,该方法用于执行目标方法,而JoinPoint则不包含该方法。在编写AOP切面时,如果需要在目标方法执行前或执行后做一些处理,可以使用JoinPoint;如果需要在目标方法执行过程中做一些处理,可以使用ProceedingJoinPoint。
1、组件说明 DispatcherServlet:中央控制器,前端控制器 用户请求到达前端控制器(dispatcherServlet),他是整个流程控制的中心,由它负责调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。 这玩意可以理解成一个【咨询处】,你去某个地方办事,先去咨询处问问我们应该先干什么,等第一件事做完了,可以接着去咨询处咨询,你的下一步工作应该是什么。 handler:处理器 Handler也叫后端控制器,在DispatcherServlet的控制下H
参考了redis的相关学习课程,缓存穿透,缓存击穿,缓存雪崩,缓存预热,并总结了一些redis实战过程中的高频面试题,模拟了一些实际业务场景。
Jackson2JsonRedisSerializer和FastJsonRedisSerializer的实战应用
为了防止数据丢失以及服务重启时能够恢复数据,Redis 支持数据的持久化,主要分为两种方式,分别是 RDB 和 AOF;那么实际场景该如何实现呢?以上就是对这次redis持久化机制再次学习的总结与分享,希望能够帮助大家解决一些实际开发中的问题,如果各位大佬有其他更好的看法与观点,欢迎评论区留言和私信。
这是redis整合springboot在单人单机的场景下进行模拟的秒杀业务,通过乐观锁的方式实现. 供大家参考学习
Redission可重入锁解决分布式秒杀业务,并使用阻塞队列进行异步下单操作
别再踩坑, yyyy-MM-dd和YYYY-MM-dd格式化日期的区别你知道吗?
♨️本篇文章记录的为Mybatis知识中相关内容,适合在学Java的小白,也适合复习中,面试中的大佬🙉🙉🙉。♨️如果文章有什么需要改进的地方还请大佬不吝赐教❤️🧡💛💖💖。
♨️本篇文章记录的为JUC知识中Synchronized相关内容,适合在学Java的小白,也适合复习中,面试中的大佬🙉🙉🙉。♨️如果文章有什么需要改进的地方还请大佬不吝赐教❤️🧡💛💖💖。
🐇🐇🐇前言:RabbitMQ是Apache公司的顶级项目之一, 也是目前各大互联网公司常用的🔥主流MQ🔥之一, 因此在这里向大家介绍RabbitMQ的基础知识和相关应用, 供大家参考学习, 也望大佬给出指点与建议,谢谢大家❤️❤️❤️
🐇🐇前言:我们的RabbitMQ经常被用来做⚡秒杀类业务⚡,所以在商城类项目中充当着一个很重要的中间件,关于它的高级特性和企业级项目中的一些重点问题的解决方案在这里我会进行详细的总结, 并在最后展示一部分。
并发三要素:可见性, 原子性, 有序性,并发问题该怎样解决,怎样实现数据同步,这篇文章为您解决
上期我们使用阻塞队列和分布式锁Redission分布式锁对业务功能进行优化,解决了在分布式环境下的秒杀安全问题,但是呢阻塞队列的确不够优雅, 现在我们要用一种更优雅的方式实现异步下单, 今天我们的主角就是RabbitMQ.
今天来唠一唠🐇消息可靠性保障和幂等性概念🐇及业界主流解决方案, 欢迎伙伴们学习💖💖💖
15分钟快速掌握Mybatis中的多表操作(一对一,一对多,多对多), 查询过程, 查询结果.以及学习和关键属性的应用👍👍👍
亲妈级Nginx安装教程&&核心配置讲解( 最新版 ),nginx如何安装以及安装之后如何配置, 以及配置文件中的各个参数的作用,一步到位
为了保障操作的原子性, 避免数据不一样的情况,我们一般都会用到spring事务.但spring事务失效的12种场景, 实在太坑了
mysql百万数据查询优化, 索引调优, 索引失效等问题 , 这篇文章来为你解答
对于耗时业务和核心数据,不能让重复的请求同时操作数据,避免数据的不正确,所以要使用分布式锁来对它们进行保护。有些业务请求,属于耗时操作,需要加锁,防止后续的并发操作,同时对数据库的数据进行操作,需要避免对之前的业务造成影响。
不必再造轮子了, 这款代码生成器(一键生成)真的很强.对于百余张表的数据库,使用代码生成器让开发事半功倍。
这是最详细的Redisson锁重入, 锁重试, Watchdog看门狗, 锁续约机制源码讲解 Redisson分布式锁原理:可重入:利用hash结构记录线程id和重入次数可重试:利用信号量和PubSub功能实现等待、唤醒,获取锁失败的重试机制超时续约:利用watchDog,每隔一段时间(releaseTime), 重置超时时间
validator Engine 是支持Javax.validator 的接口的实现, 并且可以通过一些简单的标注的形式(annotation形式)实现一个校验的形式, 它其实也是一个约定大于执行的过程
redis的7中常见数据结构String、List、Set、Zset、Hash,HyperLogLogs(基数统计),Bitmap (位存储)详解,常见指令的使用,以及相关原理与实战场景的使用,感兴趣的大佬直接戳进来就对了
2023了,为什么选择Nacos,这篇文章让你入门Nacos.Nacos算是阿里的巅峰之作了 , 集万千优点与一身, 比Eureka更便捷,更优秀,更完美而且Nacos的社区非常的活跃因为它使用简单,易操作,易上手而且比Eureka有着更加优秀的控制台界面.下面来简单认识一下今天的主角Nacos吧
都2023年了,如果你不会Lambda表达式、函数式编程?你确定能看懂公司代码? 那么建议来了解一下Lambda表达式, 因为它使用简单,易操作,易上手而代码简洁,开发快速,一看就令人很爽😎😎😎 . 其实Lambda表达式接近自然语言,易于理解 , 集万千优点与一身, 比匿名内部类更加完美👉👉👉.下面来简单认识一下今天的主角Lambda表达式吧
HashMap在现在已然成为了一个老生常谈的话题, 不管是正在学java的小白还是不断跳槽升值的老鸟, 在面试中HashMap几乎不可避免的会被问到, 你可以不被问到, 但你不能不会, 本篇文章的内容就是HashMap的实现原理和源码解读, 各位观众老爷们一起来看看吧
告别了OOP编程, 迎来了一个新的AOP编程时代👍👍👍, 最近有同学问我AOP除了写日志还能干什么, 其实AOP能干的事情挺多的, 可能只是他们写的代码中暂时用不到. 其实如果当我们写一些简单的程序的时候, SpringSecurity完全用不到的时候, 就可以使用AOP与自定义注解来为角色的访问权限进行鉴定, 绝对比Security更轻量👉👉👉 我们在接触框架的时候经常会用到注解, 但是我们自己自定义注解的情况比较少, 一般都是配合切面编程使用, 一起来看看吧
下面来简单认识一下今天的主角Nacos吧.Nacos给我们提供了一个这样的服务分级存储模型:1级是服务, 2级是集群, 3级是实例. Nacos提供了权重配置来控制访问频率, 权重越大访问频率越高;Nacos同一集群的默认权重是1:1的;Nacos控制台可以设置实例的权重值0~1之间
都2023年了,如果你不会Stream流、函数式编程?你确定能看懂同事写的代码? 那么建议来了解一下Stream流, 因为它使用简单,易操作,易上手而代码简洁,开发快速,一看就令人很爽😎😎😎 . 其实Stream流式编程表达式接近自然语言,易于理解 , 集万千优点与一身, 语法优美👉👉👉.下面来简单认识一下今天的主角Stream流吧
记录一下sql调优中学到的东西,使用mysql的json列的存储方式,将一个200ms的查询减少到了20ms, 这是一个非常好的办法, 在以后的sql调优中, 不只是索引可以办到, 不妨试试json, 也许效果更好
2023年主流的选择仍是Feign, http客户端Feign还能再战,Feign并没有过时。Feign是一个基于HTTP的客户端,它可以帮助开发人员轻松地编写RESTful API客户端。它提供了一种简单的方式来定义和使用RESTful服务,而不需要手动编写HTTP请求和解析响应。Feign还提供了负载均衡和服务发现的支持,使得它在微服务架构中非常有用。虽然现在有一些新的HTTP客户端库出现,但Feign仍然是一个非常流行和可靠的选择