invalidate方法源码分析 在之前分析View的绘制流程中,最后都有调用一个叫invalidate的方法,这个方法是啥玩意?我们来看一下View类中invalidate系列方法的源码(ViewGroup没有重写这些方法),如下: /**  * Mark the area defined by dirty as needing to be drawn. dirty代表需要重新绘制的脏的区域  * , 0, mRight - mLeft, mBottom - mTop, invalidateC…
Java split方法源码分析 public String[] split(CharSequence input [, int limit]) { int index = 0; // 指针 boolean matchLimited = limit > 0; // 是否限制匹配个数 ArrayList<String> matchList = new ArrayList<String>(); // 匹配结果队列 Matcher m = matcher(input); // 待切…
Linq分组操作之GroupBy,GroupJoin扩展方法源码分析 一. GroupBy 解释: 根据指定的键选择器函数对序列中的元素进行分组,并且从每个组及其键中创建结果值. 查询表达式: var list = new List<object>() { 20, 30, 24 };查询表达式: var query = from n in list group n by n into grp select new { MyKey = grp.Key, MyValue = grp.Count()…
该篇博客的有些内容和在之前介绍过了,在这里再次涉及到的就不详细说了,如果有不理解请看[Java]NIO中Channel的注册源码分析, [Java]NIO中Selector的创建源码分析 Selector的创建在Windows下默认生成WindowsSelectorImpl对象,那么Selector的select方法使用的就是WindowsSelectorImpl的select方法,而在WindowsSelectorImpl下并没有覆盖这个方法,而是由其基类SelectorImpl实现的: pu…
传统的判断dom加载的方法 使用 dom0级 onload事件来进行触发所有浏览器都支持在最初是很流行的写法 我们都熟悉这种写法: window.onload=function(){ ... }  但是onload事件触发过于缓慢,尤其是在存在很多外部图片或者视频文件的时候,为了更好的了解这一点有必要知道一个html文档是如何进行加载的,这里引用一个园友的表述: 1.用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件: 2.浏览器开始载入htm…
这两个方法用的是相同的代码,一个用于给jQuery对象或者普通对象合并属性和方法一个是针对jQuery对象的实例,对于基本用法举几个例子: html代码如下: <!doctype html> <html> <head> <title></title> <script src='jquery-1.7.1.js'></script> </head> <body> <img src=''/>…
在jQuery 1.7.1中调用jQuery.clean()方法的地方有三处,第一次就是在我之前的随笔分析jQuery.buildFramgment()方法里面的,其实还是构造函数的一部分,在处理诸如$('<div>123</div>')形式的参数时会首选调用jQuery.buildFramgment()创建文档片段,而这个方法有依赖jQuery.clean()方法来实现dom转换,所以这个方法的第一个用处就是在构造jQuery对象上面.另外两处则是在两个dom操作方法before…
HashMap.java的实现是面试必问的问题. JDK版本 java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode) 1. HashMap节点的封装 Node<K, V> static class Node<K,V> implements…
本篇从HashMap的put.get.remove方法入手,分析源码流程 (不涉及红黑树的具体算法) jkd1.8中HashMap的结构为数组.链表.红黑树的形式     (未转化红黑树时)   (转化为红黑树时的情况) 一.关于HashMap需要了解的静态常量 DEFAULT_INITIAL_CAPACITY 数组默认初始容量 16 DEFAULT_LOAD_FACTOR 默认负载因子 0.75 MIN_TREEIFY_CAPACITY 最小树容量 64 在下面的方法探究中将会提到这些静态常量…
前言 在 SpringCloud 微服务项目中,我们有了 Eureka 做服务的注册中心,进行服务的注册于发现和服务治理.使得我们可以摒弃硬编码式的 ip:端口 + 映射路径 来发送请求.我们有了 Feign 作为声明式服务调用组件,可以像调用本地服务一样来调用远程服务.基于 Ribbon 我们又实现了客户端负载均衡,轻松的在集群环境下选取合适的服务提供者.这样看来我们的微服务貌似很完善了.是这样的吗? 并非如此,想想我们在编码过程中进行的健壮性检查.类比一下服务与服务调用是否也应该更加健壮一些…