logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

网络模型——用户空间,内存空间详解

除了寻址空间进行了划分,系统权限也进行了划分,因为有一些CPU指令风险等级较高,所以将很多指令划分了不同的等级,(Ring0,Ring1,Ring2,Ring3)其中Ring0权限最高,Ring3权限最低,用户控件只能执行受限的Ring3命令,不能直接调用系统资源,需要通过内核提供的接口进行访问,内核空间则可以执行Ring0,调用一切系统资源;因此,常常需要把用户的操作和内核的操作隔离开,避免用户

文章图片
#redis#数据库#java
数据库 MVCC 详解,揭秘 MVCC 是如何做到可重复读的?

MVCC 英文全称叫 "Multiversion Concurrency Control",翻译过来就是 "多版本并发控制"。在 MySQL 众多存储引擎中只有 InnoDB 中实现了 MVCC 机制。

文章图片
#数据库
详解了解 Redis IO多路复用底层原理,Select,poll,epoll三者的区别?

在《UNIX网络编程》一书中,总结了5种IO模型,分别是阻塞IO(Blocking IO)、非阻塞IO(Nonblocking IO)、IO多路复用(IO Multiplexing)、信号驱动IO(Signal Driven IO)、异步IO(Asynchronous IO);以前我们见过或听过的三种网络IO流模型——BIO,NIO,AIO就是上述5种情况的总结概括,还不能与之混为一谈,下面我们就

文章图片
#redis#数据库#缓存
详解了解 Redis IO多路复用底层原理,Select,poll,epoll三者的区别?

在《UNIX网络编程》一书中,总结了5种IO模型,分别是阻塞IO(Blocking IO)、非阻塞IO(Nonblocking IO)、IO多路复用(IO Multiplexing)、信号驱动IO(Signal Driven IO)、异步IO(Asynchronous IO);以前我们见过或听过的三种网络IO流模型——BIO,NIO,AIO就是上述5种情况的总结概括,还不能与之混为一谈,下面我们就

文章图片
#redis#数据库#缓存
数据库 explain 关键字解析

有些同学可能不知道,我们在数据库中运行 SQL 语句时,底层优化器会选择最优的执行方式来执行我们的 SQL 语句,也就是说,底层执行 SQL 语句的顺序并不一定跟我们写的 SQL 语句的顺序是一致的。MySQL 中有专门优化 SELECT 语句的优化器模块,主要功能是:通过计算分析系统中收集到的统计信息,为客户端请求的 Query(查询) 提供它认为最优的执行计划。

文章图片
#数据库
数据库主键ID自增,两种方法获取插入数据库那条数据自动生成的主键ID值

在开发过程中,我们可能会遇到这样的一种情况,我们保存一条数据。如果这条数据的主键ID是由用户决定的,这样我们在获取主键ID的时候,只需要让前端的同时传递给我们就可以了;如果主键ID设置为自增,是在用户新增数据操作时自动生成的,在后续业务逻辑中需要使用生成的主键ID值,我们又该如何获取呢?本篇我们就来说说两种常用方法获取自动生成的主键ID;

文章图片
#数据库#mybatis#java
Git,GitHub,Gitee,GitLab 四者有什么区别?

总结来说就四句话即可概括全部内容(1)Git 只是本地仓库的代码管理工具;(2)GitHub 是国外公司基于git制作的远程仓库;(3)Gitee 是国内公司基于git制作的远程仓库;(4)GitLab 是想搭建自己仓库时用的工具;t=N7T8。

文章图片
#git#github#gitlab
Java单列集合——List

Java中的集合是一个庞大的家族,而其中集合主要非为两类。

文章图片
#数据结构#java
强引用,弱引用,软引用,虚引用它们有什么区别?你知道吗?

讲解到了这里,各位同学应该对强软弱虚四种引用有一些初步的了解了,那么我们来简单的总结一下吧!强引用:就是不同的引用,平常创建对象的方式就是强引用,被强引用指向的对象不能被垃圾回收器回收。软引用:通过创建软引用类对象来实现,内存足够时允许停留在内存中,内存不够时就将其从内存中清除给其他对象腾出空间,可以作为缓存来使用。软引用:比强引用弱,就算有引用指向它,只要发生GC垃圾回收过程,软引用对象就会被清

文章图片
#java#开发语言
深入理解集合的迭代器 Iterator,为什么遍历数组时删除元素不能直接使用remove()方法而需要使用迭代器?你有了解过原因吗?

如下所示,Itr 是 ArrayList 的一个内部类,它实现了 Iterator 迭代器接口,我画线的 expectedModCount 翻译过来意为期望修改次数,modCount 赋值给了 expectedModCount,也就是说,当我们创建了 iterator 对象之后,当前数组的修改次数 modCount 的值就会赋值给 excepectedModCount。在 Iterator 接口中

文章图片
#windows
到底了