原创 一個饅頭引發的血案

本想起 一個 0 引發的血案 ,本着無事不調侃的性取向,索性改爲一個饅頭引發的血案。 越來越覺得在 Java 中,包裝類型的產生完全是由於與其對應的基本類型無法表達"沒有設置該值"、"該值無效"等語境。 以基本類型作爲類的成員變

原创 sun.misc.MetaIndex

作用:文件查找的快速拒絕機制 public class MetaIndex { private static volatile Map<File, MetaIndex> jarMap; private String

原创 thrift-processor

TProcessor 是服務調用組件。 負責從 TProtocol 輸入流讀取消息,寫入到 TProtocol 輸出流。 TProcessor public interface TProcessor { public boo

原创 java nio 學習筆記

Java NIO(New IO)是一個可以替代標準 Java IO 的 API(從Java 1.4開始),提供了與標準IO 不同的工作方式。 Java NIO: Channels and Buffers(通道和緩衝區) 標準的 I

原创 thrift-transport

org.apache.thrift.transport.TTransport 傳輸組件抽象描述。​ public abstract class TTransport implements Closeable { publi

原创 rime輸入法配置

rime 輸入法配置 基本配置來源 https://github.com/xiaoTaoist/rime-dict emoji 表情設置 ./rime-install emoji ./rime-install emoji:cus

原创 使用springboot 搭建的框架

https://github.com/N3verL4nd/demo 未完待續。

原创 Thrift 調用分析

Thrift 定義文件 model.thrift namespace java com.meituan.model struct Request { 1: required i32 age; 2

原创 thrift-TBinaryProtocol

TBinaryProtocol 工廠類。 public static class Factory implements TProtocolFactory { protected long stringLengthLimi

原创 IDL 生成文件

IDL 生成文件在 thrift 棧中的位置。 對於如下的 thrift : namespace java com.meituan.service service HelloService { string say

原创 thrift-TSimpleJSONProtocol

Thrift JSON 序列化實現,只寫操作。 JSON 的弊端就是沒有類型信息,如對於一個整數,無法區分 short,int,long,double等。 @Test public void test4() throw

原创 Feistel 算法

學習資料: https://www.jiamisoft.com/blog/8903-feisteljiegouhundunjiamisuanfa.html https://blog.iwannarun.cn/2017/11/03/

原创 google authenticator

【google authenticator】使用基於時間的一次性密碼(Time-based One-time Password,簡稱TOTP)實現。 離線實現即不需要聯網。 https://blog.seetee.me/post

原创 java.net.URLClassLoader#findClass解析

​jdk1.8 中 AppClassLoader 與 ExtClassLoader 都繼承於 URLClassLoader。 AppClassLoader 與 ExtClassLoader 沒有重寫 findClass 方法,U

原创 HashMap 分析(doing)

JDK8 中,HashMap 使用 數組+鏈表+紅黑樹來實現。 get get(Object key) 的處理流程: 計算 key 的 hash 值,根據 hash 值找到對應數組下標:hash & (table.length