自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lz710117239的博客

java程序员的博客

  • 博客(14)
  • 收藏
  • 关注

转载 linux内核源码阅读(五)进程调度的依据

调度程序运行时,要在所有处于可运行状态的进程之中选择最值得运行的进程投入运行。选择进程的依据是什么呢?在每个进程的task_struct结构中有这么五项:need_resched、nice、counter、policy 及rt_priority(1)     need_resched: 在调度时机到来时,检测这个域的值,如果为1,则调用schedule() 。(2)counter: 进程处于运行状...

2018-06-24 20:11:53 963

原创 linux内核源码阅读(四)Linux进程调度时机

调度程序虽然特别重要,但它不过是一个存在于内核空间中的函数而已,并不神秘。Linux的调度程序是一个叫Schedule()的函数,这个函数被调用的频率很高,由它来决定是否要进行进程的切换,如果要切换的话,切换到哪个进程等等。我们先来看在什么情况下要执行调度程序,我们把这种情况叫做调度时机。Linux调度时机主要有:1、进程状态转换的时刻:进程终止、进程睡眠;2、当前进程的时间片用完时(curren...

2018-06-24 20:06:43 806

转载 linux内核源码阅读(三)分页机制

分页机制在段机制之后进行,以完成线性—物理地址的转换过程。段机制把逻辑地址转换为线性地址,分页机制进一步把该线性地址再转换为物理地址。分页机制由CR0中的PG位启用。如PG=1,启用分页机制,并使用本节要描述的机制,把线性地址转换为物理地址。如PG=0,禁用分页机制,直接把段机制产生的线性地址当作物理地址使用。分页机制管理的对象是固定大小的存储块,称之为页(page)。分页机制把整个线性地址空间及...

2018-06-20 00:15:56 486

转载 linux内核源码阅读(二)描述符的概念

 

2018-06-18 12:33:28 297

原创 linux内核源码阅读(一)从何处阅读源码

像Linux内核这样庞大而复杂的程序看起来确实让人望而生畏,它象一个很大的球,没有起点和终点。在读源代码的过程中,你会遇到这样的情况,当读到内核的某一部分时又会涉及到其它更多的文件,当返回到原来的地方想继续往下读时,又忘了原来读的内容。在internet上,很多人为此付出了很大的努力,制作出了源代码导航器,这为源代码阅读提供了良好的条件,站点为:http://lxr.linux.no/source...

2018-06-18 12:10:01 12457 1

原创 Springboot源码解析(八)@Configuration注解被扫面注射为bean的源码解析(二)

在Springboot中,@Configuration注解是最重要的注解之一,相当于Spring中的xml,关于Springboot源码中是如何解析@Configuration注解的。是我们这篇文章后面要探讨的内容。一、入口解析@Configuration注解的入口还是在AbstractApplicationContext类的invokeBeanFactoryPostProcessors(bean...

2018-06-17 23:55:16 4983

原创 Springboot源码解析(七)@Configuration注解被扫面注射为bean的源码解析(一)

一、入口Springboot中@Configuration注解被扫描到的入口在AbstractApplicationContext类中的invokeBeanFactoryPostProcessors(beanFactory);方法中,方法上面有一行注解为// Invoke factory processors registered as beans in the context.意思是把处理bea...

2018-06-14 20:30:38 4792

原创 Spring-security在SpringMvc中的使用

Spring-security是spring中的校验流程,有SpringMVC配置和SpringFlux配置两种模式,关于使用方式,我们在这里说下1、SpirngMVC中的Security配置在SpirngMVC中的Security配置,我们需要有一个类继承WebSecurityConfigurerAdapter类,在里面可以配置自己需要的bean和拦截属性,更多详细介绍请看官方文档,这里只是简单...

2018-06-12 10:17:35 5209 2

原创 关于Spring-webflux编程中body只能获取一次的问题解决方案

无论在Spring5的webflux编程或者普通web编程中,只能从request中获取body一次,后面再获取就会报错,但我们有时候会需要获取body中的数据进行加签、验签,这个问题怎么解决呢。 ServerHttpRequestDecorator与ServerWebExchangeDecorator在Spring-webflux编程中,为我们提供了ServerHttpRequest...

2018-06-11 14:28:17 21439 24

原创 SpringSecurity的源码解析

SpringSecurity是spring家族中的一份子,关于使用方式我们不多说,我们看下其执行源码路径如何,介绍依赖于注解的配置。因为我们的项目中采用了Spring5的Reactor响应式框架,它底层是基于netty的网络编程。所以程序入口是在NioEventLoop的run方法中:如下:try { processSelectedKeys(); ...

2018-06-07 21:37:30 738

原创 Spring5中Reactor编程的Mono与Flux类源码解读

Spring5的函数式编程使用了ProjectReactor工程的类,使用最为多的就是Mono和Flux类型,其中Mono是针对0到1个元素进行操作,Flux是针对多个元素进行操作。要使用这两个类前提是自己要有jdk8,Lambda,函数式编程的基础,否则请先学习了以上知识再来接触Spring5的Mono和FLux。我们针对Mono类的一行代码,来进行源码分析与讲解。代码如下:Mono.......

2018-06-07 00:34:42 24325

转载 函数式编程

说实话jdk8出来很久了,很早以前就用过函数式编程,不过以前一直觉得是花架子,没什么用,现在发现在越来越多的第三方库和jdk中越来越多地使用函数式编程,所以现在准备花时间熟悉起来,下面是我学习与熟悉的过程中的一点总结。...

2018-06-06 22:43:58 206

原创 SpringBoot源码解析(六)SpringApplication.run()方法执行两遍源码

在SpringBoot中,SpringApplication.run()方法执行了两遍。

2018-06-02 15:13:37 8516 4

原创 Docker教程(二)docker原理

一、Docker是如何实现资源隔离的docker的资源隔离使用到了LXC(linux Container即linux容器)Kernel namespace技术。隔离分为以下几个方面:二、资源限制docker底层使用了cgroup来进行内存大小、CPU等的资源限制。...

2018-06-01 00:42:22 277

空空如也

空空如也

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

TA关注的人

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