三流

30
获赞数
1
关注数
16
粉丝数
杭州
浙江大学城市学院 | 工商管理
IP 属地浙江
2018-12-08 加入
浏览 10.4k

三流程序员一枚,立志做保姆级教程。
github : https://github.com/mikylin-project

57 声望|新手
java
57
spring
9
tomcat
6
springboot
3
kafka
3
黄金勋章
暂未获得该勋章
如何获得
白银勋章
暂未获得该勋章
如何获得
个人动态
  • 发布了文章2025-06-01
    JVM 视角下的指针压缩技术实现
    1 准备1.1 FBI WARNING文章异常啰嗦且绕弯。1.2 版本使用 openjdk 24 为跟踪的源码。fork 仓库:https://github.com/openjdk/jdk/2 源码追踪2.1 oopDesc在 JVM 中,Java 对象的最高层级抽象是 oopDesc。代码路径在 hotspot/share/oops/oop.hpp 中。 {代码...} friend...
  • 发布了文章2024-02-08
    Mockito 学习笔记
    1 关于 Mockito1.1 简介Mockito 是一个 java mock 框架,主要用于代码的 mock 测试。在真实的开发环境里,Mockito 可以阻断依赖链条,达到只测试某个方法内代码的目的。 {代码...} Mockito 除了服务端代码的 mock,还可以 mock 安卓代码。本文只考虑 java 服务端开发...
  • 发布了文章2023-02-01
    LC-3 虚拟机学习总结
    2023 年春节前看到不少公众号在刷虚拟机实现的文章,所以过年在家静下心来看了看,也自己试了试,觉得挺有趣的。此处写一篇总结,算是给自己一个交代。
  • 发布了文章2022-12-26
    追踪解析 Netty IntObjectHashMap 源码
    IntObjectHashMap 是 netty 封装的,key 必须是 int 的 HashMap 容器。在 netty 4 中,该类位于 netty-all 包下的 io.netty.util.collection 路径下;在 netty 5 中,该类位于 netty5-common 包下的 io.netty5.util.collection 路径下。本文使用 netty 5 进行源码跟...
  • 发布了文章2022-07-14
    Jdk8 新日期工具类 Api 学习笔记
    Jdk8 新日期工具类 Api 学习笔记零 版本Azul Jdk 17.0.2一 ZoneZoneId 代表时区,ZoneOffset 代表时区偏移量。ZoneOffset 是 ZoneId 的子类。 {代码...} 二 PeriodPeriod 是代表年月日级别的时间区间。 {代码...} 三 DurationDuration 是代表一段时间的对象。 {代码....
  • 发布了文章2022-06-08
    阿里 TransmittableThreadLocal 源码简读
    当开发人员需要在线程池的线程中传递某些参数的时候,jdk 的 ThreadLocal 很难实现,静态变量则会面临不够灵活和出现线程安全等问题。TransmittableThreadLocal 是阿里开源工具包,用于解决这一问题。
  • 发布了文章2022-05-29
    Lucene 中的 VInt
    Lucene 的 Index 设计基本依赖磁盘存储,而倒排索引是依赖大量冗余数据来完成分词搜索的技术,所以 Lucene 在设计的时候用了很多时间换空间的数据压缩技术,以此保障能在最少的磁盘资源来储存最多的数据。VInt 就是其中一个很有意思的结构设计。
  • 发布了文章2021-06-10
    Spring 之 BeanUtils.copyProperties(...) 源码简读
    copyProperties(...) 在 org.springframework.beans.BeanUtils 下,在正常应用中,开发者如果需要转换 bean,通常使用到的方法是:
  • 发布了文章2021-02-20
    追踪解析 jdk Proxy 源码
    零 前期准备0 FBI WARNING文章异常啰嗦且绕弯。1 版本JDK 版本 : AdoptOpenJDK 15IDE : idea 2020.32 jdk 代理简介 {代码...} 一 Demo被代理的接口: {代码...} Demo 类: {代码...} 二 Proxy1 newProxyInstance {代码...} 三 ClassLoaderValueClassLoaderValue 是 j...
  • 发布了文章2021-01-14
    GC 时间过长的问题处理思考
    零 前述本文以 G1 作为主视角来做对策分析。 {代码...} 一 从编码层面来说1 减少对象的创建频率尽量复用以前存在的对象,减少对象创建,那么就能减少 gc 的频率。方法有:单例模式享元模式静态对象枚举类对象池技术用 StringBuilder 和 IntegerCache 等方法去代替直...
  • 发布了文章2021-01-01
    解析 Dubbo 的 LoadBalance 策略源码
    零 前期准备0 FBI WARNING文章异常啰嗦且绕弯。1 版本Dubbo 版本 : dubbo 3.02 LoadBalance 简介Dubbo LoadBalance 是 Dubbo Consumer 中用于负载均衡的组件,位于 Cluster 层中。一 InterfaceLoadBalance 的组件遵循 Dubbo 的一般设计规律,接口在 dubbo-cluster 模...
  • 发布了文章2020-10-20
    追踪解析 Dubbo 的 Spi 机制源码
    零 前期准备0 FBI WARNING文章异常啰嗦且绕弯。1 版本JDK 版本 : Adoptopenjdk 14.0.1IDE : idea 2020.2Dubbo 版本 : dubbo 2.7.62 Spi 简介Dubbo Spi 是 Dubbo 框架扩展性的根本基础,是基于 jdk spi 的封装和扩展。3 Demo3.1 需要扩展的接口类 {代码...} 3.2 接口...
  • 发布了文章2020-09-08
    追踪解析 Netty 的 HashedWheelTimer 源码
    零 前期准备0 FBI WARNING文章异常啰嗦且绕弯。1 版本JDK 版本 : Adoptopenjdk 14.0.1IDE : idea 2020.1Netty 版本 : netty-all 4.1.46.Final2 HashedWheelTimer 简介HashedWheelTimer 是 Netty 中实现延迟任务的工具类。3 Demo {代码...} 4 创建 HashedTWheelTimer4...
  • 发布了文章2020-06-28
    Tomcat 源码解析之线程池
    StandardThreadExecutor 是 Catalina 结构中的一部分,是 Tomcat 生命周期中的池化线程资源的封装。类总览:
  • 发布了文章2020-02-03
    Tomcat 学习归整
    Tomcat 版本 独立部署的 Tomcat 版本 - 9.0.30 Spring boot 版本 - 2.2.4.RELEASE 内嵌 Tomcat-embed-core - 9.0.30 Tomcat 概念论述 Tomcat 的架构 (也叫做 Catalina),是一个精密的层级结构系统。 Server - Tomcat 实例,一个 Tomcat 进程即为一个 Server; Servic...
  • 发布了文章2020-01-23
    Kafka 学习笔记归整
    Kafka 的安装和配置 0 安装 略,到官网下载即可。注意 Kafka 还需要 Zookeeper 支持。 Kafka 版本 : kafka_2.13-2.4.0 Zookeeper 版本 : Zookeeper-3.5.4-beta jdk 版本 : openjdk 8 1 Kafka 配置 Kafka 的主要配置文件是 /config/server.properties。 {代码...} 2 ...
  • 发布了文章2019-11-20
    Zookeeper 学习归整
    Zookeeper 是一个分布式服务框架,是 Apache Hadoop 的一个子项目,本质上可以认为是一个文件存储系统。在目前的项目实践中,Zookeeper 的角色一般是服务的注册中心,也可能会作为分布式锁的实践方案。
  • 发布了文章2019-11-20
    Nginx 学习归整
    Nginx 的安装和配置 安装 Nginx 是 C 语言编写的,不跨平台,不同操作系统需要下载不同的 Nginx。 Windows 到官网下载到编译好的版本即可。 Linux 下载源码之后自己编译,或者使用 wget / apt 安装官方编译好的版本。 {代码...} 如果没有特殊配置的话,Ubuntu 18.04 ...
  • 发布了文章2019-11-15
    ProtocolBuf 中 proto 文件的编写与 java 应用
    Protocol Buf 是谷歌出品的一种序列化通讯协议,以高效和跨平台著称。同时理解起来也很晦涩,且中文文档不齐全,不同版本的协议之间兼容性较差。本文从应用的角度聊一下如何在 java 项目中使用该协议。
  • 发布了文章2019-10-25
    浅析 Thread
    零 前期准备 0 FBI WARNING 文章异常啰嗦且绕弯。 1 版本 JDK 版本 : OpenJDK 12.0.1 IDE : idea 2019.2 2 Thread 简介 Thread 对象是 java 中线程的封装对象,用于控制线程的一切属性,也是 java 中最常用到的基础对象之一。 一 正文 1 Thread 类和成员变量 1.1 Thr...