本篇主要讲述什么是Spring和它的IOC容器的实现原理,AOP切面编程以后再说。一、Spring概述1.1 什么是SpringSpring是以IOC(控制反转)和AOP(面向切面编程)为内核的轻量级开源框架。狭小方面来说相当于用一个容器来针对管理我们开发中的bean的生命周期。宽广方面来说它可以集成其它框架技术来完成对JavaEE企业级的开发。想了解更多可以移步至Spring官网。1.2 Spr
转载 2024-04-14 10:20:20
82阅读
目录SDS 的设计到底有多牛逼。List、Set、Sorted Set、Hash 底层实现原理SDS 的设计到底有多牛逼Redis 使用 C 语言编写,但是并没有直接使用 C 语言自带的字符串,而是使用了 SDS 来管理字符串。接下来就来探讨下为什么 Redis 使用了 SDS 来管理字符串。SDS 全称 Simple Dynamic String,即简单动态字符串。SDS 组成部分如下:
Redis 简介Redis 是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的 Web 应用程序。Redis 也被作者戏称为 数据结构服务器 ,这意味着使用者可以通过一些命令,基于带有 TCP 套接字的简单 服务器-客户端 协议来访问一组 可变数据结构 。(在 Redis 中都采用键值对的方式,只
转载 2023-08-11 15:07:53
145阅读
Redis的数据结构,可以在两个不同的层面来讨论它,第一个层面,是从使用者的角度。比如:string、list、hash、set、zset(sorted set)五种数据类型,这一层面也是Redis暴露给外部的调用接口。第二个层面,就是这五种数据类型的内部实现结构,属于更底层的实现。比如:dict(字典)、sds(simple dynamic string简单动态字符串)、intset(整数集合)
文章目录一、基本定义一、类对象的解析一、ISA指针指向解析1.2.3. 影响对象内存的因素二、元类的继承类关系1. 位域的定义2. 联合体的定义3. 结构体和联合体的区别三、内存平移的概念1. 要点2. 通过isa地址获取类对象的内存地址四、 实例方法、属性的存储位置分析五、问题六、用到的指令七、其它 一、基本定义类对象:即类,oc中用@interface 定义。大多数的类对象继承自NSObj
上一次为大家介绍了AES算法的基本概念,我们是有追求的程序员,不能知其然不知其所以然。这一次,我来了解一下AES算法的底层原理。小明:老师,上一次你介绍了AES算法的基本概念,这一次可不可以讲讲AES的底层加密解密原理?老师:没问题,让我们先来回顾一下AES算法整体的关系图。上一篇我们已经对AES的总体加密流程进行了介绍,在这里我们重新梳理一下:1.把明文按照128bit拆分成若干个明文块。2.按
转载 2024-03-19 16:16:30
100阅读
一、高效分布式锁当我们在设计分布式锁的时候,我们应该考虑分布式锁至少要满足的一些条件,同时考虑如何高效的设计分布式锁,这里我认为以下几点是必须要考虑的。1、互斥在分布式高并发的条件下,我们最需要保证,同一时刻只能有一个线程获得锁,这是最基本的一点。2、防止死锁在分布式高并发的条件下,比如有个线程获得锁的同时,还没有来得及去释放锁,就因为系统故障或者其它原因使它无法执行释放锁的命令,导致其它线程都无
转载 2023-08-06 00:59:42
312阅读
KVO,全称为Key-Value observing,中文名为键值观察,KVO是一种机制,它允许将其他对象的
原创 2021-06-29 16:37:28
1009阅读
1.首先从hash表开始 hash表检索速度很快,时间复杂度为O(1),但是不能进行范围查询,而数据库的调用往往需要用到范围查询2.为了解决范围查询,用到了二叉排序树 二叉排序树解决了范围查询问题,但是存在极端情况,就是二叉排序树只有左子树,而且左子树呈现链状,这种情况下,查询效率就非常低了,并且数据库中的主键例如id等大部分情况下也是呈顺序排列3.为了解决极端情况,提出了红黑树和AVL(自平衡二
转载 2024-02-02 08:04:45
27阅读
文章目录第二章 Java并发机制的底层实现原理框架图volatile的应用volatile的定义和实现原理volatile的使用优化synchronized的实现原理与应用Java对象头锁的升级与对比偏向锁轻量级锁锁的优缺点对比原子操作的实现原理处理器如何实现原子操作Java如何实现原子操作 第二章 Java并发机制的底层实现原理框架图高清图片地址高清图片地址volatile的应用简单介绍:是一
引言ArrayList集合类在面试、开发中饱受关注,用起来也是真香。本篇文章有针对性的归纳整理ArrayList的常见问题,如有遗漏,欢迎留言或评论。面试开始小伙子,说下ArrayList的底层数据结构吧?ArrayList的底层数据结构就是一个数组,数组元素的类型为Object类型,对ArrayList的所有操作底层都是基于该数组的。程序清单1: ArrayList的底层数组transient
转载 2023-07-04 14:42:37
86阅读
   SpringDataJPA     JPA规范概述: JPA是ORM框架的一个规范,而ORM框架就是不注重SQL语句,注重对象的操作,把对象和数据库进行隐射从而到达操作对象已达到操作数据库表;例如: INSERT INTO *** VALUES( id , user , address ) 大体的SQL语句不会更改,那么只要我们把需要替换的给做成映射替换成真正要执行的语句就可以了;
转载 2021-05-11 23:49:00
193阅读
2评论
KVC的全称是Key-Value Coding,翻译成中文是 键值编码,键值编码是由NSKeyValueCo
KVC
原创 2021-06-29 16:11:21
467阅读
iOS 底层原理 文章汇总KVO,全称为Key-Value observing,中文名为键值观察,KVO是一种机制,它允许将其他对象的指定属性的更改通知给对象。在Key-Value Observing Programming Guide官方文档
原创 2021-09-01 17:25:47
321阅读
前言Redis对于我们来说并不陌生,它是线程安全的(单线程),单机redis支撑万级,超过十万+级别并发量就需要用的Redis集群了。然而虽然并发量提升了同时也会有另外的问题,那就是数据不一致问题,这个时候我们就可以用的分布式锁,而Redisson已经帮我们实现好了,我们只要引入Redisson  Jar包就行。介绍Redisson 不只是一个 Java Redis 客户端,它是一个以内
转载 2023-08-07 22:29:41
233阅读
本文主要介绍block的类型、循环引用的解决方法以及block底层的分析block 类型block主要有三种
原创 2021-07-02 14:28:43
1191阅读
iOS 底层原理 文章汇总KVC的全称是Key-Value Coding,翻译成中文是 键值编码,键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该协议来间接访问其属性。既可以通过一个字符串key来访问某个属性。这种间接访问机
原创 2021-09-01 17:00:33
457阅读
本文为转过来,对Spring进行了总体上的说明,有益于建立对Spring的总体把握和认识。 1、spring原理spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中,程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间的藕合度。它的原理是在applicationContext.xml加入bean标记,在bean标记中通过class属性说明具体类名、通过propert
转载 2023-07-20 15:32:42
61阅读
IO,其实意味着:数据不停地搬入搬出缓冲区而已(使用了缓冲区)。比如,用户程序发起读操作,导致“ syscall read ”系统调用,就会把数据搬入到 一个buffer中;用户发起写操作,导致 “syscall write ”系统调用,将会把一个 buffer 中的数据 搬出去(发送到网络中 or 写入到磁盘文件)上面的过程看似简单,但是底层操作系统具体如何实现以及实现的细节就非常复杂了。正是因
转载 2023-12-28 14:35:59
39阅读
HashMap简介: HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 HashMap 的实现不是同步的,这...
转载 2022-03-17 10:21:38
243阅读
  • 1
  • 2
  • 3
  • 4
  • 5