从Cronet 看Http3和QUIC(一) 前言前一段时间,在公司内部进行了一次QUIC协议的演讲。当时因为时间有限,没有仔细的讨论Cronet 的源码细节,仅仅只是介绍了QUIC的协议细节。本文就从Cronet源码出发,聊聊QUIC的一些实现,进而看看QUIC对比Http2的优势, 2022-05-03 yjy239 quic Shadow源码解析 前言时隔4年。本文再次来聊聊Shadow 这个0 hook的插件库。目前看来,确实是腾讯这个Shadow 插件库做到0 hook api实现插件化。在腾讯内部也是广泛使用,其设计上解藕的非常好,可以独立升级插件的插件依赖库很少造成冲突,可以 2022-04-24 yjy239 Android常用第三方库 效能笔记 Android单元测试与JUnit源码解析 前言进入大厂已经有一段时间了,这段时间确实接触了在外面未曾接触到很多东西。而在外界津津乐道的进阶知识点(什么native hook,性能监控,插件化),在大厂内部只是常识罢了。这群大牛早在16年的时候发文研究透了。 还是需要端正态度,从零开 2022-04-24 yjy239 test Android socket源码解析(四)socket的发送数据原理(上) 前言上一篇文章仔细的聊了下socket的connect的原理。本文来自仔细聊聊socket发送的原理。 首先看看socket在调用connect之后,是如何调用api发送数据包的: InputStream inputStream = 2022-04-24 yjy239 socket Android socket源码解析(三)socket的connect源码解析 前言上一篇文章着重的聊了socket服务端的bind,listen,accpet的逻辑。本文来着重聊聊connect都做了什么? 如果遇到什么问题,可以来本文 https://www.jianshu.com/p/da6089fdcfe1 下 2022-04-24 yjy239 socket Android socket源码解析(二)socket的绑定与监听 前言对socket在内核的设计又了初步的印象后,可以进一步的探索socket整个流程。在这里我们先讨论服务端中,如果把准备好一个socket 绑定并进行监听的。 如果遇到什么问题可以来 https://www.jianshu.com/p/6 2022-04-24 yjy239 socket Android socket源码解析(一)socket的初始化原理 前言前四篇文章讲述了Okhttp的核心原理,得知Okhttp是基于Socket开发的,而不是基于HttpUrlConnection开发的。 其中对于客户端来说,核心有如下四个步骤: 1.dns lookup 把资源地址转化为ip地址 2. 2022-04-23 yjy239 socket 字节和腾讯面试的过程和感想记录(已有offer) 前言这段时间稍微断更了一段时间,因为我在准备面试。经过两次面试后,有一些比较深刻的认识。对于大厂来说,除了对专业知识考究之外,对算法也尤为看重。 简单的说一下情况,字节已经拿到offer,腾讯所有的面面试已经通过了,也应该有offer了。字 2021-05-20 随笔 随笔 效能优化笔记 Gradle入门 前言本文将会聊聊这两周以来学习的Gradle 脚本知识点。先后阅读了Gradle in Action 以及Gradle for Android. 总的来说,Gradle in Action 从Gradle脚本起源以及构建开始聊起来,会让人对 2021-03-23 Gradle Gradle 效能优化笔记class 文件初识 前言我一直觉得我的学习态度和方法很有问题,不然也不会觉得自己走到一个奇怪的瓶颈。一个很特殊的怪圈,就是怎么学都达不到大厂的水准和效率。从现在开始需要端正自己的态度,低姿态学习。学的多,不如学的牢固稳妥。 后续的更新计划,只要加班不厉害,每周 2021-03-23 JVM JVM 效能优化笔记第一节 前言我一直觉得我的学习态度和方法很有问题,不然也不会觉得自己走到一个奇怪的瓶颈。一个很特殊的怪圈,就是怎么学都达不到大厂的水准和效率。从现在开始需要端正自己的态度,低姿态学习。学的多,不如学的牢固稳妥。 后续的更新计划,只要加班不厉害,每周 2021-01-24 JVM JVM # 前言 document.querySelectorAll('.github-emoji') .forEach(el => { if (!el.dataset.src) { return 2021-01-24 yjy239