youyichannel

志于道,据于德,依于仁,游于艺!

0%

《MySQL是怎样运行的 —— 从跟上理解MySQL》—— 第一章

一、MySQL的C/S架构

MySQL的运行过程是:MySQL服务器程序直接与要存储的数据打交道,多个客户端程序可以连接到这个服务器程序,向服务器程序发送数据变更请求,然后服务器程序根据这些请求,对存储的数据进行相应的处理。

MySQL的日常使用场景:

  1. 启动MySQL服务器程序
  2. 启动MySQL客户端程序,并链接到服务器程序
  3. 在客户端程序中输入命令,并将其作为请求发送给服务器程序。服务器程序在收到请求后,根据请求的内容来操作具体的数据,并将结果返回给客户端。

运行过程中的MySQL服务器程序和客户端程序本质上都是计算机中的进程,其中代表MySQL服务器程序的进程成为MySQL数据库实例(Instance)。

阅读全文 »

本文详细介绍下HotSpot虚拟机在Java堆中对象分配、布局和访问的过程

对象的创建

阅读全文 »

没有特殊说明,JVM都是指HotSpot虚拟机。

常见的面试题:

  • 介绍下Java内存区域(运行时数据区)
  • Java对象的创建过程(五个重要的步骤)
  • 对象的访问定位的两种方式(句柄和直接指针)
阅读全文 »

作为线程安全的HashMap,ConcurrentHashMap的使用频率也是非常高的。相较于JDK7的ConcurrentHashMap,JDK8几乎是重写了ConcurrentHashMap,二者还是有很大的差距的,那就来看看究竟有什么区别吧。

阅读全文 »

限流算法

为了保证接口调用的性能、稳定性和可用性,在网关层面通过Redisson的RateLimiter实现限流保护(1s最多请求1次)

我们需要控制用户使用系统的次数,以避免超支。但是限制用户调用次数仍存在一定风险,用户仍有可能疯狂调用来刷量,从而导致系统成本过度消耗。

限流(流量控制):指系统在面临高并发,或者大流量请求的情况下,限制新的请求对系统的访问,从而保证系统的稳定性。限流会导致部分用户请求处理不及时或者被拒绝,影响了用户体验,所以一般需要在系统稳定和用户体验之间选择平衡。

问题:使用系统是需要消耗成本的,用户有可能疯狂刷量

解决方案

  1. 控制成本 => 限制用户调用次数
  2. 用户在短时间内疯狂使用,导致服务器资源被占满,其他用户无法使用 => 限流
阅读全文 »

以下内容基于JDK8

HashMap简介

HashMap主要用于存放键值对,它基于Hash表的Map接口实现,是非线程安全的。

public class HashMap<K,V> extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable {
}

HashMap可以存放null的key和value,但是null key只能有一个,null value可以有很多个。

JDK8之前的HashMap由 数组 + 链表组成,其中数组是HashMap的主体,链表主要是为了解决哈希冲突而存在。JDK8之后的HashMap在解决哈希冲突时有了较大的变化,当链表长度大于等于阈值(默认是8)并且当前数组长度大于等于64时,会将链表转化为红黑树,以减少搜索时间。

HashMap默认的初始化大小是16,扩充时新容量为原来的2倍。HashMap总是使用2的幂次方作为哈希表的大小。

阅读全文 »

以下内容来自JDK8

ArrayList 简介

ArrayList的底层是数组队列,相当于动态数组(容量能够动态增长)。

接下来从ArrayList的继承链来看看其结构特点,ArrayList继承了AbstractList类,实现了ListRandomAccessCloneableSerializable接口。

public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable {
}
  1. 实现了List接口,表明它是一个列表,支持增删查改等操作,并且可以通过下标进行访问。
  2. 实现了RandomAccess接口,表明实现这个的List集合是支持快速随机访问的。即在ArrayList中,我们可以通过元素的需要快速获取元素对象,这就是快速随机访问。(RandomAccess是一个标志接口)
  3. 实现了Cloneable接口,表明它具有拷贝能力,可以进行浅拷贝和深拷贝。
  4. 实现了Serialzable接口,表明它可以进行序列化操作,也就是可以将对象转换为字节流进行持久化存储或者网络传输。
阅读全文 »