xingpingz

35
获赞数
0
关注数
64
粉丝数
北京
北京航空航天大学 | 通信工程
IP 属地未知
2015-07-25 加入
浏览 7.7k

博学,审问,慎思,明辨,力行

122 声望|学徒
java
46
虚拟机
29
go
26
ruby
23
编译原理
20
黄金勋章
暂未获得该勋章
如何获得
白银勋章
暂未获得该勋章
如何获得
1 青铜勋章
个人动态
  • 发布了文章2018-03-30
    k8s :kube-apiserver RESTful API 实现 - Storage
    了解 k8s 的同学都知道,kube-apiserver 对外提供 RESTful API 接口提供 查询,监听集群(资源)状态的服务,kube-apiserver 主要就做一件事,就是如何将 RESTful API (CREATE, DELETE, UPDATE, GET .etc)接口调用映射到对后端存储(比如 etcd)的(增删改查)访问...
  • 发布了文章2018-03-30
    k8s :kube-apiserver 访问 etcd 后端存储
    Interface offers a common interface for object marshaling/unmarshaling operations and hides all the storage-related operations behind it(原文注释)
  • 发布了文章2018-03-27
    Jetty : Embedded Server 启动流程 - 2
    本文接着 Jetty : Embedded Server 启动流程 - 1往下讲,上回说到 Server.start 调用 Connector.start 方法,开始接收和处理请求,Server 默认使用 Connector 的子类 SelectChannelConnector,所以我们重点来看看 SelectChannelConnector 的具体实现
  • 发布了文章2018-03-24
    k8s :kube-apiserver 启动流程 - 2
    前言 文章字数一多,在线编辑不方便,本文是 k8s:kube-apiserver 启动流程的第2部分传送门:k8s :kube-apiserver 启动流程 - 1 回顾 上回讲到 Run 方法: {代码...} 目前系统中有以下 api server: CustomResourceDefinitions Master APIAggregator 每个 api server...
  • 发布了文章2018-03-24
    k8s :kube-apiserver 启动流程 - 1
    看 k8s 源代码有一段时间,总感觉在迷宫里乱窜,有时候觉得终于找到出口了,一下子又撞墙了,总结下来还是自己的内功不够深厚,本文是对 kube-apiserver Legacy(遗留,即将废弃)API 初始化流程(以及数据结构)的一个梳理,算是做个"路标",便于以后在"迷宫"中还能...
  • 发布了文章2018-03-21
    Jetty : Embedded Server 启动流程 - 1
    本文基于 Jetty 8.1.x 版本简单介绍 Jetty Embedded Server 核心概念,线程模型,启动流程。以下代码片段摘自 Jetty 源代码 中的 example-jetty-embedded 模块的 OneServletContext.java
  • 发布了文章2018-03-17
    k8s :构建系统
    make 在源代码根目录 Makefile 文件中定位到 quick-release 目标,该目标的动作是执行 build/release.sh 脚本
  • 发布了文章2018-03-15
    k8s :源代码导入
    最近在调研 Google kubernetes 开源的容器编排平台,刚好也在学习 Go 语言,所以想看看 Google 这样的大厂是怎么撸 Go 语言的,本文简单介绍如何下载 k8s 源代码,导入 Idea GoLand(对,我是搞 Java的~),对于这么庞大的项目,没有 IDE 看起来还是很费劲的,当然...
  • 发布了文章2018-03-15
    k8s :部署
    前言 k8s 集群部署是个老生常谈的问题,网上资料一大把,各路大神祭出了各种方案: 使用 linux 发行版提供的包管理器(比如 centos yum) 使用 第三方工具包(脚本) 使用 第三方二次开发包 本文介绍在 浏览 k8s 源代码过程中发现的 k8s 的一种半手工的部署方法 源头 ...
  • 发布了文章2018-03-15
    k8s :部署
    前言 k8s 集群部署是个老生常谈的问题,网上资料一大把,各路大神祭出了各种方案: 使用 linux 发行版提供的包管理器(比如 centos yum) 使用 第三方工具包(脚本) 使用 第三方二次开发包 本文介绍在 浏览 k8s 源代码过程中发现的 k8s 的一种半手工的部署方法 源头 ...
  • 发布了文章2018-03-15
    k8s :源代码导入
    最近在调研 Google kubernetes 开源的容器编排平台,刚好也在学习 Go 语言,所以想看看 Google 这样的大厂是怎么撸 Go 语言的,本文简单介绍如何下载 k8s 源代码,导入 Idea GoLand(对,我是搞 Java的~),对于这么庞大的项目,没有 IDE 看起来还是很费劲的,当然...
  • 发布了文章2017-12-29
    k8s :从源代码构建 二进制 安装包
    如果直接构建的话会发现会卡在那动不了,原因是构建脚本会从 gcr(google container registry)拉取构建需要的基础镜像,而且是强制拉取...,如果没有 VPN 的话就悲剧了。有两种方法:
  • 发布了文章2017-04-12
    Mybatis:一种 Redis 缓存实现
    通过使用 Cache 注解来标注哪些数据库访问(select)需要缓存,prefix 属性设置 Redis key 前缀,这样做的好处是将缓存的实现和业务逻辑分开,可扩展性强
  • 发布了文章2017-03-23
    Maven 工程实践
    前言 虽然 Gradle 势头很猛,但是 Maven 依然是 Java 项目构建的优先选择,本文简要介绍一些 Maven 工程实践 多模块(multiple module) 如果工程比较复杂,或者预期后续会变的比较复杂,可以将工程分成多个模块,常用的分模块的方法: core,核心代码) util/common...
  • 发布了文章2017-03-17
    Jedis 源代码分析:客户端设计与实现的套路
    要访问(Redis)服务,首先需要与服务建立连接,因此客户端库首先需要对连接进行抽象和封装,Jedis 使用 Connection 类来封装与服务器的一个 socket 连接:
  • 发布了文章2017-03-16
    Log42j 源代码分析:日志回滚
    initialize 方法用于初始化策略,isTriggeringEvent 方法用于判断是否需要回滚,TriggeringPolicy 接口的不同实现类对应不同的策略
  • 发布了文章2017-03-13
    Log42j 源代码分析:plugin(插件)机制
    前言 log4j2 使用插件机制加载各种组件:appender, logger .etc,本文简要分析 log4j2 插件机制实现 Plugin Annotation(注解) Plugin 注解提供了一种便捷的方法将一个类声明成 log4j2 的插件,比如 {代码...} name,name of the plugin category, category to plac...
  • 发布了文章2017-03-01
    OpenJDK9 Hotspot : synchronized 浅析
    网上各路大神总结过各种关于 hotspot jvm synchronized 内部实现,看别人的文章总觉得不过瘾,所以有了这篇文章,尝试再扒一次 synchronized 的“底裤”
  • 发布了文章2017-02-27
    LeetCode 241 - Different Ways to Add Parentheses
    Given a string of numbers and operators, return all possible results from computing all the different possible ways to group numbers and operators. The valid operators are +, - and *
  • 发布了文章2017-02-24
    OpenJDK9 Hotspot : Object wait/notify 方法浅析
    Object wait/notify 方法是早期 JVM 提供的一种基于 Object Monitor 的线程同步方法,本文先介绍相关的数据结构(类),然后从 wait/notify 方法的内部实现入手,简单分析 Object Monitor 相关的原理和实现