作为Linux中断低半部的另一种实现机制的基础,工作队列的出现更多的是为了解决软中断和Tasklet对于用户进程的时间片的不良影响问题的。工作队列本身是可以使用内核线程来替代的,但是使用线程来实现复杂程度和内存资源的消耗是不利因素,所以Linux内核就实现了这一机制。通过内核线程(worker)作为 ...
分类:
系统相关 时间:
2020-09-17 19:03:34
阅读次数:
33
某个方法通过一定的算法会产生一组序列,且每次返回一个值的方式叫做生成器。 一,实现机制: 方法(函数)在每次运算时,遇到yield后,返回当前的值,并记录当前运行的状态,再下次进入时,从记录的状态开始再次进入计算。 二,特性: (1)以yield关键字定义一个生成器函数。 (2)生成器函数返回的是一 ...
分类:
编程语言 时间:
2020-09-10 23:19:30
阅读次数:
59
简介 谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能。 复制(Replication):则是负责让一个Redis服务器可以配备多个备份的服务器。 R ...
分类:
其他好文 时间:
2020-08-28 12:05:29
阅读次数:
54
布隆过滤器 Bloom Filter 布隆过滤器和哈希表类似,HashTable + 拉链表存储重复元素: 元素 哈希函数 > 映射到一个整数的下标位置index。比如Join Smith和Sandra Dee经过哈希函数都映射到了152的下标,就在152的位置开一个链表,把多个元素都存在相同位置的 ...
分类:
其他好文 时间:
2020-07-26 01:40:52
阅读次数:
83
可重入锁 可重锁是指同一个线程,外层函数获取锁后,内层函数可以自动获取到锁。 java中synchronized和ReentrantLock都是可重入锁。 对于synchronized,其实现机制有jvm实现。 对于ReentrantLock,其继承自父类AQS,其父类AQS中维护了一个同步状态st ...
分类:
编程语言 时间:
2020-07-23 22:39:26
阅读次数:
64
鲁班学院java架构师成长路线随着互联网时代的到来,高并发网络编程这一新鲜名词早已跃然于纸上,为了满足大众眼光的需求,我为大家找了些关于高并发网络编程方面的资料,本文便来介绍高并发网络编程中的epoll的实现机制,真正理解为何epoll能实现高并发网络编程。epollIO多路复用模型实现机制:由于epoll的实现机制与select/poll机制完全不同,上面所说的select的缺点在epoll上不
分类:
编程语言 时间:
2020-07-15 12:54:09
阅读次数:
77
在多线程的情况下,ThreadLocal提供了一个种为每个线程访问相同的变量,并且线程对变量的更新互不影响的机制。也是对象实现线程安全的一种方式。 ###ThreadLocal的实现机制 我们常用的方法有get、set和initialValue,这次将会围绕这几个方法的源码进行深入解析 get方法 ...
分类:
其他好文 时间:
2020-07-12 14:09:35
阅读次数:
50
多态 继承的多态问题:一个父类中的方法可有一个或多个子类继承或重写,所以我们在调用方法时不知道自己调用的是哪个子类的方法,只有当运行时才会知道。基于继承的实现机制主要表现在父类和继承该父类的一个或多个子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为。不同的对象可以执行相同的行为,但 ...
分类:
编程语言 时间:
2020-07-05 13:28:07
阅读次数:
61
Pod基本概念: 最小部署单元 一组容器的集合 一个Pod中的容器共享网络命名空间 Pod是短暂的 Pod实现机制与设计模式: 共享网络 共享存储 [root@centos7 demo]# cat b.yml apiVersion: v1 kind: Pod metadata: name: my-p ...
分类:
其他好文 时间:
2020-06-25 00:01:00
阅读次数:
96
Spring 中的 IoC 的实现原理就是工厂模式加反射机制。 示例: interface Fruit { public abstract void eat(); } class Apple implements Fruit { public void eat(){ System.out.print ...
分类:
编程语言 时间:
2020-06-14 10:43:56
阅读次数:
92