深度解析 Spring Boot 以及手写一个 starter
什么是 Spring Boot Spring Boot 基本上是 Spring 框架的扩展,它消除了设置 Spring 应用程序所需的复杂例行配置。我们在使用 Spring 框架的时候,我们接触得比较多的应该是 Spring MVC、 IO...
什么是 Spring Boot Spring Boot 基本上是 Spring 框架的扩展,它消除了设置 Spring 应用程序所需的复杂例行配置。我们在使用 Spring 框架的时候,我们接触得比较多的应该是 Spring MVC、 IO...
什么是索引 数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 大家看下上面的图就很清晰明了了,索引就是查字典嘛,比如说我要去字典里面找个帅字,你肯定不会从头找到尾,一页一页翻吧,你肯定是先去...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
小伙们大家好,本篇是并发编程的第三篇,上一节跟大家讲了synchronized,这一节我们来聊聊他的好兄弟volatile,volatile的功能稍微差一点,他只有可见性和有序性,那么他的底层是如何保障可见性和有序性,以及什么是Java内存...
大家好,我是jack xu,不知道从什么时候开始,本来默默无闻的布隆过滤器一下子名声大燥,在面试中面试官问到怎么避免缓存穿透,你的第一反应可能就是布隆过滤器,缓存穿透=布隆过滤器成了标配,但具体什么是布隆过滤器,怎么使用布隆过滤器不是很清楚...
前言 大家好,我是jack xu,本篇是并发编程的第二篇,今天跟大家聊一聊线程池的那点事。本篇文章有点长,小伙们静下心、耐下心来把他看完。。 为什么要使用线程池 1)降低创建线程和销毁线程的性能开销 2)提高响应速度,当有新任务需要执行是不...
前言 小伙伴大家好,我是jack xu,今天跟大家来聊一聊synchronized。本篇是并发编程中的第一篇,为什么说是第一篇呢,因为并发编程涉及的东西太多太多,晦涩难懂,随便一个知识点拉出来都可以写一篇文章,如此算来写完并发编程一个系列最...
前言 大家好,我是jack xu,本篇是我在掘金的首秀,我的英文名来源于jack ma,马云,所以大家也可以叫我徐云,即我希望像马云一样富有、成功,另外我名字中的杰与jack也是谐音关系。 今天给大家带来的是一篇docker的科普入门篇,本...
在部分存在字数限制的场景下(例如微博的140字限制和长短信拆分),如果填入很长的链接将占用可用的文本长度,需要将长链接转换为短链接。 一、功能分析 一个短链接服务对外仅需要暴露两个功能 1、 短链生成:提交网址,返回生成的短链接 2、 访问...
本文重点并不在于提供一个可运行的Redis分布式锁示例,而是结合图文理解redis的分布式锁实现上的细节,以及为什么要这样做。 实现方式 用伪代码的形式简单介绍实现方式 获取锁 SET resource_name my_random_val...
在业务开发中,定时任务是个很常见的需求,但是当服务器进行水平扩展,部署多个节点之后,分散在多个节点的任务将被重复执行。 如果是定时压缩日志之类的幂等操作的话还好,并不会产生额外的后果。但如果执行的是非幂等操作,例如发送消息通知,导致重复通知...