- 博客(7)
- 收藏
- 关注
原创 【redis学习】Redis-IO多路复用
网络IO在系统层面上指的是数据从用户态到内核态的读写操作,多路是指多个socket连接。在UNIX网络编程中写道为了执行网络IO,一个进程必须要做的第一件事就是调用socket函数。复用是指一个或多个连接处理。一个服务端进程可以同时处理多个套接字描述符。redis使用IO多路复用简单来说就是,单线程处理多个客户端连接的网络读写请求,并且能够保证不会阻塞主流程的一种机制。实现IO多路复用的模型有3种:可以分select->poll->epoll三个阶段来描述。
2024-05-08 23:10:28 923 1
原创 【从面试题建立知识体系】JAVA面试题-----------JVM------类加载子系统
自定义类加载器一般分为Extension Class Loader(拓展类加载器)通过Java语言实现,拓展类加载器的父加载器是Bootstrap引导类加载器(不是继承关系)拓展类加载器负载加载目录下类库App Class Loader(系统类加载器)系统类加载器的父加载器是ExtClassLoader拓展类加载器(不是继承关系)系统类加载器负责加载classpath环境变量所指定的类库,是用户自定义类的默认类加载器。
2023-03-14 20:41:08 74
原创 【从面试题建立知识体系】JAVA面试题-----------并发编程------线程池
线程池(Thread Pool):一种使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,对线程统一管理。创建线程和销毁线程的花销是比较大的(手动new Thread类),创建和消耗线程的时间有可能比处理业务的时间还长。这样频繁的创建线程和销毁线程是比较消耗资源的。(我们可以把创建和销毁的线程过程去掉)。
2023-03-09 14:50:01 62
原创 【从面试题建立知识体系】JAVA面试题-----------并发编程------线程
一个程序最少需要一个进程,而一个进程最少需要一个线程。所以线程是程序执行流的最小单位,而进程是系统进行资源分配和调度的一个单位。一个线程就是在进程中的一个单一的顺序控制流而耽搁进程可以拥有多个并发执行的任务,每个任务都好像有自己的CPU一样,而且底层的机制切分CPU的时间,也就是CPU将轮流给每个任务分配其占用时间。
2023-03-09 14:48:01 54
原创 【从面试题建立知识体系】JAVA面试题------------Synchronized
monitor可以理解为一个同步工具,也可以描述为一种同步机制,它通常被描述为一个对象。与万物皆对象一样,每一个的java对象都有成为Monitor的潜质,因为在java的设计中,每一个java对象都被内置了一把看不见的锁,它叫做内部锁或者Monitor锁。也就是通常说的Synchronized的对象锁,MarkWord锁标志位为10,其中指针指向的是Monitor对象的起始地址。在Java虚拟机中,Monitor是由ObjectMonitor实现的,其主要的数据结构如下。
2023-02-21 21:24:49 141
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人