自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring原理解析-BeanFactory---容器加载过程解析

Spring的IOC容器---BeanFactory---容器加载过程解析容器加载DefaultListableBeanFactory类介绍BeanFactory接口介绍BeanDefinition接口介绍BeanDefinitionRegistry接口介绍如何解析xml文件容器加载DefaultListableBeanFactory类介绍  DefaultListableBeanFacto...

2020-04-01 11:08:03 1386 1

转载 操作系统---文件管理(2)

文件管理

2020-05-11 19:51:50 159

原创 操作系统原理---文件管理

文件系统是什么  文件系统是磁盘的一个抽象,让用户对磁盘的操作变得容易。文件系统为用户提供了对文件操作的接口,屏蔽了内部复杂的实现细节,让用户不用关心文件在磁盘中的存储位置,组织形式,用户对文件进行访问只需要给出文件名和路径名即可,无需知道磁柱、磁道、扇面、数据块等信息。将用户从数据复杂的存储细节中解放出来。文件系统的作用就是用来存取,组织文件的。为什么需要文件系统屏蔽底层复杂性:对磁盘数据访问是十分复杂的,不仅需要知道数据的物理地址,还需要操作磁盘读取指定数据,然后再组装数据等,如果这些工作交给软

2020-05-11 18:12:40 725

原创 内存映射文件原理

内存映射文件内存映射文件与虚拟内存的区别映射原理mmap() 函数mmap基础概念mmap映射原理mmap优点mmap相关函数内存映射文件与虚拟内存的区别  内存映射文件是由操作系统支持的一种文件处理方式,通过文件映射,让用户处理磁盘文件时就如同操作内存一样。再处理大文件时,效率比传统IO高很多。  虚拟内存和内存映射文件都是将一部分文件加载到内存,另一部分文件保存在磁盘上的一种机制。但是二者是有区别的:架构不同,虚拟内存是构建在物理内存之上的,引入原因是实际物理内存无法满足程序所需的内存空间;内

2020-05-11 17:55:44 1947

原创 操作系统原理---进程管理

处理机管理  处理机是用来解释、执行指令的单元。程序是一段实现某个功能的指令序列,这些指令都是在处理机上解释、执行。处理机包括中央处理器,主存和输入输出接口。  处理机是操作系统的核心资源,处理机管理时操作系统的核心功能,是为在多道程序系统中,提高处理机的使用效率。处理机管理好坏直接决定多道程序操作系统的性能。  进程是处理机管理中最基本最核心的概念。在多道程序系统中,多道程序并发争夺处理机,为了方便处理,将进程作为独立运行的基本单位,进程是资源分配的基本单位。从进程的角度看,处理机管理就是对这些进程

2020-05-09 18:36:57 1133

原创 操作系统原理---管程

管程机制  将共享变量及操作共享变量的所有方法封装在一个模块中。管程组成一组局部变量(共享变量)操作局部变量的一组方法局部变量的初始语句管程的特点任何进程只能通过管程提供的入口才能访问共享数据任何时刻只允许一个进程访问管程的某个方法管程如何实现同步控制对共享变量的互斥操作:  管程的特点决定了对共享资源的互斥操作,管程同一时刻只允许一个进程对共享资源进行操作操作的同步控制:  管程通过条件变量实现同步控制,管程同一时刻只允许一个进程获得操作权,没有获得操作权的进程将阻塞在

2020-05-09 17:03:24 746

原创 快速幂算法

求解a^n后三位  该题目即为求解(a^n)%1000, 在求 a的n次方式为了加快运算使用快速幂算法public static int fastPower(int a, int n){ int res = 1; int base = a; while (n != 0){ if ((n&1) == 1){ res *= base; } base

2020-05-09 10:51:58 318

原创 浅谈poll/select epoll的区别

  poll/setect,epoll三个命令都是属于内核方法,是内核实现用一个线程监听多个连接的方法,其中epoll是Linux2.6之后引入的一种高效的连接事件监听机制。select原理  select方法是将文件描述符数组从用户控件传入内核空间,内核通过轮询的方式查看所有连接,如何循环一次没有连接事件到底则等待,事件到达后返回。返回之后客户端需要遍历怎个数组,找出产生事件的连接。同时select默认监听的连接数为1024poll原理  poll方法与select方法类似,只不

2020-05-08 19:35:29 181

转载 Buffer原理讲解

Buffer详解

2020-04-17 09:23:44 4544 1

原创 java nio---wakeup实现原理

  我们都知道select()方法是阻塞的,只有在注册的channel有事件发生时才会返回,但是如果程序需要立即返回怎么办呢,这你就涉及到一个wakeup()方法。该方法的作用就是让select()方法返回。  首先来看一下WindowsSelectorImpl对象的初始化过程//在加载WindowsSelectorImpl类时创建一个管道private final Pipe wakeup...

2020-04-16 21:31:24 481

原创 java nio---WindowsSelectorImpl类详解

  WindowsSelectorImpl是Java nio 基于windows操作系统的基础类,这篇文章主要讲解两个方法:doSelect(long var1)和implRegister(SelectionKeyImpl var1)WindowsSelectorImpl属性介绍:private final int INIT_CAP = 8; //每个线程处理channel的数量 ...

2020-04-16 18:03:54 971

原创 java Nio通道注册源码分析

AbstractSelectableChannel#register(Selector sel, int ops, Object att)public final SelectionKey register(Selector sel, int ops, Object att) throws Closed...

2020-04-15 11:56:05 180

原创 IO模型详解

IO模型分类同步与异步IO:  同步与异步是指用户空间和内核空间调用发起方式。同步IO是由用户空间发起的,内核空间被动接受;异步IO是内核空间发起的,用户空间被动接受。阻塞与非阻塞:  阻塞与非阻塞是指在执行io操作期间,用户程序的状态。用户程序执行阻塞IO时会一直阻塞,知道内核空间准备好数据、将数据从内核空间复制到用户空间两个步骤都完成后才返回;用户进程执行费阻塞IO时,程序并不...

2020-04-14 21:17:32 128

原创 cglib动态代理分析

cglib动态代理原理代理对象源码分析#cglib动态代理使用流程创建被代理对象public class UserService { public void say(){ System.out.println("我是一位用户"); }}实现MethodInterceptor接口,在接口方法中增强被代理方法的功能:public class My...

2020-04-06 20:57:40 473

原创 jdk动态代理源码分析

JDK动态代理  jdk动态代理是基于接口的,也就是说被代理的类必须实现某个接口。接下来详细介绍一下jdk动态代理使用流程实现InvocationHandler接口  InvocationHandler接口中只有一个接口方法invoke(Object proxy, Method method, Object[] args)。   proxy:代理对象  method:被代理方法   ...

2020-04-06 16:33:15 105

原创 spring---@Autowired依赖注入原理

@Autowired依赖注入原理@Autowired注解介绍核心类AutowiredAnnotationBeanPostProcessor@Autowired注解介绍  @Autowired是基于注解的依赖注入的核心注解,它的存在是可以让容器知道该为当前类注入哪些依赖。@Autowired注解是按照类型匹配进行依赖注入的,当容器中有多个类型的实例时,可以使用@Qualifier注解来根据名称匹...

2020-04-05 12:53:54 1335

原创 Spring---事件发布

spring事件发布机制如何在spring框架中使用监听机制spring监听器原理容器默认事件发布者类SimpleApplicationEventMulticaster  这篇文章主要是讲解spring的事务发布机制,也顺带讲一些ApplicationContest容器启动过程。Spring事件发布机制是基于观察者模式的。其实现类图如下:  如上图所示,抽象类AbstractApplicat...

2020-04-03 17:13:13 297

原创 spring---bean的一生

bean的生命周期详解Bean实例化过程图实例化bean对象  beanFactory容器启动之后,首先解析配置文件,生成并注册beanDefinition对象。beanDefinition包含了bean的实例化阶段所必需的信息。只有通过getBean方法来获取某个对象的实例使,容器才实例化这个对象。这一点更ApplicationContext容器不同,在getBean方法调用之前就将所有的类实...

2020-04-02 10:38:50 111

原创 Spring原理解析-BeanFactoryPostProcessor后置处理器

BeanFactoryPostProcessor后置处理器BeanFactoryPostProcessor接口功能后置处理器的应用场景BeanFactoryPostProcessor接口功能  上一篇文章讲解了如何解析配置文件生成BeanDefinition对象,如感性趣,欢迎阅读Spring的IOC容器—BeanFactory—容器加载过程解析,那么获得beanDefinition对象之后,...

2020-04-01 14:43:12 162

空空如也

空空如也

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

TA关注的人

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