摘要:
转自:https://blog.csdn.net/tjiyu/article/details/53982412 1-1、为什么需要了解垃圾回收 目前内存的动态分配与内存回收技术已经相当成熟,但为什么还需要去了解内存分配与GC呢? 1、当需要排查各种内存溢出、内存泄漏问题时; 2、当垃圾收集成为系统达 阅读全文
摘要:
原文地址:https://blog.csdn.net/tjiyu/article/details/53983650 1、垃圾收集器概述 垃圾收集器是垃圾回收算法(标记-清除算法、复制算法、标记-整理算法、火车算法)的具体实现,不同商家、不同版本的JVM所提供的垃圾收集器可能会有很在差别,本文主要介绍 阅读全文
摘要:
java在编写多线程程序时,为了保证线程安全,需要对数据同步,经常用到两种同步方式就是Synchronized和重入锁ReentrantLock。 相似点: 这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如果一个线程获得了对象锁,进入了同步块,其他访问该同步块的 阅读全文
摘要:
上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足, 因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性, 同时这样对数据库性能开销影响也很大 阅读全文
摘要:
悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实 阅读全文
摘要:
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性 阅读全文
摘要:
Redis支持的数据类型 Redis通过Key-Value的单值不同类型来区分, 以下是支持的类型:StringsListsSets 求交集、并集Sorted Set hashes 为什么redis需要把所有数据放到内存中? Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据 阅读全文
摘要:
今天操作一个Array数组对象,本来想着先取出该数组某一行数据,然后把该数据当作另一份数据进行操作。 结果发现,对该数据操作的同时,也对Array数组进行了修改,因为这个数据指向了array数组对象。 要想实现单独把数组某一行数据拿出来,进行操作,而不影响原数据,需要拷贝一份。 其他的各种 var 阅读全文
摘要:
http://blog.720ui.com/2016/redis_action_02_maxmemory_policy/#volatile-lru 文章目录 redis 内存数据集大小上升到一定大小的时候,就会进行数据淘汰策略。 如何配置 我们通过配置redis.conf中的maxmemory这个值 阅读全文
摘要:
https://blog.csdn.net/Jack__Frost/article/details/72478400?locationNum=13&fps=1 每台redis的服务器的内存都是有限的,而且也不是所有的内存都用来存储信息。而且redis的实现并没有在内存这块做太多的优化,所以实现者为了 阅读全文