自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

转载 阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO 一锅端

承接上文的操作系统,关于IO会涉及到阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO等几个知识点。知识点虽然不难但平常经常容易搞混,特此Mark下,与君共勉。1 阻塞跟非阻塞1.1 阻塞阻塞IO阻塞IO情况下,当用户调用read后,用户线程会被阻塞,等内核数据准备好并且数据从内核缓冲区拷贝到用户态缓存区后read才会返回。可以看到是阻塞的两个部分。CPU把数据从磁盘读到内核缓冲区。 CPU把数据从内核缓冲区拷贝到用户缓冲区。1.2 非阻塞非阻塞IO

2021-12-19 11:35:16 160

转载 2021-03-26

目录高并发系统如何做到高可用原理特征核心实现流量漏斗Ab压测接口可以承受的最大qps值限流Tengine版本采用http_limit_req_module进行限制Nginx官方版本限制IP的连接和并发分别有两个模块:漏桶算法cdn负载均衡消息队列流量预估秒杀系统的特点难点秒杀系统的策略秒杀系统的实现-扣库存方案扣库存的几种方式以上减库存的几种方式存在的问题如何解决下单扣库存问题服务器性能优化(极限压榨cpu)...

2021-03-26 12:44:17 296

转载 面试官:”用HashMap存1w条数据,构造时传10000会触发扩容吗?“

总结: 构造方法传入的值的2次方幂的上界值为真实hashmap存储的值,将其与装载因子(默认0.75)相乘得到扩容阈值,超过了,即扩容之前存储值的2倍

2020-11-05 11:17:29 266

转载 Redis内部数据结构详解——skiplist

本文是《Redis内部数据结构详解》系列的第六篇。在本文中,我们围绕一个Redis的内部数据结构——skiplist展开讨论。Redis里面使用skiplist是为了实现sorted set这种对外的数据结构。sorted set提供的操作非常丰富,可以满足非常多的应用场景。这也意味着,sorted set相对来说实现比较复杂。同时,skiplist这种数据结构对于很多人来说都比较陌生,因为大...

2020-03-24 14:47:09 186

转载 volatile为什么不能保证原子性

首先要了解的是,volatile可以保证可见性和顺序性,这些都很好理解,那么它为什么不能保证原子性呢?可见性可见性与Java的内存模型有关,模型采用缓存与主存的方式对变量进行操作,也就是说,每个线程都有自己的缓存空间,对变量的操作都是在缓存中进行的,之后再将修改后的值返回到主存中,这就带来了问题,有可能一个线程在将共享变量修改后,还没有来的及将缓存中的变量返回给主存中,另外一个线程就对共享变...

2020-03-17 19:32:21 145

转载 Java多线程内存模型

JMM的基本概念Java作为平台无关性语言,JLS(Java语言规范)定义了一个统一的内存管理模型JMM(Java Memory Model)。JMM规定了jvm内存分为主内存和工作内存 ,主内存存放程序中所有的类实例、静态数据等变量,是多个线程共享的,而工作内存存放的是该线程从主内存中拷贝过来的变量以及访问方法所取得的局部变量,是每个线程私有的其他线程不能访问。每个线程对变量的操作都是...

2020-03-17 19:18:15 101

转载 浅谈Java中的锁:Synchronized、重入锁、读写锁

Java开发必须要掌握的知识点就包括如何使用锁在多线程的环境下控制对资源的访问限制◆Synchronized◆首先我们来看一段简单的代码: 12345678910111213141516171819 public class NotSyncDemo { public static int i=0; ...

2020-03-17 19:05:12 122

转载 一文带你弄懂Livy——基于Apache Spark的REST服务

背景Apache Spark作为当前最为流行的开源大数据计算框架,广泛应用于数据处理和分析应用,它提供了两种方式来处理数据:一是交互式处理,比如用户使用spark-shell或是pyspark脚本启动Spark应用程序,伴随应用程序启动的同时Spark会在当前终端启动REPL(Read–Eval–Print Loop)来接收用户的代码输入,并将其编译成Spark作业提交到集群上去执行;二是批处...

2020-03-17 16:39:51 1118

转载 concat嵌套判断,判断中嵌套子查询出现的问题,

concat嵌套判断,判断中嵌套子查询出现的问题。其他表也能重现这种问题。str,str1的结果是想要的结果,但是str2加上子查询就会出现追加的情况。转自https://ask.csdn.net/questions/389352...

2019-04-26 18:02:24 2335

原创 mysql中CONCAT()嵌套update的用法

先讲讲在工作上的一个用法。生产上,用户晒单后,其中一个表中一个字段没有维护,打算手动用sql把线上一个月的数据维护一下。用到了concat()函数,拼接生成update语句:SELECT CONCAT('update gshop_order_product set isSun=1 where id=',order_product_id,';') FROM gshop_comments W...

2019-04-26 17:57:28 5141

转载 Java 快速排序详解

1.快速排序有三种形式:双指针型,挖坑型,游标型,可能具体叫法不太一样。这里介绍的是本人认为很简单的 双指针型。快速排序的基本思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。先看一下这幅图:把整个序列看做一个数组,把第零个位置看做中轴,和最后...

2019-04-23 19:17:11 112

转载 一次诡异的线上数据库的死锁问题排查过程

前几天,线上发生了一次数据库死锁问题,这一问题前前后后排查了比较久的时间,这个过程中自己也对数据库的锁机制有了更深的理解。本文总结了这次死锁排查的全过程,并分析了导致死锁的原因及解决方案。希望给大家提供一个死锁的排查及解决思路。本文涉及到MySql执行引擎、数据库隔离级别、Innodb锁机制、索引、数据库事务等多领域知识。前车之鉴,后事之师,希望读者们都可以有所收获。1现象某...

2019-04-13 17:24:29 397

转载 MySQL的InnoDB索引原理详解(讲的很好)

本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解,描述不准确的地方烦请指出。1 各种树...

2019-03-20 17:48:19 230

转载 mysql 的存储引擎介绍

在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。等一下,存储引擎?什么是存储引擎?什么是存储引擎?MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的...

2019-03-20 10:29:51 233

转载 MySQL索引底层实现原理

优秀博文:MySQL索引背后的数据结构及算法原理 B树、B-树、B+树、B*树【转】,mysql索引 MySQL 和 B 树的那些事索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库...

2019-03-18 11:19:32 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除