RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

電子發(fā)燒友開(kāi)源社區(qū) ? 來(lái)源:HarmonyOS官方合作社區(qū) ? 作者:HarmonyOS官方合作社 ? 2022-03-14 13:45 ? 次閱讀

作者:liuxin,華為高級(jí)工程師

容器類(lèi),顧名思義就是存儲(chǔ)的類(lèi),用于存儲(chǔ)各種數(shù)據(jù)類(lèi)型的元素,并具備一系列處理數(shù)據(jù)元素的方法。在方舟開(kāi)發(fā)框架中,容器類(lèi)采用了類(lèi)似靜態(tài)語(yǔ)言的方式來(lái)實(shí)現(xiàn),并通過(guò)NAPI框架對(duì)外提供。通過(guò)對(duì)存儲(chǔ)位置以及屬性的限制,讓每種類(lèi)型的數(shù)據(jù)都能在完成自身功能的基礎(chǔ)上剪除冗余分支,保證了數(shù)據(jù)的高效訪問(wèn),提升了應(yīng)用的性能。本期,我們將為大家介紹方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型以及相關(guān)API的使用。

一、容器類(lèi)API介紹

在方舟開(kāi)發(fā)框架中,提供了線性和非線性兩類(lèi)容器類(lèi),共14種,每種容器都有自身的特性及使用場(chǎng)景。下面,我們將為大家一一道來(lái)。

1線性容器類(lèi)

線性容器類(lèi)底層主要通過(guò)數(shù)組實(shí)現(xiàn),包括ArrayList、Vector、List、LinkedList、Deque、Queue、Stack七種。線性容器類(lèi)API,充分考慮了數(shù)據(jù)訪問(wèn)的速度,運(yùn)行時(shí)(Runtime)通過(guò)一條字節(jié)碼指令就可以完成增刪改查等操作。

1. ArrayList

ArrayList即動(dòng)態(tài)數(shù)組,可用來(lái)構(gòu)造全局的數(shù)組對(duì)象。ArrayList依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,初始容量大小為10,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的1.5倍。ArrayList進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

2. Vector

Vector 是指連續(xù)存儲(chǔ)結(jié)構(gòu),可用來(lái)構(gòu)造全局的數(shù)組對(duì)象。Vector依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,初始容量大小為10,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的2倍。

由于Vector擴(kuò)容速度高于ArrayList,所以適用于數(shù)據(jù)添加比較頻繁的場(chǎng)景。Vector在支持操作符訪問(wèn)的基礎(chǔ)上,還增加了get/set接口,提供更為完善的校驗(yàn)及容錯(cuò)機(jī)制,滿足用戶不同場(chǎng)景下的需求。Vector進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

3. List

List可用來(lái)構(gòu)造一個(gè)單向鏈表對(duì)象,即只能通過(guò)頭結(jié)點(diǎn)開(kāi)始訪問(wèn)到尾節(jié)點(diǎn)。List依據(jù)泛型定義,在內(nèi)存中的存儲(chǔ)位置可以是不連續(xù)的。

可以通過(guò)get/set等接口對(duì)存儲(chǔ)的元素進(jìn)行修改,List進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

4. LinkedList

LinkedList可用來(lái)構(gòu)造一個(gè)雙向鏈表對(duì)象,可以在某一節(jié)點(diǎn)向前或者向后遍歷List。LinkedList依據(jù)泛型定義,在內(nèi)存中的存儲(chǔ)位置可以是不連續(xù)的。

可以通過(guò)get/set等接口對(duì)存儲(chǔ)的元素進(jìn)行修改,LinkedList進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

5. Queue

Queue可用來(lái)構(gòu)造隊(duì)列對(duì)象,存儲(chǔ)元素遵循先進(jìn)先出的規(guī)則。Queue依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,初始容量大小為8,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的2倍。Queue底層采用循環(huán)隊(duì)列實(shí)現(xiàn),入隊(duì)及出隊(duì)操作效率都比較高。Queue進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

6. Deque

Deque可用來(lái)構(gòu)造雙端隊(duì)列對(duì)象,存儲(chǔ)元素遵循先進(jìn)先出的規(guī)則,雙端隊(duì)列可以分別從對(duì)頭或者隊(duì)尾進(jìn)行訪問(wèn)。Deque依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,其初始容量大小為8,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的2倍。Deque底層采用循環(huán)隊(duì)列實(shí)現(xiàn),入隊(duì)及出隊(duì)操作效率都比較高。Deque進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

7. Stack

Stack可用來(lái)構(gòu)造棧對(duì)象,存儲(chǔ)元素遵循后進(jìn)先出的規(guī)則。Stack依據(jù)泛型定義,要求存儲(chǔ)位置是一片連續(xù)的內(nèi)存空間,初始容量大小為8,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的1.5倍。Stack底層基于數(shù)組實(shí)現(xiàn),入棧出棧均從數(shù)組的一端操作,Stack進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

2非線性容器類(lèi)

非線性容器類(lèi)底層通過(guò)hash或者紅黑樹(shù)實(shí)現(xiàn),包括HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray七種。非線性容器類(lèi)中的key及value的類(lèi)型均滿足ECMA標(biāo)準(zhǔn)。

1. HashMap

HashMap可用來(lái)存儲(chǔ)具有關(guān)聯(lián)關(guān)系的key-value鍵值對(duì)集合,存儲(chǔ)元素中key是唯一的,每個(gè)key會(huì)對(duì)應(yīng)一個(gè)value值。HashMap依據(jù)泛型定義,集合中通過(guò)key的hash值確定其存儲(chǔ)位置,從而快速找到鍵值對(duì)。HashMap的初始容量大小為16,并支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的2倍。HashMap底層基于HashTable實(shí)現(xiàn),沖突策略采用鏈地址法。HashMap進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

2. HashSet

HashSet可用來(lái)存儲(chǔ)一系列值的集合,存儲(chǔ)元素中value是唯一的。依據(jù)泛型定義。集合中通過(guò)value的hash值確定其存儲(chǔ)位置,從而快速找到該值。HashSet初始容量大小為16,支持動(dòng)態(tài)擴(kuò)容,每次擴(kuò)容大小為原始容量的2倍。value的類(lèi)型滿足ECMA標(biāo)準(zhǔn)中要求的類(lèi)型。HashSet底層基于HashTable實(shí)現(xiàn),沖突策略采用鏈地址法。HashSet進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

3. TreeMap

TreeMap可用來(lái)存儲(chǔ)具有關(guān)聯(lián)關(guān)系的key-value鍵值對(duì)集合,存儲(chǔ)元素中key是唯一的,每個(gè)key會(huì)對(duì)應(yīng)一個(gè)value值。TreeMap依據(jù)泛型定義,集合中的key值是有序的,TreeMap的底層是一棵二叉樹(shù),可以通過(guò)樹(shù)的二叉查找快速的找到鍵值對(duì)。key的類(lèi)型滿足ECMA標(biāo)準(zhǔn)中要求的類(lèi)型。TreeMap中的鍵值是有序存儲(chǔ)的。TreeMap底層基于紅黑樹(shù)實(shí)現(xiàn),可以進(jìn)行快速的插入和刪除。TreeMap進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

4. TreeSet

TreeSet可用來(lái)存儲(chǔ)一系列值的集合,存儲(chǔ)元素中value是唯一的。TreeSet依據(jù)泛型定義,集合中的value值是有序的,TreeSet的底層是一棵二叉樹(shù),可以通過(guò)樹(shù)的二叉查找快速的找到該value值,value的類(lèi)型滿足ECMA標(biāo)準(zhǔn)中要求的類(lèi)型。TreeSet中的值是有序存儲(chǔ)的。TreeSet底層基于紅黑樹(shù)實(shí)現(xiàn),可以進(jìn)行快速的插入和刪除。TreeSet進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

5. LightWeightMap

LigthWeightMap可用來(lái)存儲(chǔ)具有關(guān)聯(lián)關(guān)系的key-value鍵值對(duì)集合,存儲(chǔ)元素中key是唯一的,每個(gè)key會(huì)對(duì)應(yīng)一個(gè)value值。LigthWeightMap依據(jù)泛型定義,采用更加輕量級(jí)的結(jié)構(gòu),集合中的key值的查找依賴于hash值以及二分查找算法,通過(guò)一個(gè)數(shù)組存儲(chǔ)hash值,然后映射到其他數(shù)組中的key值以及value值,key的類(lèi)型滿足ECMA標(biāo)準(zhǔn)中要求的類(lèi)型。

初始默認(rèn)容量大小為8,每次擴(kuò)容大小為原始容量的2倍。LigthWeightMap底層標(biāo)識(shí)唯一key通過(guò)hash實(shí)現(xiàn),其沖突策略為線性探測(cè)法,查找策略基于二分查找法。LigthWeightMap進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

6. LightWeightSet

LigthWeightSet可用來(lái)存儲(chǔ)一系列值的集合,存儲(chǔ)元素中value是唯一的。LigthWeightSet依據(jù)泛型定義,采用更加輕量級(jí)的結(jié)構(gòu),初始默認(rèn)容量大小為8,每次擴(kuò)容大小為原始容量的2倍。集合中的value值的查找依賴于hash以及二分查找算法,通過(guò)一個(gè)數(shù)組存儲(chǔ)hash值,然后映射到其他數(shù)組中的value值,value的類(lèi)型滿足ECMA標(biāo)準(zhǔn)中要求的類(lèi)型。

LigthWeightSet底層標(biāo)識(shí)唯一value基于hash實(shí)現(xiàn),其沖突策略為線性探測(cè)法,查找策略基于二分查找法。LigthWeightSet進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

7. PlainArray

PlainArray可用來(lái)存儲(chǔ)具有關(guān)聯(lián)關(guān)系的鍵值對(duì)集合,存儲(chǔ)元素中key是唯一的,并且對(duì)于PlainArray來(lái)說(shuō),其key的類(lèi)型為number類(lèi)型。每個(gè)key會(huì)對(duì)應(yīng)一個(gè)value值,類(lèi)型依據(jù)泛型的定義,PlainArray采用更加輕量級(jí)的結(jié)構(gòu),集合中的key值的查找依賴于二分查找算法,然后映射到其他數(shù)組中的value值。

初始默認(rèn)容量大小為16,每次擴(kuò)容大小為原始容量的2倍。PlainArray的查找策略基于二分查找法。PlainArray進(jìn)行增、刪、改、查操作的相關(guān)API如下:

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

二、容器類(lèi)的實(shí)現(xiàn)

下面我們將以ArrayList為例,為大家介紹,容器類(lèi)的實(shí)現(xiàn)。包括容器類(lèi)的初始化、容器類(lèi)的接口調(diào)用、容器類(lèi)對(duì)象模型的構(gòu)建以及攔截器處理。

1容器類(lèi)初始化

在方舟開(kāi)發(fā)框架中,通過(guò)NAPI的統(tǒng)一框架對(duì)外層提供容器類(lèi)。下面,我們將以ArrayList為例,介紹基于NAPI的容器類(lèi)的加載。如下圖所示,是容器類(lèi)初始化流程,在NAPI加載的過(guò)程中,會(huì)通過(guò)ArkPrivate.Load接口加載對(duì)應(yīng)的容器類(lèi)。ArrayList在引擎中會(huì)初始化Constructor以及Prototype并返回,最后應(yīng)用側(cè)可以獲得該容器類(lèi)并使用。

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

圖1 容器類(lèi)初始化流程

2容器類(lèi)接口調(diào)用

在方舟開(kāi)發(fā)框架中,容器類(lèi)API的調(diào)用流程如圖2所示,用戶先通過(guò)new ArrayList進(jìn)入引擎得到對(duì)應(yīng)的arraylist對(duì)象,然后可以通過(guò)add接口向?qū)ο笾刑砑釉兀刈罱K會(huì)添加到一片和該arraylist綁定的內(nèi)存空間。可以通過(guò)[]操作符進(jìn)行元素獲取,對(duì)于容器類(lèi)而言,引擎會(huì)直接通過(guò)快速路徑訪問(wèn)到元素存儲(chǔ)位置,返回該值。

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

圖2 容器類(lèi)API的調(diào)用流程

3容器類(lèi)對(duì)象模型

在方舟開(kāi)發(fā)框架中,構(gòu)造容器類(lèi)對(duì)象模型的流程如下圖所示,在運(yùn)行時(shí)禁止再向?qū)ο笊咸砑覲roperties屬性,ArrayList借用對(duì)象模型中的elements位置存儲(chǔ)元素。

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

圖3 容器類(lèi)對(duì)象模型的構(gòu)造流程

實(shí)現(xiàn)說(shuō)明:通過(guò)elements存儲(chǔ)數(shù)組元素,Length為數(shù)組中元素個(gè)數(shù),數(shù)組Capatity可以通過(guò)elements的長(zhǎng)度獲取。

擴(kuò)容策略:ArrayList –> 1.5倍

初始分配容量:ArrayList -> 10

(注:TS中的實(shí)現(xiàn),擴(kuò)容策略及初始分配容量不感知)

4攔截器處理

攔截器處理,是指通過(guò)禁止掉一些影響對(duì)象行為的操作,比如delete、setPrototype等,在運(yùn)行時(shí)(Runtime)維護(hù)一個(gè)高效的容器類(lèi)對(duì)象。如圖4所示,以ArrayList為例,ArkCompiler內(nèi)部攔截的操作主要涉及DeleteProperty、DefineProperty、GetProperty、SetPrototype、GetOwnPropertyKeys、HasProperty等操作限制數(shù)組的holy添加,以及更改屬性的attributes等操作,保證了不需要做JSArray必須做的holy 判斷、writable 判斷等操作。

方舟開(kāi)發(fā)框架中容器類(lèi)的各種類(lèi)型

圖4 攔截器處理

三、容器類(lèi)API的使用

通過(guò)上文的介紹,相信大家對(duì)容器類(lèi)已經(jīng)有了比較深刻的認(rèn)識(shí)。那么,我們?cè)趺词褂萌萜黝?lèi)API呢?本文列舉常用的典型容器的使用示例,包括導(dǎo)入模塊、增加元素、訪問(wèn)元素及修改等操作:

// ArrayListimport ArrayList from '@ohos.util.ArrayList' // 導(dǎo)入ArrayList模塊let arrayList = new ArrayList();arrayList.add("a");arrayList.add(1);    // 增加元素print(arrayList[0]); // 訪問(wèn)元素arrayList[0] = one"; // 修改元素print(arrayList[0]);

// Vectorimport Vector from '@ohos.util.Vector'  // 導(dǎo)入Vector模塊let vector = new Vector();vector.add("a");let b = [1, 2, 3];vector.add(b);vector.add(false); // 增加元素print(vector[0]);  // 訪問(wèn)元素print(vector.getFirstElement()); // 訪問(wèn)元素

// Dequeimport Deque from '@ohos.util.Deque'  // 導(dǎo)入Deque模塊let deque = new Deque;deque.insertFront("a");deque.insertFront(1); // 增加元素print(deque[0]);      // 訪問(wèn)元素deque[0] = "one";     // 修改元素print(deque[0]);

// Stackimport Stack from '@ohos.util.Stack'  // 導(dǎo)入Stack模塊  let stack = new Stack();stack.push("a");stack.push(1);   // 增加元素print(stack[0]); // 訪問(wèn)元素stack.pop();     // 彈出元素print(stack.length);

// Listimport List from '@ohos.util.List'  // 導(dǎo)入List模塊let list = new List;list.add("a");list.add(1);let b = [1, 2, 3];list.add(b);        // 增加元素print(list[0]);     // 訪問(wèn)元素print(list.get(0)); // 訪問(wèn)元素

// HashMapimport HashMap from '@ohos.util.HashMap'   // 導(dǎo)入HashMap模塊let hashMap = new HashMap();hashMap.set("a", 123);hashMap.set(4, 123);      // 增加元素print(hashMap.hasKey(4)); // 判斷是否含有某元素print(hashMap.get("a"));  // 訪問(wèn)元素

// TreeMapimport TreeMap from '@ohos.util.TreeMap'   // 導(dǎo)入TreeMap模塊let treeMap = new TreeMap();treeMap.set("a", 123);treeMap.set("6", 356);           // 增加元素print(treeMap.get("a"));         // 訪問(wèn)元素print(treeMap.getFirstKey("a")); // 訪問(wèn)首元素print(treeMap.getLastKey("a"));  // 訪問(wèn)尾元素

// LightWeightMapimport LightWeightMap from '@ohos.util.LightWeightMap' // 導(dǎo)入LightWeightMap模塊let lightWeightMap = new LightWeightMap();lightWeightMap.set("x", 123);lightWeightMap.set("8", 356);   // 增加元素print(lightWeightMap.get("a")); // 訪問(wèn)元素print(lightWeightMap.get("x")); // 訪問(wèn)元素print(lightWeightMap.getIndexOfKey("8")); // 訪問(wèn)元素

// PlainArrayimport PlainArray from '@ohos.util.PlainArray'   // 導(dǎo)入PlainArray模塊let plainArray = new PlainArray();plainArray.add(1, "sdd");plainArray.add(2, "sff");      // 增加元素print(plainArray.get(1));      // 訪問(wèn)元素print(plainArray.getKeyAt(1)); // 訪問(wèn)元素

(左右滑動(dòng),查看更多)

至此以上就是本期全部?jī)?nèi)容,期待廣大開(kāi)發(fā)者通過(guò)方舟開(kāi)發(fā)框架的容器類(lèi)開(kāi)發(fā)出更多高性能的應(yīng)用。

原文標(biāo)題:HarmonyOS 方舟開(kāi)發(fā)框架容器類(lèi)API的介紹與使用

文章出處:【微信公眾號(hào):HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4296

    瀏覽量

    85798
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    495

    瀏覽量

    22060
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1973

    瀏覽量

    30142

原文標(biāo)題:HarmonyOS 方舟開(kāi)發(fā)框架容器類(lèi)API的介紹與使用

文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙開(kāi)發(fā)學(xué)習(xí):【方舟開(kāi)發(fā)框架容器類(lèi)API的介紹與使用】

    在**方舟**開(kāi)發(fā)框架,提供了**線性**和**非線性**兩類(lèi)容器
    的頭像 發(fā)表于 05-13 16:45 ?864次閱讀
    鴻蒙<b class='flag-5'>開(kāi)發(fā)</b>學(xué)習(xí):【<b class='flag-5'>方舟</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>框架</b><b class='flag-5'>容器</b><b class='flag-5'>類(lèi)</b>API的介紹與使用】

    主板的各種類(lèi)型信號(hào)的基本走線要求

    主板的各種類(lèi)型信號(hào)的基本走線要求。
    發(fā)表于 08-07 21:14

    電感元件的各種類(lèi)型及其常見(jiàn)用法討論

    ,還可以用作RF扼流圈。  選擇在設(shè)計(jì)中使用RF電感的電子工程師有多種選擇。為了簡(jiǎn)化這種選擇,本文將討論電感元件的各種類(lèi)型及其常見(jiàn)用法。
    發(fā)表于 06-26 08:18

    如何辨別各種類(lèi)型的接口

    【IT168 應(yīng)用】電源的功率一直是玩家們關(guān)注的焦點(diǎn),可對(duì)于剛涉足DIY領(lǐng)域的用戶來(lái)說(shuō),自己組裝DIY一臺(tái)電腦拿才是最令人興奮的事情。組裝電腦少不了要接各種各樣的線材,那么如何辨別各種類(lèi)型的接口
    發(fā)表于 11-11 07:46

    HarmonyOS方舟開(kāi)發(fā)框架容器類(lèi)API的介紹與使用

    對(duì)外提供。通過(guò)對(duì)存儲(chǔ)位置以及屬性的限制,讓每種類(lèi)型的數(shù)據(jù)都能在完成自身功能的基礎(chǔ)上剪除冗余分支,保證了數(shù)據(jù)的高效訪問(wèn),提升了應(yīng)用的性能。 本期,我們將為大家介紹方舟開(kāi)發(fā)框架
    發(fā)表于 03-07 11:40

    OpenHarmony應(yīng)用開(kāi)發(fā)-ArkUI方舟開(kāi)發(fā)框架簡(jiǎn)析

    方舟開(kāi)發(fā)框架提供了兩種開(kāi)發(fā)范式,分別是基于ArkTS的聲明式開(kāi)發(fā)范式(簡(jiǎn)稱“聲明式開(kāi)發(fā)范式”)
    發(fā)表于 04-23 09:35

    各種類(lèi)型容器的比較

    各種類(lèi)型容器的比較 頻率的特性
    發(fā)表于 02-10 11:49 ?1104次閱讀
    <b class='flag-5'>各種類(lèi)型</b>電<b class='flag-5'>容器</b>的比較

    主板的各種類(lèi)型信號(hào)的基本走線要求

    主板的各種類(lèi)型信號(hào)的基本走線要求         首先在做圖之前應(yīng)對(duì)一些重要信號(hào)進(jìn)行Space設(shè)置和一些線寬設(shè)置,如
    發(fā)表于 03-20 13:57 ?1675次閱讀

    USB各種類(lèi)型接口的引腳定義

    USB各種類(lèi)型接口,包括USB、Mini-USB、Micro-USB的介紹
    發(fā)表于 11-30 11:40 ?0次下載

    MPU6050寄存器的各種類(lèi)型詳細(xì)說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是MPU6050寄存器的各種類(lèi)型詳細(xì)說(shuō)明。
    發(fā)表于 08-08 08:00 ?19次下載
    MPU6050寄存器的<b class='flag-5'>各種類(lèi)型</b>詳細(xì)說(shuō)明

    C51各種類(lèi)型的大小

    目錄各種類(lèi)型所占空間(字節(jié)為單位)各類(lèi)型大小各種類(lèi)型所占空間(字節(jié)為單位)unsigned char is 1signed char is 1unsigned int is 2signed int
    發(fā)表于 01-13 15:27 ?0次下載
    C51<b class='flag-5'>各種類(lèi)型</b>的大小

    如何選擇各種類(lèi)型逆變器電路的MOS管

    逆變器適用范圍非常廣泛,比如說(shuō)光伏逆變器、車(chē)載逆變器、儲(chǔ)能逆變器等等方面。這些類(lèi)型應(yīng)用都已經(jīng)遍布在我們的生活,究竟如何選擇能夠用于光伏、車(chē)載、儲(chǔ)能等各種類(lèi)型逆變器電路的MOS管呢?
    的頭像 發(fā)表于 09-28 10:14 ?5261次閱讀

    各種類(lèi)型的混頻器及優(yōu)缺點(diǎn)

    在RF和微波設(shè)計(jì),混頻是信號(hào)鏈最關(guān)鍵的部分之一。今天我們就講講各種類(lèi)型的混頻器以及各自的優(yōu)缺點(diǎn)。
    的頭像 發(fā)表于 10-19 10:26 ?6602次閱讀

    在MCU開(kāi)發(fā)如何充分利用各種類(lèi)型的斷點(diǎn)?

    在MCU開(kāi)發(fā)如何充分利用各種類(lèi)型的斷點(diǎn)?
    的頭像 發(fā)表于 09-18 16:22 ?641次閱讀
    在MCU<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>中</b>如何充分利用<b class='flag-5'>各種類(lèi)型</b>的斷點(diǎn)?

    淺析各種類(lèi)型的光伏支架

    電子發(fā)燒友網(wǎng)站提供《淺析各種類(lèi)型的光伏支架.doc》資料免費(fèi)下載
    發(fā)表于 11-02 11:37 ?1次下載
    淺析<b class='flag-5'>各種類(lèi)型</b>的光伏支架
    RM新时代网站-首页