MyBatisの動作原理と内部構造の解析
MyBatisは優れた永続層フレームワークであり、カスタムSQL、ストアドプロシージャ、高度なマッピングをサポートしています。JDBCコードのほとんどすべてと手動パラメータ設定、結果取得を回避し、XMLまたはアノテーションで設定を管理します。
@Slf4j
public class MyBatisExample {
@Test
public void verifyCache() throws IOException {
String configPath = ...
7月3日 18:45 投稿
JavaScriptソースコード解析:関数設計と変数宣言の最適化
(function(global, noValue) {
global.myLib = function() {
console.log('myLib関数が実行されました');
};
})(window);
疑問点提起:1.自己呼び出し関数は外部のグローバル変数にアクセスできるのに、なぜwindowを引数として渡す必要があるのか?2.undefinedを引数として渡す意味は何か?
個人的な理解1:まず、実引数としてwindowを渡すことで、仮引数のglobal ...
6月30日 16:04 投稿
LinkedList ソースコード解析
内部構造と特徴
LinkedList は内部的にダブルリンクリスト(双方向リスト)によって実装されており、List インターフェースと Deque インターフェースの両方を実装しています。このため、LinkedList はリストとして扱うことができるだけでなく、キュー(Queue)やスタック(Stack)としても利用可能です。
ただし、スタックやキューとして使用する場合には ArrayDeque の使 ...
5月23日 21:39 投稿
Redis 5.0.7ソースコード解析:双方向リンクリスト
Redisにおける双方向リンクリストの実装は、adlist.hとadlist.cというファイルに記述されています。
一、データ構造
Redisで実装されている双方向リンクリストは、一般的な双方向リンクリストと基本的に同じ構造を持っています。
単一ノード:
1 typedef struct listNode {
2 struct listNode *prev;
3 struct listNode *next;
4 void *value;
5 } listNode;
...
5月19日 05:24 投稿