如果找到了相同的键,则使用新的值取代旧的值,即更新键对应的值。 如果没有找到相同的键,则将新的键值对添加到链表的头部。 如果键值对集合是红黑树结构,在红黑树中使用哈希码和equals()方法进行查找。...根据键的哈希码,定位到红黑树中的某个节点,然后逐个比较键,直到找到相同的键或达到红黑树末尾。 如果找到了相同的键,则使用新的值取代旧的值,即更新键对应的值。...spring 常用注解有什么? @Autowired 注解 @Autowired:主要用于自动装配bean。当Spring容器中存在与要注入的属性类型匹配的bean时,它会自动将bean注入到属性中。...隔离性(Isolation):数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致,因为多个事务同时使用相同的数据时,不会相互干扰,每个事务都有一个完整的数据空间...当开启了混合持久化时,在 AOF 重写日志时,fork 出来的重写子进程会先将与主线程共享的内存数据以 RDB 方式写入到 AOF 文件,然后主线程处理的操作命令会被记录在重写缓冲区里,重写缓冲区里的增量命令会以
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。...重写表现为父子与子类之间方法的多态性。 对象类型转换:基本类型的数据可以转换类型,当转换类型较高时可以自动转换,当转换类型较低时需要强制转换。...当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用链表来解决碰撞问题,当发生碰撞时,对象将会储存在链表的下一个节点中。...当两个不同的键对象的hashcode相同时,它们会储存在同一个bucket位置的链表中,可通过键对象的equals()方法来找到键值对。...在HashMap中,null可以作为键,这样的键只有一个,但可以有一个或多个键所对应的值为null。
该容器从XML 文件读取配置元数据并用它去创建一个完全配置的系统或应用。 7....Spring容器 从XML 文件中读取bean的定义,并实例化bean。 Spring根据bean的定义填充所有的属性。...byName:通过参数名 自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。...byType::通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。...对象都在堆里创建,为了提升效率线程会从堆中弄一个缓存到自己的栈,如果多个线程使用该变量就可能引发问题,这时volatile 变量就可以发挥作用了,它要求线程从主存中读取变量的值。
继承 2.重写 3.向上转型 好处:可以屏蔽不同子类对象之间的实现差异。 抽象: 从特定的角度出发,从已经存在的一些事物中抽取我们所关注的 特性,行为,从而形成一个新的事物的思维过程。...被覆盖的方法不能是private 的。 重载: 表示同一个类中可以有多个名称相同的方法。...HashTable 是不允许键或值为null的,HashMap的键值都可以是null,原因在于HashTable使用的是安全失败机制(fail-fast),如果键或值为空会直接抛出异常;而HashMap...,当有多个线程访问时,需要多个线程竞争一把锁,导致阻塞 ConcurrentHashMap则使用分段,相当于把一个HashMap分成多个,然后每个部分分配一把锁,这样就可以支持多线程访问 17)HashMap...(会造成幻读、不可重复读),SQL Server的默认级别 REPEATABLE_READ: 可重复读,保证多次读取同一个数据时,其值都和事务开始时候的内容是一致的,禁止读取别的事务未提交的数据(会造成幻读
该容器从XML 文件读取配置元数据并用它去创建一个完全配置的系统或应用。 7....Spring容器 从XML 文件中读取bean的定义,并实例化bean。Spring根据bean的定义填充所有的属性。...当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring 的 基于XML的 配置元数据中,可以在 或 Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。...byType:通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,*之后容器试图匹配、装配和该bean的属性具有相同类型的bean。
该容器从XML 文件读取配置元数据并用它去创建一个完全配置的系统或应用。 7....Spring容器 从XML 文件中读取bean的定义,并实例化bean。 Spring根据bean的定义填充所有的属性。...当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring 的 基于XML的 配置元数据中,可以在 或 元素内使用 元素,内部bean通常是匿名的...byName:通过参数名 自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。...byType::通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。
从服务器即使发现过期键也不会自作主张删除它,而是等待主节点发来del命令。这种统一、中心化的过期键删除策略可以保证主从服务器数据的一致性。当然,从服务器读取数据时也会检查是否过期。...noeviction: 当Redis的内存达到maxmemory时,不执行任何操作,而是返回错误allkeys-lru: 使用LRU算法从所有键中进行淘汰allkeys-lfu: 使用LFU算法从所有键中进行淘汰...因此,Redis引入了AOF重写机制来压缩文件体积。(2)AOF重写功能的实现原理首先从数据库中读取键现在的值,然后用记录键值对的一条命令,代替之前记录该键值对的多条命令。...父进程把AOF重写缓冲区的数据写入到新的AOF文件,父进程使用新AOF文件原子性地替换旧的AOF文件,完成AOF重写。(8)AOF重写过程中的阻塞风险问题:AOF重写过程中有没有其他潜在阻塞风险?...但写时复制机制,让父子进程共享相同物理内存页,当父进程要写请求时才会创建页副本。所以要避免大量写入时做持久化操作,这会导致父进程维护大量的页副本。
在Spring配置文件中配置了init-method属性会自动调用其配置的初始化方法。 ...(这种线程池原理暂还没完全了解透彻) 16、SQL 优化的常见方法有哪些 查询条件减少使用函数,避免全表扫描 减少不必要的表连接 有些数据操作的业务逻辑可以放到应用层进行实现 可以使用with as 尽量避免使用游标...因此就需要有一种机制可以不让等待的线程一直无期限地等待下去(比如只等待一定的时间或者能够响应中断),通过Lock就可以办到 再举个例子:当有多个线程读写文件时,读操作和写操作会发生冲突现象,写操作和写操作会发生冲突现象...当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做 JDK提供了AtomicReference类来保证引用对象之间的原子性,就可以把多个变量放在一个对象里来进行CAS操作。...,导致事务A多次读取同一数据时,结果 不一致。
6、对象头:锁机制 偏向锁、无锁,锁的膨胀,自旋锁,jvm内部的自动升级如何完成的 7、磁盘预读 系统是分页读取和存储的,一般一页为4KB,每次读取和存取的最小单元为一页,预读即在读取的起始地址连续读取多个页面...2、惰性空间释放:对字符串进行缩短操作时,程序不立即使用内存重新分配来回收缩短后多余的字节,而是使用 free 属性将这些字节的数量记录下来,等待后续使用。...字典中的每一个键 key 都是唯一的,通过 key 可以对值来进行查找或修改。C 语言中没有内置这种数据结构的实现,所以字典依然是 Redis自己构建的。...这里采用的便是链地址法,通过next这个指针可以将多个哈希值相同的键值对连接在一起,用来解决哈希冲突。 ? (1)解决哈希冲突: 方法是链地址法。...通过字典里面的 *next 指针指向下一个具有相同索引值的哈希表节点。 (2)扩容和收缩: 当哈希表保存的键值对太多或者太少时,就要通过 rerehash(重新散列)来对哈希表进行相应的扩展或者收缩。
该容器从XML文件中读取配置元数据,并用它来创建一个完备的系统或应用。 7.解释AOP模块 AOP模块用来开发Spring应用程序中具有切面性质的部分。...map用来注入一组”键-值”对,键、值可以是任何类型的。 props也可以用来注入一组”键-值”对,这里的键、值都字符串类型。 31.什么是bean wiring?...byName:通过参数名自动装配,Spring容器查找beans的属性,这些beans在XML配置文件中被设置为byName。之后容器试图匹配、装配和该bean的属性具有相同名字的bean。...自动装配有如下局限性: 重写:你仍然需要使用 和设置指明依赖,这意味着总要重写自动装配。 原生数据类型:你不能自动装配简单的属性,如原生类型、字符串和类。...@Qualifier 注解 当有多个相同类型的bean而只有其中的一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用消除这种混淆,指明需要装配的bean。
我们需要仔细检查代码逻辑,尤其是在使用容器类、线程、文件IO等功能时,要特别注意资源的释放和关闭。...例如,如果是请求网页,服务器会读取相应的网页文件,并生成HTTP响应。 访问地址,网络不通怎么排查? 最直接的办法就是抓包,排查的思路大概有: 先确定是服务端的问题,还是客户端的问题。...也可以将字段多的表分解成多个表,有些字段使用频率高,有些低,数据量大时,会由于使用频率低的存在而变慢,可以考虑分开。...乐观锁: 基本思想:乐观锁假设多个事务之间很少发生冲突,因此在读取数据时不会加锁,而是在更新数据时检查数据的版本(如使用版本号或时间戳),如果版本匹配则执行更新操作,否则认为发生了冲突。...在大多数情如果要判断对象的内容是否相同,则需要重写 equals() 方法,则通过用户自定义的逻辑进行比较,例如比较某些属性值是否相同。
该容器从XML 文件读取配置元数据并用它去创建一个完全配置的系统或应用。 7....解释Spring框架中bean的生命周期 Spring容器 从XML 文件中读取bean的定义,并实例化bean。 Spring根据bean的定义填充所有的属性。...当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring 的 基于XML的 配置元数据中,可以在或 元素内使用元素,内部bean通常是匿名的...byType:通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。...@Qualifier 注解 当有多个相同类型的bean却只有一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用以消除这种混淆,指定需要装配的确切的bean。
要比较两个类的内容属性值,是否相同时候,根据hashCode 重写规则,重写类的 指定字段的hashCode(),equals()方法。...不允许null作为键,null作为值。 Properties:用于配置文件的定义和操作,使用频率非常高,同时键和值都是字符串。是集合中可以和IO技术相结合的对象。 HashMap:线程不安全,速度慢。...重写方法重写:方法名相同,访问修饰符只能大于被重写的方法访问修饰符,方法签名个数,顺序个数类型相同。 Override(重写) 方法名、参数、返回值相同。 子类方法不能缩小父类方法的访问权限。...这就增加了处理过程中的灵活性。通俗来说,NIO采取了“预读”的方式,当你读取某一部分数据时,他就会猜测你下一步可能会读取的数据而预先缓冲下来。...IO是阻塞的,NIO是非阻塞的 对于传统的IO,当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入。该线程在此期间不能再干任何事情了。
该容器从XML 文件读取配置元数据并用它去创建一个完全配置的系统或应用。 7....Spring容器 从XML 文件中读取bean的定义,并实例化bean。 Spring根据bean的定义填充所有的属性。...当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring 的 基于XML的 配置元数据中,可以在 或 Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。...byType::通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。
该容器从XML文件中读取配置元数据,并用它来创建一个完备的系统或应用。 7.解释AOP模块 AOP模块用来开发Spring应用程序中具有切面性质的部分。...例如,当Spring需要产生每次一个新的bean实例时,应该声明bean的scope属性为prototype。...• map用来注入一组”键-值”对,键、值可以是任何类型的。 • props也可以用来注入一组”键-值”对,这里的键、值都字符串类型。 31.什么是bean wiring?...• byName:通过参数名自动装配,Spring容器查找beans的属性,这些beans在XML配置文件中被设置为byName。之后容器试图匹配、装配和该bean的属性具有相同名字的bean。...@Qualifier 注解 当有多个相同类型的bean而只有其中的一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用消除这种混淆,指明需要装配的bean。
该容器从XML文件中读取配置元数据,并用它来创建一个完备的系统或应用。 7.解释AOP模块 AOP模块用来开发Spring应用程序中具有切面性质的部分。...Spring提供如下几种类型的集合配置元素: list元素用来注入一系列的值,允许有相同的值。 set元素用来注入一些列的值,不允许有相同的值。...map用来注入一组”键-值”对,键、值可以是任何类型的。 props也可以用来注入一组”键-值”对,这里的键、值都字符串类型。 31.什么是bean wiring?...byName:通过参数名自动装配,Spring容器查找beans的属性,这些beans在XML配置文件中被设置为byName。之后容器试图匹配、装配和该bean的属性具有相同名字的bean。...@Qualifier 注解 当有多个相同类型的bean而只有其中的一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用消除这种混淆,指明需要装配的bean。
该容器从XML文件中读取配置元数据,并用它来创建一个完备的系统或应用。 7.解释AOP模块 AOP模块用来开发Spring应用程序中具有切面性质的部分。...例如,当Spring需要产生每次一个新的bean实例时,应该声明bean的scope属性为prototype。...27.解释Spring框架中bean的生命周期 Spring容器读取XML文件中bean的定义并实例化bean。 Spring根据bean的定义设置属性值。...byName:通过参数名自动装配,Spring容器查找beans的属性,这些beans在XML配置文件中被设置为byName。之后容器试图匹配、装配和该bean的属性具有相同名字的bean。...@Qualifier 注解 当有多个相同类型的bean而只有其中的一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用消除这种混淆,指明需要装配的bean。
· Spring容器从XML 文件中读取bean的定义,并实例化bean。 · Spring根据bean的定义填充所有的属性。...当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring 的基于XML的配置元数据中,可以在或 Spring中如何注入一个java集合? Spring提供以下几种集合的配置元素: 类型用于注入一列值,允许有相同的值。 类型用于注入一组值,不允许有相同的值。...byName:通过参数名自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。...byType:通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。
封装、继承、多态封装:将抽象出来的数据(属性和方法)封装到一起,private get set继承:子类具有父类的属性与方法(extends super this)重写 重载多态:一个实体具有多种状态(...基于继承的实现机制主要表现在父类和继承该父类的一个或多个子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为。...重写(overriding): 发生在父子类之间,方法名相同,参数列表(类型、个数、顺序)相同,当返回值为 8 种基本类型时应相同,为引用类型时,子类的返回值应小于等于父类,访问权限不能更封闭,抛出异常不能更宽泛...,SQL 是根据表中数据来进行查询优化的,当索引列有大量数据重复时,查询可能不会去利用索引d.避免频繁创建和删除临时表,以减少系统表资源的消耗。...隔离性 :隔离性是当多个用户并发访问数据库时,比如操作同⼀张表时,数据库为每⼀个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
领取专属 10元无门槛券
手把手带您无忧上云