随笔分类 - 转载
摘要:后端开发都应该掌握的Redis基础 Redis实用监控工具一览
阅读全文
摘要:1、默认方法的定义和作用 在Java8以前的版本中,由接口定义的方法是抽象的,不包括方法体。JDK8版本的发布改变了这一点,其中给接口添加了一个新的功能:默认方法。默认方法允许为接口方法定义默认实现。也就是说,通过使用默认方法,现在可以为接口方法提供方法体,使其不再是抽象方法。 默认方法的主要作用是
阅读全文
摘要:一、Lambda表达式是什么? Lambda表达式有两个特点 一是匿名函数,二是可传递。 匿名函数的应用场景是 通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用Lambda表达式。lambda表达式所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新定义一个函数了,使用lam
阅读全文
摘要:流程图关注的是业务逻辑本身,是有一种面向过程的工具;无法为软件内部的交互提供分析支持。 流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序关系。 流程图面向业务逻辑,可以为软件的业务处理流程分析提供帮助。 使用场景 复杂的业务流;多种可能情况可供选择;多种处理结
阅读全文
摘要:文章结构 前言 想要读懂 Java 中的并发包,就是要先读懂 CAS 机制,因为 CAS 是并发包的底层实现原理。本文主要讨论 synchronized:大材小用 我们先来看几行代码: 假如有100个线程同时调用 increment() 方法对 i 进行自增操作,i 的结果会是 100 吗? 学会多
阅读全文
摘要:大多数java开发的小伙伴都用过maven来对包进行管理。在自己写项目的过程中,对自己的项目也会进行groupdId,artifactId,version的配置。下面我们来对着3个配置进行简单说明。 配置文件中gav的说明 groupId:顾名思义,即组织或公司,一般我们会用公司或者自己的前几级包名
阅读全文
摘要:一、Redis简介 redis主要解决的问题 分布式缓存是分布式系统中的重要组件,主要解决高并发、大数据场景下,热点数据访问的性能问题,提供高性能的数据快速访问。 使用缓存常见场景 项目中部分数据访问比较频繁,对下游 DB(例如 MySQL)造成服务压力,这时候可以使用缓存来提高效率。 主要的缓存组
阅读全文
摘要:SaaS是Software-as-a-service(软件即服务)。 SaaS是一种通过Internet提供软件的模式,用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,对于许多小型企业来说,SaaS是采用先进技术的最好
阅读全文
摘要:1.复制过程 2.数据间的同步 上面说的复制过程,其中有一个步骤是“同步数据集”,这个就是现在讲的“数据间的同步”。 redis 同步有 2 个命令:sync 和 psync,前者是 redis 2.8 之前的同步命令,后者是 redis 2.8 为了优化 sync 新设计的命令。我们会重点关注 2
阅读全文
摘要:一.Redis的高并发和快速原因 一.Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快; 2.redis是单线程的,省去了很多上下文切换线程的时间; 3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单
阅读全文
摘要:1、标记 - 清除算法 (Mark-sweep算法) 最基础的收集算法 两个阶段: 分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。 两个不足: 1、效率问题,标记和清除两个过程的效率都不高。2、空间问题,标记清除之后会产生大量的不连续的内存碎片,
阅读全文
摘要:GC 经常发生的区域是堆区,堆区还可以细分为新生代、老年代 jvm堆示意图 新生代 一个 Eden 区 两个 Survivor 区 老年代 默认 新生代(Young)与老年代(Old)的比例的值为 1:2 (该值可以通过参数–XX:NewRatio 来指定)。 默认的 Eden:from:to=8:
阅读全文
摘要:redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。它采用 IO 多路复用机制同时监听多个 socket,根据 socket 上的事件来选择对应的事件处理器进行处理。 文件事件处理器的结构包含 4 个部分: 多
阅读全文
摘要:为什么使用分库分表? 如下内容,引用自 Sharding Sphere 的文档,写的很大气。 《ShardingSphere > 概念 & 功能 > 数据分片》 传统的将数据集中存储至单一数据节点的解决方案,在性能、可用性和运维成本这三方面已经难于满足互联网的海量数据场景。 1)性能 从性能方面来说
阅读全文
摘要:Reference【https://www.cnblogs.com/chanshuyi/p/annotation_serial_02_self_define_annotation.html】 自定义注解是自己写框架的必备技能,使用注解能极大地提升开发效率,因此自定义注解是一个高级开发者必备的技能。
阅读全文
摘要:Reference:【https://blog.csdn.net/kangxidagege/article/details/80211225】 数组的优点 随机访问性强(通过下标进行快速定位) 查找速度快 数组的缺点 插入和删除效率低(插入和删除需要移动数据) 可能浪费内存(因为是连续的,所以每次申
阅读全文