耗时10ms,总记录数3375

  • LinkedList源码 _我要知道_郭雄飞

    LinkedList源码

    [摘要]1说明LinkedList是一个双向链表,继承看List接口和Duque接口。LinkedList不是线程安全,确保线程安全方法Listlist=Collections.synchronizedList(newLinkedList(...))2源码分析2.1静态内部类LinkedList是一个链表,需要一个node类作为节点,因此他在内部构建了一个静态内部类。privatestaticclassN ...
  • Spring源码-循环依赖源码解读

    [摘要]Spring源码-循环依赖源码解读笔者最近无论是看书还是从网上找资料,都没发现对Spring源码是怎么解决循环依赖这一问题的详解,大家都是解释了Spring解决循环依赖的想法(有的解释也不准确,在《Spring源码深度解析》作者也是看别人的博客说明了一下),没有从源码的角度分析是怎么解决循环依赖的,笔者就把自己看源码的过程写一下。Spring中对象可以配置成单例模式也可配置为原型模式(原型模式很值 ...
  • 精读《React PowerPlug 源码》

    [摘要]1.引言ReactPowerPlug是利用renderprops进行更好状态管理的工具库。React项目中,一般一个文件就是一个类,状态最细粒度就是文件的粒度。然而文件粒度并非状态管理最合适的粒度,所以有了Redux之类的全局状态库。同样,文件粒度也并非状态管理的最细粒度,更细的粒度或许更合适,因此有了ReactPowerPlug。比如你会在项目中看到这种眼花缭乱的state:classAppex ...
  • 【源码分析】HashMap源码再读-基于Java8 _我要知道_郭雄飞

    【源码分析】HashMap源码再读-基于Java8

    [摘要]最近工作不是太忙,准备再读读一些源码,想来想去,还是先从JDK的源码读起吧,毕竟很久不去读了,很多东西都生疏了。当然,还是先从炙手可热的HashMap,每次读都会有一些收获。当然,JDK8对HashMap有一次优化一、一些参数我们首先看到的,应该是它的一些基本参数,这对于我们了解HashMap有一定的作用。他们分别是:参数说明capacity容量,默认为16,最大为2^30loadFactor加载 ...
  • APIView源码分析 _我要知道_郭雄飞

    APIView源码分析

    [摘要]Django中View类的源码分析路由:由路由中的as_view方法开始url(r'^login/',views_user.Login.as_view())as_view()方法dispatch方法:restframework中APIView类的源码分析APIView类中as_view方法APIView类中dispatch方法对django中的request进行一层封装 ...
  • 【Netty】(6) ---源码ServerBootstrap _我要知道_郭雄飞

    【Netty】(6) ---源码ServerBootstrap

    [摘要]【Netty】6---源码ServerBootstrap之前写了两篇与Bootstrap相关的文章,一篇是ServerBootstrap的父类,一篇是客户端Bootstrap类,博客地址:【Netty】源码AbstractBootstrap【Netty】源码Bootstrap所以接下来有关ServerBootstrap源码的分析,如果上面已经分析过了,就不再陈述。一、概念ServerBootstr ...
  • Redux源码解读 _我要知道_郭雄飞

    Redux源码解读

    [摘要]前言Redux已经历了几个年头,很多React技术栈开发者选用它,我也是其中一员。期间看过数次源码,从最开始为了弄清楚某一部分运行方式来解决一些Bug,到后来看源码解答我的一些假设性疑问,到最后想揭开它的面纱获得更多指导。在这个过程中我逐渐对Redux有了更多认识和收获,因此也决定写下这篇文章来和更多开发者一起交流。本文主要是赏析源码实现技巧,从源码层面介绍Redux使用中需要注意的地方。用法简述 ...
  • tomcat源码 Connector _我要知道_郭雄飞

    tomcat源码 Connector

    [摘要]Connector容器主要负责解析socket请求,在tomcat中的源码位于org.apache.catalina.connector和org.apache.coyote包路径下;通过上两节的分析,我们知道了Connector是Service的子容器,而Service又是Server的子容器。在server.xml文件中配置,然后在Catalina类中通过Digester完成实例化。在serve ...
  • ThreadPoolExecutor 源码阅读 _我要知道_郭雄飞

    ThreadPoolExecutor 源码阅读

    [摘要]目录ThreadPoolExecutor源码阅读Executor框架ExecutorExecutorServiceAbstractExecutorService构造器Executors创建线程池状态Worker与任务调度提交任务线程池关闭ThreadPoolExecutor源码阅读读了一下ThreadPoolExecutor的源码(JDK11),简单的做个笔记.Executor框架Executor ...
  • String 源码浅析(一) _我要知道_郭雄飞

    String 源码浅析(一)

    [摘要]前言相信作为JAVAER,平时编码时使用最多的必然是String字符串,而相信应该存在不少人对于String的api很熟悉了,但没有看过其源码实现,其实我个人觉得对于api的使用,最开始的阶段是看其官方文档,而随着开发经验的积累,应当尝试去看源码实现,这对自身能力的提升是至关重要的。当你理解了源码之后,后面对于api的使用也会更加得心应手!备注:以下记录基于jdk8环境String只是一个类Str ...
  • SpringMVC源码阅读:过滤器 _我要知道_郭雄飞

    SpringMVC源码阅读:过滤器

    [摘要]1.前言SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧本文将通过源码(基于Spring4.3.7)分析,弄清楚SpringMVC过滤器是如何执行的2.源码分析web.xml配置<filter><!--过滤器名称--><filter-name>SetCha ...
  • react源码总览(翻译) _我要知道_郭雄飞

    react源码总览(翻译)

    [摘要]用react也有段时间了,是时候看看人家源码了.看源码之前看到官方文档有这么篇文章介绍其代码结构了,为了看源码能顺利些,遂决定将其翻译来看看,小弟英语也是半瓢水,好多单词得查词典,不当之处请批评.直接从字面翻译的,后面看源码后可能会在再修改下.下面是翻译这部分将给你介绍下react代码的基本结构,代码约定和它的基本实现.如果你想为react贡献代码的话,我们希望这篇指南能让你写代码更加舒服.我们不 ...
  • HashMap 源码分析 _我要知道_郭雄飞

    HashMap 源码分析

    [摘要]HashMap介绍HashMap是一个散列表,它存储的内容是键值对(key-value)映射。HashMap继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。HashMap的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。HashMap的实例有两个参数影响其性能:“ ...
  • ThreadPoolExecutor源码分析 _我要知道_郭雄飞

    ThreadPoolExecutor源码分析

    [摘要]前言在熟练掌握如何使用线程池之后,我们来对ThreadPoolExecutor进行源码分析。希望大家保持对源码的阅读热情,不仅要知其然,也要知其所以然。阅读源码比较苦涩,请养成反复研究琢磨为什么这么写的精神,多推敲。冲鸭!其实有时候想不通的时候可以看一下英文注释,还是作者解释的精准1ThreadPoolExecutor类图2ThreadPoolExecutor重要变量2.1ctl这个变量是整个类的 ...
  • 带着萌新看springboot源码05 _我要知道_郭雄飞

    带着萌新看springboot源码05

    [摘要]上一节走了一遍从浏览器发出请求到得到向页面的流程,基本的功能是已经实现了。但是现在啊,我想自定义一个拦截器(拦截器可以做用户登录验证,如果登录了,就让你通过,如果没有登录,就重定向登录页面),这里就不复杂了,简单实现以下原理,除了不拦截“/hello”请求,其他请求我都拦截并跳转到index.html。1.了解springboot的配置类格式springboot的配置类最常见的就是在类上面标注@C ...
  • colly源码学习

    [摘要]colly源码学习colly是一个golang写的网络爬虫。它使用起来非常顺手。看了一下它的源码,质量也是非常好的。本文就阅读一下它的源码。使用示例funcmain(){c:=colly.NewCollector()//Findandvisitalllinksc.OnHTML(“a[href]“,func(e*colly.HTMLElement){e.Request.Visit(e.Attr(“h ...
  • http服务源码分析

    [摘要]多读go的源码,可以加深对go语言的理解和认知,今天分享一下http相关的源码部分在不使用第三方库的情况下,我们可以很容易的的用go实现一个http服务,packagemainimport(“fmt““net/http“)funcIndexHandler(whttp.ResponseWriter,r*http.Request){fmt.Fprintln(w,“helloworld!“)}funcm ...
  • QT源码分析:QObject

    [摘要]QT框架里面最大的特色就是在C++的基础上增加了元对象系统(Meta-ObjectSystem),而元对象系统里面最重要的内容就是信号与槽机制,这个机制是在C++语法的基础上实现的,使用了函数、函数指针、回调函数等概念。当然与我们自己去写函数所不同的是槽与信号机制会自动帮我们生成部分代码,比如我们写的信号函数就不需要写它的实现部分,这是因为在我们编译程序的时候,编译器会自动生成这一部分代码,当我们 ...
  • apache源码编译安装 _我要知道_郭雄飞

    apache源码编译安装

    [摘要]源码安装apche下载apache的源码包文件访问http://mirror.bit.edu.cn/apache/httpd/,复制如下gz文件的链接地址,并使用wget下载到本地wget-P/usr/local/src/http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.37.tar.bz2(各位不要直接复制我的下载地址,因为随着httpd的版本更新, ...
  • HashMap 源码阅读 _我要知道_郭雄飞

    HashMap 源码阅读

    [摘要]前言之前读过一些类的源码,近来发现都忘了,再读一遍整理记录一下。这次读的是JDK11的代码,贴上来的源码会去掉大部分的注释,也会加上一些自己的理解。Map接口这里提一下Map接口与1.8相比Map接口又新增了几个方法:这些方法都是包私有的static方法;of()方法分别返回包含0-9个键值对的不可修改的Map;ofEntries()方法返回包含从给定的entries总提取出来的键值对的不可修改的 ...
  • SpringMVC源码阅读入门 _我要知道_郭雄飞

    SpringMVC源码阅读入门

    [摘要]1.导入SpringWebMVC是基于ServletAPI构建的原始Web框架,从一开始就包含在Spring框架中。正式的名称“SpringWebMVC”来自于它的源模块(spring-webmvc)的名称,常被人们称为“SpringMVC”。本文通过一个简单的增删改查demo切入,对SpringMVC源码进行解读,SpringFramework版本是4.3.72.前期准备2.1项目组成Intel ...
  • 精读《syntax-parser 源码》

    [摘要]1.引言syntax-parser是一个JS版语法解析器生成器,具有分词、语法树解析的能力。通过两个例子介绍它的功能。第一个例子是创建一个词法解析器myLexer:import{createLexer}from“syntax-parser“;constmyLexer=createLexer([{type:“whitespace“,regexes:[/^(\s+)/],ignore:true},{t ...
  • Apollo源码解析看一文就够 _我要知道_郭雄飞

    Apollo源码解析看一文就够

    [摘要]对于配置中心我们先抛出问号三连,什么是配置中心?为什么要用配置中心?配置中心怎么用?笔者说说自己理解的配置中心,个人观点的十六字消息存储消息推送环境隔离灰度发布今天我们先来看Apollo配置中心怎么用,小伙伴可能会说,这不是很简单嘛,no,我们同时要来揭开配置保存的实现原理。apollo配置都是通过表来保存,那么我们来一步一步揭开模型关系。看笔者这篇文章的同时,或者你已经熟悉Apollo基本的操作 ...
  • koa-connect源码解析

    [摘要]文中提到的koa均为koa2提到nodejs,想必大家都知道express和koa.express:大koa:小比较的的是功能,社区,中间件,相关资源等这里我就专门说说中间件吧,很多人可能说express插件丰富啊.其实除了中间件,其余什么的和expresskoa本身并没有多大关系,不都是基于nodejshttp(https)的封装嘛.express中间件是非常的丰富,但是提个醒,express的 ...
  • tomcat源码 Container _我要知道_郭雄飞

    tomcat源码 Container

    [摘要]1.Container的有四个子容器,分别是Engine,Host,Context,Wrapper,如下:1、Engine:整个Catalinaservlet引擎,标准实现为StandardEngine。2、Host:表示包含一个或多个Context容器的虚拟主机,标准实现为StandardHost。3、Context:表示一个web应用程序,对应着平时开发对应的一套程序,或者一个WEB-INF目 ...
  • 如何看Spring源码 _我要知道_郭雄飞

    如何看Spring源码

    [摘要]想要深入的熟悉了解Spring源码,我觉得第一步就是要有一个能跑起来的极尽简单的框架,下面我就教大家搭建一个最简单的Spring框架,而且是基于JavaConfig形式的零配置Spring框架。首先第一步创建一个空的mavenweb项目,这步很简单,自行百度。在maven项目的pom.xml文件中添加Spring基础依赖:<properties><spring.version&g ...
  • koa源码解读 _我要知道_郭雄飞

    koa源码解读

    [摘要]koa是有express原班人马打造的基于node.js的下一代web开发框架。koa1.0使用generator实现异步,相比于回调简单和优雅和不少。koa团队并没有止步于koa1.0,随着node.js开始支持async/await,他们又马不停蹄的发布了koa2.0,koa2完全使用Promise并配合async/await来实现异步,使得异步操作更臻完美。一、快速开始koa使用起来非常简单 ...
  • Vue.js 源码实现 _我要知道_郭雄飞

    Vue.js 源码实现

    [摘要]目录Vue.js代码实现1.步骤一2.步骤二3.步骤三Vue.js工作机制初始化编译响应式虚拟dom更新视图编译Vue.js代码实现检验学习效果的最好方法就是自己造轮子。最近在学习Vue源码,写了一个迷你版vue,实现数据响应式。从step1到step3.2,是开发步骤和实现思路,每一步都可以独立运行。代码地址:https://github.com/dora-zc/miniature-vue目录结 ...
  • SpringMVC源码阅读系列汇总 _我要知道_郭雄飞

    SpringMVC源码阅读系列汇总

    [摘要]1.前言1.1导入SpringMVC是基于Servlet和Spring框架设计的Web框架,做JavaWeb的同学应该都知道本文基于Spring4.3.7源码分析,(不要被图片欺骗了,手动滑稽),Spring官网告诉我们,Spring可以构建基于JVM的Servlet程序。Spring初代版本在2003年由RodJohnson所写以下摘自维基百科TheSpringFrameworkisanappl ...
  • Android Studio 导入 AOSP 源码 _我要知道_郭雄飞

    Android Studio 导入 AOSP 源码

    [摘要]有了AOSP源码,接下来就是如何看了,可以直接文本看,可以用SourceInsight,我当然选择AndroidStudio,AndroidStudio是我熟悉且十分强大的工具。问题来了,如何将AOSP源码导入AndroidStudio?安装Java虚拟机新装的Ubutun一开始是没有Java的,需要先安装,输入命令java,报以下错误:Command'java ...