前言 ​经常在网上看到一些博客,介绍高并发。由于我们在实际开发过程遇到高并发的场景非常少,一直觉得很高大上,那我们通过CPU,操作系统,和JDK等方面揭开高并发的''神秘面纱''。 1:什么时候发生并发 ​在计算机中,CPU执行程序指令的。那我们看下下面这个图 思考:当两个程序在不同的CPU种执行的时候,会产生并发行为吗? 答案:不会产生,因为两个CPU执行的不同程序指令,不存在数据共享,不会产生并发。 如果是下面这张图呢? 当两个CPU同时执行一段指令的时候,这个时候CPU之间需要进行数据读写,这个时候就会产生并发问题。 Tip那我们开始思考一个问题,在我们的应用系统中并发会产生在哪...

  YDd3mdtmR57l   2023年11月01日   36   0   0 Java

Java之SPI机制详解 1:SPI机制简介 SPI全称是ServiceProviderInterface,是一种JDK内置的动态加载实现扩展点的机制,通过SPI技术我们可以动态获取接口的实现类,不用自己来创建。这个不是什么特别的技术,只是一种设计理念。 2:SPI原理 JavaSPI实际上是基于接口的编程+策略模式+配置文件组合实现的动态加载机制。 系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,如果需要替换一种实现,就需要修改代码。为了实现在模块装配的时候能不...

  YDd3mdtmR57l   2023年11月01日   76   0   0 Java

Java-泛型机制详解 1:提出背景 Java集合(Collection)中元素的类型是多种多样的。例如,有些集合中的元素是Byte类型的,而有些则可能是String类型的,等等。Java允许程序员构建一个元素类型为Object的Collection,其中的元素可以是任何类型在[JavaSE](https://baike.baidu.com/item/JavaSE/4662159?fromModule=lemma_inlink)1.5之前,没有泛型(Generics)的情况下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要作显式的强制类型转换,而这种转换是要求开发...

  YDd3mdtmR57l   2023年11月01日   75   0   0 Java

常用经验 在HTTP中,我们要通过URL进行资源的定位 比如: 要取id=888的用户信息,我们就向/user/{id}这个路径发送请求, 要取id=888的用户的订单列表,我们就向/user/{id}/orders这个路径发送请求 在HTTP中,DELETE、PUT、GET请求应该是幂等的,而POST则不是幂等的。所谓“幂等”指的是:对于一个接口采用同样的参数请求一次和请求多次的结果是一致的,不会因为多次请求而产生副作用 在HTTP中,GET请求的响应是可以被缓存的,而DELETE、PUT、POST请求的响应是不可以被缓存的。客户端、网关等可以根据情况对GET请求的响应进行缓存,从而提...

  YDd3mdtmR57l   2023年11月01日   116   0   0 Java

从MySQL5.5版本开始默认使用InnoDB作为引擎,它擅长处理事务,具有自动崩溃恢复的特性,在日常开发中使用非常广泛下面是官方的InnoDB引擎架构图,主要分为内存结构和磁盘结构两大部分。 InnoDB内存结构 1.BufferPool BufferPool:缓冲池,简称BP。其作用是用来缓存表数据与索引数据,减少磁盘IO操作,提升效率。BufferPool由缓存数据页(Page)和对缓存数据页进行描述的控制块组成,控制块中存储着对应缓存页的所属的表空间、数据页的编号、以及对应缓存页在BufferPool中的地址等信息.BufferPool默认大小是128M,以Page页为单位,Page页...

  YDd3mdtmR57l   2023年11月01日   74   0   0 MySQL
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~