会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SevenCoding
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
8
9
10
11
12
13
14
15
16
下一页
2024年12月31日
《深入理解Mybatis原理》MyBatis初始化机制详解
摘要: 主要构件及其相互关系 主要构件: 主要的核心部件解释如下: SqlSession: 作为MyBatis工作的主要顶层API,表示和数据库交互的会话,完成必要数据库增删改查功能 Executor:MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护 Statemen
阅读全文
posted @ 2024-12-31 08:15 程序员Seven
阅读(437)
评论(0)
推荐(1)
2024年12月30日
JDBC 底层原理
摘要: 概述 JDBC(Java DataBase Connectivity)是Java和数据库之间的一个桥梁,是一个「规范」而不是一个实现,能够执行SQL语句。JDBC由一组用Java语言编写的类和接口组成。各种不同类型的数据库都有相应的实现,注意:本文中的代码都是针对MySQL数据库实现的。 先看一个案
阅读全文
posted @ 2024-12-30 08:15 程序员Seven
阅读(171)
评论(0)
推荐(0)
2024年12月26日
如何控制bean的加载顺序?
摘要: 写在前面 springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题。在此基础上,又提供了spi机制,用spring.factories可以完成一个小组件的自动装配功能。 在一般业务场景,可能是不需要关心一个bean是如何被注册进spring容器的,只需要把需要注册进容器的bean声
阅读全文
posted @ 2024-12-26 08:15 程序员Seven
阅读(722)
评论(1)
推荐(3)
2024年12月24日
Spring事务管理深度解析-从实践到原理
摘要: 事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制 分类 主要分为编程式事务和声明式事务两种。 编程式事务 是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例: try { //TODO something transactionManager.comm
阅读全文
posted @ 2024-12-24 08:15 程序员Seven
阅读(1466)
评论(0)
推荐(1)
2024年12月23日
AOP中动态代理详解
摘要: 动态代理概述 什么是代理 代理模式(Proxy pattern): 为另一个对象提供一个替身或占位符以控制对这个对象的访问 什么是动态代理? 动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。 在生成代理对象的过程中,目标对象不变,代理对象中的方法是目
阅读全文
posted @ 2024-12-23 08:15 程序员Seven
阅读(416)
评论(0)
推荐(0)
2024年12月19日
从底层源码深入分析Bean的实例化
摘要: 生命周期的整体流程 Spring 容器可以管理 singleton 作用域 Bean 的生命周期,在此作用域下,Spring 能够精确地知道该 Bean 何时被创建,何时初始化完成,以及何时被销毁。 而对于 prototype 作用域的 Bean,Spring 只负责创建,当容器创建了 Bean 的
阅读全文
posted @ 2024-12-19 08:15 程序员Seven
阅读(426)
评论(0)
推荐(3)
2024年12月18日
Spring中的循环依赖是怎么个事?
摘要: 首先,有两种Bean注入的方式:构造器注入和属性注入。 对于构造器注入的循环依赖,Spring处理不了,会直接抛出BeanCurrentlylnCreationException异常。 对于属性注入的循环依赖 单例模式下,是通过三级缓存处理来循环依赖的。 非单例对象的循环依赖,则无法处理。 单例模式
阅读全文
posted @ 2024-12-18 08:15 程序员Seven
阅读(165)
评论(0)
推荐(0)
2024年12月16日
从底层源码深入分析Spring的IoC容器初始化过程
摘要: IOC容器的初始化整体过程 Spring是如何实现将资源配置(以xml配置为例)通过加载,解析,生成BeanDefination并注册到IoC容器中的?这主要会经过以下 4 步: 从XML中读取配置文件,并将配置文件转换为Document 再将Document中的 bean标签解析成 BeanDef
阅读全文
posted @ 2024-12-16 08:15 程序员Seven
阅读(459)
评论(0)
推荐(2)
2024年12月12日
Spring框架IoC核心详解
摘要: 介绍 IoC(Inversion of Control:控制反转) 是一种设计思想,而不是一个具体的技术实现。IoC 的思想就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理,由Spring容器管理bean的整个生命周期。通俗来说就是IoC是设计思想,DI是实现方式。 通过反射实
阅读全文
posted @ 2024-12-12 08:15 程序员Seven
阅读(648)
评论(1)
推荐(3)
2024年12月10日
Spring AOP基础、快速入门
摘要: 介绍 AOP,面向切面编程,作为面向对象的一种补充,将公共逻辑(事务管理、日志、缓存、权限控制、限流等)封装成切面,跟业务代码进行分离,可以减少系统的重复代码和降低模块之间的耦合度。切面就是那些与业务无关,但所有业务模块都会调用的公共逻辑。 先看一个例子:如何给如下UserServiceImpl中所
阅读全文
posted @ 2024-12-10 08:15 程序员Seven
阅读(779)
评论(2)
推荐(1)
2024年12月9日
全网最详细的Spring入门教程
摘要: 为什么用Spring 什么是Spring Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。 Spring的一个最大的目的就是使JAVA EE开发更加容易。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致
阅读全文
posted @ 2024-12-09 08:15 程序员Seven
阅读(2827)
评论(0)
推荐(2)
2024年12月7日
认识Redis集群
摘要: 概述 Redis单实例的架构,从最开始的一主N从,到读写分离,再到Sentinel哨兵机制,单实例的Redis缓存足以应对大多数的使用场景,也能实现主从故障迁移。 但是,在某些场景下,单实例存Redis缓存会存在的几个问题: 写并发:Redis单实例读写分离可以解决读操作的负载均衡,但对于写操作,仍
阅读全文
posted @ 2024-12-07 18:13 程序员Seven
阅读(475)
评论(0)
推荐(2)
2024年12月4日
Redis探秘Sentinel(哨兵模式)
摘要: 概述 Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是: 持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。 复制:复制是高可用Redis的基础,哨兵和集群都是在复制基础上实现高可
阅读全文
posted @ 2024-12-04 23:37 程序员Seven
阅读(877)
评论(0)
推荐(3)
2024年12月2日
一文聊清楚Redis主从复制原理
摘要: 本地缓存带来的挑战 分布式缓存相比于本地缓存,在实现层面需要关注的点有哪些不同。梳理如下: 维度 本地缓存 集中式缓存 缓存量 受限于单机内存大小,存储数据有限 需要提供给分布式系统里面所有节点共同使用,对于大型系统而言,对集中式缓存的容量诉求非常的大,远超单机内存的容量大小。 可靠性 影响有限,只
阅读全文
posted @ 2024-12-02 08:15 程序员Seven
阅读(845)
评论(0)
推荐(3)
2024年11月28日
Redis中常见的延迟问题
摘要: 使用复杂度高的命令 Redis提供了慢日志命令的统计功能 首先设置Redis的慢日志阈值,只有超过阈值的命令才会被记录,这里的单位是微妙,例如设置慢日志的阈值为5毫秒,同时设置只保留最近1000条慢日志记录: # 命令执行超过5毫秒记录慢日志 CONFIG SET slowlog-log-slowe
阅读全文
posted @ 2024-11-28 08:15 程序员Seven
阅读(595)
评论(0)
推荐(1)
2024年11月26日
Redis中的分布式锁(步步为营)
摘要: 分布式锁 概述 分布式锁指的是,所有服务中的所有线程都去获取同一把锁,但只有一个线程可以成功的获得锁,其他没有获得锁的线程必须全部等待,直到持有锁的线程释放锁。 分布式锁是可以跨越多个实例,多个进程的锁 分布式锁具备的条件: 互斥性:任意时刻,只能有一个客户端持有锁 锁超时释放:持有锁超时,可以释放
阅读全文
posted @ 2024-11-26 08:15 程序员Seven
阅读(809)
评论(0)
推荐(1)
2024年11月25日
Redis究竟为什么这么快?
摘要: Redis为什么这么快? 完全基于内存,数据存在内存中,绝大部分请求是纯粹的内存操作,非常快速,跟传统的磁盘文件数据存储相比,避免了通过磁盘IO读取到内存这部分的开销。 数据结构简单,对数据操作也简单。【Redis中的数据结构】是专门进行设计的,每种数据结构都有一种或多种数据结构来支持。Redis正
阅读全文
posted @ 2024-11-25 08:15 程序员Seven
阅读(1877)
评论(2)
推荐(4)
2024年11月22日
Redis中有事务吗?有何不同?
摘要: 与关系型数据库事务的区别 Redis事务是指将多条命令加入队列,一次批量执行多条命令,每条命令会按顺序执行,事务执行过程中不会被其他客户端发来的命令所打断。也就是说,Redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。 Redis事务和关系型数据库的事务不太一样,它不保证原子性,也
阅读全文
posted @ 2024-11-22 08:15 程序员Seven
阅读(461)
评论(0)
推荐(0)
2024年11月21日
万字长文带你深入Redis底层数据结构
摘要: Redis数据库的数据结构 Redis 的键值对中的 key 就是字符串对象,而 value 就是指Redis的数据类型,可以是String,也可以是List、Hash、Set、 Zset 的数据类型。 其实是Redis 底层使用了一个全局哈希表保存所有键值对,哈希表的最大好处就是 O(1) 的时间
阅读全文
posted @ 2024-11-21 08:15 程序员Seven
阅读(948)
评论(0)
推荐(2)
2024年11月20日
Redis中常见的数据类型及其应用场景
摘要: 五种常见数据类型 Redis中的数据类型指的是 value存储的数据类型,key都是以String类型存储的,value根据场景需要,可以以String、List等类型进行存储。 各数据类型介绍: Redis数据类型对应的底层数据结构 String 类型的应用场景 常用命令 存放键值:set key
阅读全文
posted @ 2024-11-20 08:15 程序员Seven
阅读(646)
评论(0)
推荐(3)
上一页
1
···
8
9
10
11
12
13
14
15
16
下一页
公告