3 2 記憶體中的DataModel

2021-06-16 08:19:47 字數 997 閱讀 6875

3.2 記憶體中的datamodel

fastbyidmappreferences = 

new fastbyidmap();

preferencearray prefsforuser1 = new genericuserpreferencearray(10); // 為user 1建立preferencearray

prefsforuser1.setuserid(0, 1l);

prefsforuser1.setitemid(0, 101l); // 新增第乙個preference,在剛剛建立的10中

prefsforuser1.setvalue(0, 3.0f); //b

prefsforuser1.setitemid(1, 102l);

prefsforuser1.setvalue(1, 4.5f);

… (8 more)

preferences.put(1l, prefsforuser1);// 把user 1的preference新增到輸入資料上

datamodel model = new genericdatamodel(preferences); //建立datamodel

3.2.2 基於檔案的資料 

通常我們不會直接地使用genericdatamodel,而是可能使用filedatamodel: filedatamodel從乙個檔案中讀取資料,並可以在記憶體中儲存作為結果的分值資料,從而轉化為genericdatamodel。

幾乎任何乙個合理的檔案都將會這麼做。我們在第一節裡已經看到了乙個這樣檔案的例子,在這節裡,我們創造了乙個簡單的用逗號分割資料的檔案,在這個檔案裡,每一行都包含乙個資料:user id,item id,分值。使用tab分割的檔案也同樣這麼做。如果它們的名字各自以「.zip」 或「.gz」為字尾,使用對應的zip和gzip解壓。在壓縮格式儲存這一資料是乙個好想法,因為它是巨大的,並且被壓縮好的。

3.2.3 refreshable元件

scorm1 2標準中的datamodel詳解

元素取值 1 model型別 list 0 normal 正常 list 1 review 回顧 list 2 browse 瀏覽 2 status型別 list 0 passed 通過 list 1 completed 完成 list 2 failed 失敗 list 3 incomplete 未...

STM32的記憶體分配

使用keil編寫 區域性變數和全域性變數分別存放在什麼地方?在乙個函式內部定義的變數是內部變數,它只在本函式範圍內有效,也就是說只有在本函式內才能使用它們,在此函式以外是不能使用這些變數的,這稱為區域性變數。使用區域性變數注意以下問題 不同函式中可以使用相同名字的變數,它們代表不同的物件,互不干擾。...

stm32記憶體分配

原文 1 棧區 stack 由編譯器自動分配和釋放,存放函式的引數值 區域性變數的值等,其操作方式類似 於資料結構中的棧。2 堆區 heap 一般由程式設計師分配和釋放,若程式設計師不釋放,程式結束時可能由作業系統 分配 方式類似於資料結構中的鍊錶。3 全域性區 靜態區 static 全域性變數和靜...