jamvm的淺顯認識

2021-08-10 03:59:35 字數 1333 閱讀 7474

分為幾個模組

1,class物件的認識

//待續

2,anno的認識:

首先初始化一些註解map,

static int initannotation()

registerstaticclassreflocked(&enum_class, enum_cls);

registerstaticclassreflocked(&map_class, map_cls);

registerstaticclassreflocked(&anno_inv_class, anno_inv_cls);

registerstaticclassreflocked(&obj_array_class, obj_ary_cls);

registerstaticclassreflocked(&anno_array_class, anno_ary_cls);

registerstaticclassreflocked(&dbl_anno_array_class, dbl_anno_ary_cls);

//解析方法,呼叫方法

object *parseannotation(class *class, u1 **data_ptr, int *data_len)

anno = *(object**)executestaticmethod(anno_inv_class, anno_create_mb,

type_class, map);

if(exceptionoccurred())

return null;

return anno;

}其中 executemethod(map, map_init_mb)呼叫executemethodargs(...),後者呼叫

executemethodvalist(),

void *executemethodargs(object *ob, class *class, methodblock *mb, ...)

而executemethodvalist實現方法的真正呼叫,

void *executemethodvalist(object *ob, class *class, methodblock *mb,

va_list jargs)

上面的(*mb->native_invoker)(class, mb, ret)實現方法呼叫,

struct methodblock {。。。。}有個nativemethod native_invoker,其中:typedef uintptr_t *(*nativemethod)(class*, methodblock*, uintptr_t*);

對css中包裹性的淺顯認識

從乙個例子中看包裹性和水平對齊的兩種方式 css世界 一書中有這麼乙個例子,主要考察對包裹性的理解。包裹性 自適應性 指元素的尺寸只由內部元素決定,但是永遠小於包含塊容器的尺寸 需求 頁面中某個模組的文字內容是動態的,可能是幾個字,也可能是一句話,希望當字數少的時候居中顯示,字數超過 一行的時候居左...

併發,並行的一些淺顯認識

1,乙個單核cpu乙個時刻只能處理一條執行緒。2,單核cpu使用超執行緒技術可以在乙個時刻處理兩條執行緒 超執行緒技術並不是使單核cpu產生兩個核心,只是提供兩個邏輯執行緒。效果並沒有雙核的強。3,2核4執行緒,4核8執行緒,這些都是使用超執行緒技術才多出一倍的執行緒數。有以上資訊來看併發,並行 併...

對TCP IP的淺顯理解

前段時間做了乙個開發,涉及到網路程式設計,開發過程比較順利,但任務完成後始終覺得有一些疑惑。主要是因為對網路協議不太熟悉,對一些概念也沒弄清楚。後來 我花了一些時間去了解這些網路協議,現在對tcp ip網路協議有了初步的認識,在這裡總結出來,可以梳理一下我對網路協議的理解,加深印象.話說兩台電腦要通...