1、MySQL 逻辑架构介绍1.2、mysql 的分层思想和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上。插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。1.3、mysql 四层架构连接层: 最上层是一些客户端 …
最新内容
一 、性能与性能优化性能指的是衡量系统是否能满足用户及技术管理需求的一组指标。性能优化是为了使这些指标能够达到用户及管理的目标,而对系统进行的一系列改进过程。作为信息系统的一项重要工作,性能优化过程将贯穿系统开发和应用的整个生命周期。如何用更少的资源提供更好的系统服务,成本利益最大化,并避免IT风险中的系统容量不足等,是亟待我们在软件开发过程中需要重视并考虑 …
跟其他常见的编程语言不同,Java将编译过程分成了两个部分,这就对性能带来了一定的影响。而即时(Just In Time, JIT)编译器能够提高Java程序的运行速度。本文会先解析一下即时编译器的原理,然后再分享一些在美团实践的经验,希望能对大家有所帮助或者启发。一、导读常见的编译型语言如C++,通常会把代码直接编译成CPU所能理解的机器码来运行。而Jav …
枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。枚举在日常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。在 JDK 1.5 之前没有枚举类型,那时候一般用接口常量来替代。而使用 Java 枚举类型 enum 可以更贴近地表示这种常量。 …
前缀和一维前缀和前缀和数组 sum 的每一位记录的是当前位置距离起点位置,这连续一段的和区间和。利用前缀和数组,我们可以快速得到数组任意区间的元素和。构造前缀和数组的时间复杂度是 O(n) ,获得区间和的复杂度是 O(1)当nums数组的元素下标从0开始算时,需要做出一些调整模板和例题LeetCode 303. 区域和检索 - 数组不可变给定一个整数数组nu …
从字节码角度再来分析一下,java里的for循环是怎么做到的。既然是字节码角度,那一定是在操作栈和局部变量表来实现的。先看一下源代码:很简单的一个代码,循环10次,每次循环打印输出i。我们再使用javap -v命令来解析class文件:初始的时候,栈和局部变量表如下:栈顶:空,局部变量表:[this, 空,...]0: iconst_0:iconst表示直接 …
2.1. 概述2.1.1. 执行模型如果不考虑异常处理的话,那么Java虚拟机的解释器可以使用下面这个伪代码当做最基本的执行模型来理解do{自动计算PC寄存器的值加1;根据PC寄存器的指示位置,从字节码流中取出操作码;if(字节码存在操作数) 从字节码流中取出操作数;执行操作码所定义的操作;}while(字节码长度>0);2.1.2. 字节码与数据类型 …
在Kafka中应用了大量的延迟操作但在Kafka中 并没用使用JDK自带的Timer或是DelayQueue用于延迟操作,而是使用自己开发的DelayedOperationPurgatory组件用于管理延迟操作,Kafka这类分布式框架有大量延迟操作并且对性能要求及其高,而java.util.Timer与java.util.concurrent.DelayQ …
作者 | 沉默王二本文经授权转载自沉默王二(ID:cmower)在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题。比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下。另外,我想要告诉大家的是,作为程序员,我们千万不要轻视这些基础的知识点。因为基础的知识点是各种上层技术共同的基础,只有彻底地 …
作者 | 沉默王二责编 | Elle在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题。比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下。另外,我想要告诉大家的是,作为程序员,我们千万不要轻视这些基础的知识点。因为基础的知识点是各种上层技术共同的基础,只有彻底地掌握了这些基础知识点,才能更 …