中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

聊城網(wǎng)站建設(shè)lcbywlb2b外鏈

聊城網(wǎng)站建設(shè)lcbywl,b2b外鏈,做企業(yè)網(wǎng)站報(bào)價(jià),網(wǎng)站打開速度慢優(yōu)化一、什么是進(jìn)程1.1 操作系統(tǒng)學(xué)習(xí)進(jìn)程之前首先要了解我們的操作系統(tǒng)(OS),我們的操作系統(tǒng)實(shí)際上也是一款軟件,屬于系統(tǒng)軟件的范疇,操作系統(tǒng)早期采用命令提示框與用戶交互,我們啟動(dòng)某個(gè)軟件,打開某…

一、什么是進(jìn)程

1.1 操作系統(tǒng)

學(xué)習(xí)進(jìn)程之前首先要了解我們的操作系統(tǒng)(OS),我們的操作系統(tǒng)實(shí)際上也是一款軟件,屬于系統(tǒng)軟件的范疇,操作系統(tǒng)早期采用命令提示框與用戶交互,我們啟動(dòng)某個(gè)軟件,打開某個(gè)文件夾等等,都是需要輸入命令來進(jìn)行操作的 典型的就是 Linux 操作系統(tǒng),也是職場(chǎng)中常用的一款操作系統(tǒng),我們現(xiàn)在常用的 Windows 系列的操作系統(tǒng),是一款圖形化操作界面的操作系統(tǒng),用戶使用鼠標(biāo)點(diǎn)一點(diǎn),劃一劃就執(zhí)行對(duì)應(yīng)的操作,所以對(duì)于大眾來講是一款好用的操作系統(tǒng),但是對(duì)應(yīng)的存儲(chǔ)空間(內(nèi)存)的占用是遠(yuǎn)遠(yuǎn)大于命令提示的操作系統(tǒng)。

Windows 啟動(dòng)應(yīng)用是雙擊應(yīng)用的快捷方式圖標(biāo),以qq 為例:

我們桌面的快捷方式可以理解為是 .exe 文件的“超鏈接”,鼠標(biāo)選中快捷方式,右擊,選擇屬性,打開文件所在位置,我們就來到了當(dāng)初我們安裝qq 應(yīng)用時(shí)目錄,鏈接對(duì)應(yīng)了一個(gè) .exe 文件的,我們直接雙擊 .exe 文件也是可以直接啟動(dòng)qq 的。 那么 . exe 是什么文件呢。

EXE可執(zhí)行文件,就是在 WINDOWS環(huán)境下,你雙擊直接就能打開的文件,EXE File英文全名executable file ,譯作可執(zhí)行文件,可移植可執(zhí)行 (PE) 文件格式的文件,它可以加載到內(nèi)存中,并由操作系統(tǒng)加載程序執(zhí)行,是可在操作系統(tǒng)存儲(chǔ)空間中浮動(dòng)定位的可執(zhí)行程序。

操作系統(tǒng)有什么用呢?我覺得是:控制計(jì)算機(jī)各部件協(xié)調(diào)一致的運(yùn)行,

在硬件層面需要管理好各種硬件設(shè)備,比如說,鍵盤,鼠標(biāo),硬盤,當(dāng)時(shí)適配這方面主要是靠主板支持,操作系統(tǒng)能夠適配支持并管理硬件。

在軟件層次,操作系統(tǒng)需要給軟件提供穩(wěn)定的運(yùn)行環(huán)境,當(dāng)然軟件在這個(gè)方面是需要去適配操作系統(tǒng)的,如果操作系統(tǒng)不支持你這軟件運(yùn)行,那也是白給。

可以理解為:操作系統(tǒng)是軟件和硬件之間的橋梁,是計(jì)算機(jī)的靈魂。

有了操作系統(tǒng)之后呢,軟件就可以通過操作系統(tǒng)來間接的操作某個(gè)硬件設(shè)備。


1.2 進(jìn)程的概念 (process)

上面提到我們 windows 中支持的一種 .exe 的運(yùn)行文件,當(dāng)我們雙擊啟動(dòng)這個(gè)文件時(shí),這個(gè)程序就跑起來了,那么在系統(tǒng)中就會(huì)形成一個(gè)進(jìn)程。

不知道有沒有學(xué)習(xí)過C語言的朋友,一個(gè) ".c" 文件到 ".exe "文件需要經(jīng)過:預(yù)編譯、編譯、匯編、鏈接,中間會(huì)涉及到3個(gè)文件。

在C語言中,源程序(.c文件)經(jīng)過編譯程序編譯之后,會(huì)生成一個(gè)后綴為“.obj”的二進(jìn)制文件(稱為目標(biāo)文件);最后還要由稱為“連接程序”(Link)的軟件,把此“.obj”文件與c語言提供的各種庫(kù)函數(shù)連接在一起,生成一個(gè)后綴“.exe”的可執(zhí)行文件。”

.exe 文件也可以理解為里面包含了許多二進(jìn)制的指令,可以在 Windows 系統(tǒng)上運(yùn)行,. exe 文件的啟動(dòng)加載在內(nèi)存中運(yùn)行后,其中指令的處理是交給 CUP (中央處理器)來處理的。


對(duì)于 Java 代碼來說,我們會(huì)創(chuàng)建 “.java”文件,java 文件經(jīng)過我們的JDK (javac命令)編譯后,會(huì)生成 “.class”文件,也叫字節(jié)碼文件,里面也是二進(jìn)制指令,只是 .class 文件需要在 JVM(java虛擬機(jī)) 中才可以運(yùn)行,這也是 java 只要生成了.class 文件, 就可以到處運(yùn)行,只要用戶安裝了 JDK 即可


無論是哪一種語言,計(jì)算機(jī)之所以可以運(yùn)行的最主要的原因是,它最終會(huì)生成 二進(jìn)制文件,然后被 CPU 處理。

上面說到當(dāng)我們運(yùn)行某個(gè)應(yīng)用程序的時(shí)候,就相當(dāng)于生成了一個(gè)進(jìn)程,當(dāng)然每生成一個(gè)進(jìn)程,操作系統(tǒng)就會(huì)為其分配內(nèi)存空間,由CPU 處理其中的數(shù)據(jù),我們可以通過任務(wù)管理器來查看 我們電腦目前進(jìn)程運(yùn)行的狀態(tài)。

我們通過任務(wù)管理器就可以發(fā)現(xiàn),原來電腦有許多進(jìn)程在運(yùn)行呢。

操作系統(tǒng)對(duì)進(jìn)程的管理有兩步:

1. 使用一個(gè)構(gòu)架來描述這個(gè)進(jìn)程,(C 語言的結(jié)構(gòu)體,Java 的類),把進(jìn)程基本信息表示出來。
2. 底層使用一種數(shù)據(jù)結(jié)構(gòu)來將這些進(jìn)程組織起來,放在一起,想象鏈表 每個(gè)value 值是一個(gè)進(jìn)程

CPU 就可以遍歷這種數(shù)據(jù)結(jié)構(gòu),從而達(dá)到處理數(shù)據(jù)的目的。

此時(shí)我們對(duì)進(jìn)程是什么東西應(yīng)該是有了一個(gè)大概的理解:

總結(jié):

  1. 進(jìn)程(Process)是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),可以把進(jìn)程看做程序的一次運(yùn)行過程。

  1. 進(jìn)程在運(yùn)行的是會(huì)消耗資源的,比如:運(yùn)行消耗內(nèi)存,會(huì)涉及到數(shù)據(jù)的訪問——硬盤,數(shù)據(jù)的處理——CPU等一系列操作

  1. 進(jìn)程是操作系統(tǒng)分配資源的基本單位


1.3 進(jìn)程的基本屬性

上文我們初步認(rèn)識(shí)到了進(jìn)程個(gè)什么東西:進(jìn)程看做程序的一次運(yùn)行過程。

現(xiàn)在我們認(rèn)識(shí)進(jìn)程的幾個(gè)重要的基本屬性:

  1. 進(jìn)程的ID(PID)

每一個(gè)進(jìn)程都有一個(gè)非負(fù)整型表示的唯一進(jìn)程ID(PID),好比方我們的身份證一樣,每一個(gè)人的身份證號(hào)是唯一的。
  1. 內(nèi)存指針

看名字大致也能理解是啥意思,就是起一個(gè)標(biāo)識(shí)的作用,當(dāng)前進(jìn)程在內(nèi)存的那一部分運(yùn)行。
  1. 文件的描述表

“文件”是硬盤存儲(chǔ)數(shù)據(jù)、整理數(shù)據(jù)的基本單位,可以看到我們的下載某個(gè)軟件的安裝包在安裝的時(shí)候會(huì)生成一個(gè)文件夾進(jìn)行管理,那么進(jìn)程在運(yùn)行的過程當(dāng)中難免會(huì)打開一些文件來訪問數(shù)據(jù),此時(shí),進(jìn)程每打開一個(gè)文件就會(huì)產(chǎn)生一個(gè)“文件描述符”(標(biāo)識(shí)被打開的文件,文件相關(guān)信息),然后創(chuàng)建對(duì)應(yīng)的一個(gè)順序結(jié)構(gòu),用于存放這些文件標(biāo)識(shí)符,那么這個(gè)順序結(jié)構(gòu)就被我們稱之為“文件描述符表”,我們?cè)趯?duì)文件的讀寫操作的時(shí)候就會(huì)使用到“文件描述符“的信息。
  1. 進(jìn)程的調(diào)度

接下來這組屬性是進(jìn)程學(xué)習(xí)中非常重要的一個(gè)知識(shí)點(diǎn)。

1.4進(jìn)程的調(diào)度

在軟件層次,操作系統(tǒng)給軟件提供的穩(wěn)定的運(yùn)行環(huán)境,進(jìn)程是操作系統(tǒng)分配資源的基本單位,當(dāng)一個(gè)進(jìn)程運(yùn)行時(shí),操作系統(tǒng)會(huì)為其開辟內(nèi)存空間,提供硬盤上的訪問權(quán)限,以及CPU ……

CPU (中央處理器) 主要是負(fù)責(zé) 處理指令、執(zhí)行操作、控制時(shí)間、處理數(shù)據(jù)四大作用, 咱們的程序能運(yùn)行,靠的就是CPU , 每個(gè)程序就相當(dāng)于一組“二進(jìn)制指令”的集合,.exe 文件, . class 文件都是二進(jìn)制文件。

我們先來簡(jiǎn)單的了解一下CPU :

CPU 的字長(zhǎng):

字長(zhǎng)是指CPU在同一單位時(shí)間內(nèi)—次能夠處理的二進(jìn)制位數(shù)。CPU的字長(zhǎng)主要根據(jù)運(yùn)算器和寄存器的位數(shù)確定。比如,一個(gè)CPU有32位的寄存器,并且一次處理32個(gè)二進(jìn)制位,字長(zhǎng)值越大,一次可處理的數(shù)據(jù)二進(jìn)制位數(shù)越多,運(yùn)算能力就越強(qiáng)。目前CPU大多是32位或64位。

CPU 的主頻:

CPU的主頻是指CPU的時(shí)鐘頻率,它是決定執(zhí)行指令速度的計(jì)時(shí)器,通常用MHz(兆赫茲)和GHz(千兆赫茲)來度量。1MHz相當(dāng)于1秒內(nèi)有1百萬個(gè)時(shí)鐘周期,1GHz相當(dāng)于1秒內(nèi)有10億個(gè)時(shí)鐘周期(10億條指令)。

CPU 的核心數(shù):

常見的CPU核數(shù)有雙核、四核、六核、八核、十二核等。在內(nèi)核頻率、緩存大小等條件相同的情況下,CPU內(nèi)核數(shù)量越多,CPU的整體性能越強(qiáng)。比如3.8GHz的6核CPU就比3.8GHz的雙核CPU性能要強(qiáng)。有些CPU的單核就非常強(qiáng)大(inter 系列的CPU 的每個(gè)單核心是比較強(qiáng)大的,即使核心線程數(shù)量不是很多,也不比普通的多核心的CPU 差),對(duì)于 AMD 系列的 CPU 來講,多核心多進(jìn)程在這方面是可以的(在同等價(jià)格上)。

我們也經(jīng)常聽說 CPU 是幾核 多少線程, 例如 :8核 16 線程,每個(gè)核心就相當(dāng)于有一個(gè)人干活,八個(gè)核心就是八個(gè)人干活, 16 線程啥意思嘞,一個(gè)CPU 核心,可以同時(shí)、并行的運(yùn)行兩個(gè)線程。就是說一個(gè)CPU核心一個(gè)人頂倆人干活(一個(gè) CPU 的物理核心內(nèi)部有兩個(gè)邏輯的處理單元), 8 核 16線程, 8個(gè)人可以同時(shí)干16 個(gè)人的活,我啟動(dòng)qq,啟動(dòng)微信,啟動(dòng) qq 音樂,騰訊視頻,我一口氣啟動(dòng)18 款應(yīng)用, 8核16 線程的CPU 可以運(yùn)行吧。


博主電腦的CPU是 4 核 8 線程的,基準(zhǔn)速度就是CPU的主頻率 3.11 GHz (一秒鐘 31億條指令),但是我們可以看到,現(xiàn)在博主電腦有220 個(gè)進(jìn)程同時(shí)在運(yùn)行,我的 CPU 只有區(qū)區(qū)的四核,那豈不是妥妥的狼多肉少。


1.4.1 CPU 處理進(jìn)程的方式

并行:

例如:在同一時(shí)刻,兩個(gè)核心,同時(shí)執(zhí)行兩個(gè)進(jìn)程,此時(shí)我們可以認(rèn)為這兩個(gè)進(jìn)程是并行執(zhí)行的。

博主的CUP 4 核 8 線程,能同時(shí)執(zhí)行 8 個(gè)進(jìn)程,這些進(jìn)程每個(gè)都有一個(gè)獨(dú)立的核心處理數(shù)據(jù),這就是并行處理的方式。

并發(fā):

一個(gè)核心,先執(zhí)行 進(jìn)程1,執(zhí)行一定的時(shí)間后,再執(zhí)行進(jìn)程2,執(zhí)行一定的時(shí)間后,再執(zhí)行進(jìn)程3……最后又執(zhí)行進(jìn)程1,如此以往,只要核心切換的速度足夠快,那么這些進(jìn)程之間就相當(dāng)于“同時(shí)”執(zhí)行的,我們講這種操作成稱之為“并發(fā)"。


所以即使博主 CPU 只有8 個(gè)邏輯處理核心,采用并發(fā)的方式也是可以“同時(shí)”執(zhí)行 200+ 的進(jìn)程的,CPU 處理數(shù)據(jù)的速度是非常快的,所以進(jìn)程之間來回切換人眼是無法感受到的,宏觀上是同時(shí)執(zhí)行的。

對(duì)于多進(jìn)程之間的處理,具體那個(gè) 核心并發(fā)處理那些進(jìn)程,是由操作系統(tǒng)分配的,也就是說如果操作系統(tǒng)不支持并發(fā)的處理數(shù)據(jù),你的CPU 核心數(shù)再多也白搭。也不是說系統(tǒng)中不存在 并行操作,我們很多的時(shí)候把 “并行” 和 "并發(fā)" 統(tǒng)稱為并發(fā)。

當(dāng)一個(gè)核心并發(fā)的處理特別多的任務(wù)(比如說:一萬個(gè)任務(wù))的時(shí)候,我們就可以稱之為”高并發(fā)“。


1.4.2 并發(fā)執(zhí)行的基本屬性

上文,講述了處理 多進(jìn)程多任務(wù)的兩種方式,接下來給大家講講進(jìn)程在并發(fā)的過程中,涉及到的基本的知識(shí)點(diǎn)。

  1. 進(jìn)程的狀態(tài)

運(yùn)行態(tài):進(jìn)程占有處理器正在運(yùn)行。

就緒態(tài):一個(gè)進(jìn)程已經(jīng)準(zhǔn)備好隨時(shí)被CPU 執(zhí)行。

阻塞態(tài):指進(jìn)程不具備運(yùn)行條件,暫時(shí)無法執(zhí)行。

通常,一個(gè)進(jìn)程在創(chuàng)建后將處于就緒狀態(tài)。每個(gè)進(jìn)程在執(zhí)行過程中,只能是上述三種狀態(tài)之一。

同時(shí),在一個(gè)進(jìn)程執(zhí)行過程中,它的狀態(tài)將會(huì)發(fā)生改變。引起進(jìn)程狀態(tài)轉(zhuǎn)換的具體原因如下:

(1)運(yùn)行態(tài)一一等待態(tài):等待使用資源或某事件發(fā)生,如等待外設(shè)傳輸;等待人工干預(yù)。
(2)等待態(tài)一一就緒態(tài):資源得到滿足或某事件己經(jīng)發(fā)生,如外設(shè)傳輸結(jié)束;人工干預(yù)完成。
(3)運(yùn)行態(tài)一一就緒態(tài):運(yùn)行時(shí)間片到,或出現(xiàn)有更高優(yōu)先權(quán)進(jìn)程。
(4)就緒態(tài)一一運(yùn)行態(tài):CPU空閑時(shí)被調(diào)度選中一個(gè)就緒進(jìn)程執(zhí)行。

  1. 進(jìn)程的優(yōu)先級(jí)

進(jìn)程之間的調(diào)度時(shí)間上的分配不一定是公平的,有的需要優(yōu)先調(diào)度,比如操作系統(tǒng)的進(jìn)程……

  1. 進(jìn)程的上下文

進(jìn)程在并發(fā)處理的狀態(tài)下,處理器會(huì)循環(huán)在各進(jìn)程之間進(jìn)行切換處理,上下文就是描述當(dāng)前進(jìn)程執(zhí)行到哪里的(執(zhí)行到了那條指令)“存檔記錄”,進(jìn)程在“暫時(shí)" 離開CPU 的時(shí)候就會(huì)將運(yùn)行時(shí)的中間結(jié)果存檔,等 CPU 下次再執(zhí)行該進(jìn)程的時(shí)候,根據(jù)“存檔記錄”恢復(fù)到上次執(zhí)行的狀態(tài),然后繼續(xù)對(duì)該進(jìn)程往后執(zhí)行。

其中的處理過程會(huì)涉及到 CPU 其中的寄存器,CPU 的寄存器會(huì)動(dòng)態(tài)的維護(hù)操作系統(tǒng)為進(jìn)程分配的空間包括“存檔記錄”,當(dāng)進(jìn)程離開CPU 的時(shí)候,就需要把這些寄存器的值保存在PCB 的上下的字段中,當(dāng)CPU 下次繼續(xù)執(zhí)行該進(jìn)程的時(shí)候,CPU 的寄存器會(huì)重新維護(hù)我們的進(jìn)程(把PCB 中的值給恢復(fù)到上下文的字段中),所謂的上下文具體指的就是進(jìn)程運(yùn)行過程中,CPU 內(nèi)部的一系列存儲(chǔ)器維護(hù)的值。

秒懂百科對(duì) PCB 的解釋:

為了描述控制進(jìn)程的運(yùn)行,系統(tǒng)中存放進(jìn)程的管理和控制信息的數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程控制塊(PCB Process Control Block),它是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄性數(shù)據(jù)結(jié)構(gòu)。它是進(jìn)程管理和控制的最重要的數(shù)據(jù)結(jié)構(gòu),每一個(gè)進(jìn)程均有一個(gè)PCB,在創(chuàng)建進(jìn)程時(shí),建立PCB,伴隨進(jìn)程運(yùn)行的全過程,直到進(jìn)程撤消而撤消。
  1. 進(jìn)程的記賬信息

為了統(tǒng)計(jì)每個(gè)進(jìn)程在 CPU 上執(zhí)行的時(shí)間,可以作為進(jìn)程調(diào)度的參考依據(jù),當(dāng)某個(gè)進(jìn)程執(zhí)行的時(shí)間相對(duì)較長(zhǎng),或者是相對(duì)較短,操作系統(tǒng)就可以根據(jù)進(jìn)程的記賬信息,對(duì)進(jìn)程做出相應(yīng)的處理。

  1. 進(jìn)程的組織

操作系統(tǒng)會(huì)使用雙向鏈表這樣的結(jié)構(gòu)來組織進(jìn)程

  1. 創(chuàng)建一個(gè)進(jìn)程,就是創(chuàng)建一個(gè)鏈表的節(jié)點(diǎn)

  1. 銷毀一個(gè)進(jìn)程就是把鏈表的節(jié)點(diǎn)刪除了

  1. 遍歷進(jìn)程列表,就是在遍歷鏈表


1.5 內(nèi)存的分配

每個(gè)進(jìn)制在執(zhí)行的時(shí)候,操作系統(tǒng)會(huì)給進(jìn)程分配內(nèi)存,用于執(zhí)行,不同的進(jìn)程使用的是不同的區(qū)域,進(jìn)程之前互相之間不會(huì)干擾。

那么操作系統(tǒng)是怎么保證各進(jìn)程之間不會(huì)相互干擾呢?

操作系統(tǒng)給進(jìn)程分配的內(nèi)存空間,是以“虛擬地址空間”的形式進(jìn)行分配的。

站在這兩個(gè)進(jìn)程的角度來講,他們操作的是頁(yè)表生成的虛擬地址,進(jìn)程對(duì)內(nèi)存的訪問會(huì)受到頁(yè)表的檢查,如果該進(jìn)程訪問的虛擬內(nèi)存的地址(越界等)不在頁(yè)表的記錄中,頁(yè)表就無法映射出真實(shí)的內(nèi)存地址,不會(huì)去執(zhí)行操作,也就無法真正的修改真實(shí)的內(nèi)存的值。

這樣就避免了進(jìn)程之間的相互影響,最大的目的就是為了方便校驗(yàn)當(dāng)前地址是否有效,也提升了操作系統(tǒng)的穩(wěn)定性。

一個(gè)進(jìn)程無法直接干涉另一個(gè)進(jìn)程的內(nèi)存數(shù)據(jù)。

進(jìn)程具有獨(dú)立性,每個(gè)進(jìn)程有自己獨(dú)立的地址空間


1.6 進(jìn)程的通信

進(jìn)程具有獨(dú)立性,但是有些時(shí)候進(jìn)程之間需要進(jìn)行交互,進(jìn)程通信是指在進(jìn)程間傳輸數(shù)據(jù)(交換信息)。例如:啟動(dòng)騰訊視頻,如果你qq在線,就可以直接點(diǎn)擊qq登錄,也就不需要再輸入賬號(hào)密碼驗(yàn)證了,驗(yàn)證操作已經(jīng)在 qq 執(zhí)行過了,就會(huì)很方便,檢索的信息也是來自qq 提供的賬號(hào)密碼信息。

進(jìn)程之間的通信就是在進(jìn)程相互獨(dú)立的情況下,找一個(gè)公共區(qū)域,然后進(jìn)程之間通過這個(gè)公共區(qū)域進(jìn)行數(shù)據(jù)交換。

并發(fā)進(jìn)程之間的相互通信是實(shí)現(xiàn)多進(jìn)程間協(xié)作和同步的常用工具.具有很強(qiáng)的實(shí)用性,進(jìn)程通信是操作系統(tǒng)中極為重要的部分。


至此,進(jìn)程的基本認(rèn)識(shí)博主已經(jīng)分享完了,希望對(duì)大家有所幫助,如有不妥之處歡迎批評(píng)指正。

本期收錄于博主的專欄——JavaEE,適用于編程初學(xué)者,感興趣的朋友們可以訂閱,查看其它“JavaEE基礎(chǔ)知識(shí)”。

下期預(yù)告:線程的概念

感謝每一個(gè)觀看本篇文章的朋友,更多精彩敬請(qǐng)期待:保護(hù)小周? *★,°*:.☆( ̄▽ ̄)/$:*.°★* ‘

http://www.risenshineclean.com/news/53482.html

相關(guān)文章:

  • 公司網(wǎng)站可以自己做永久免費(fèi)的建站系統(tǒng)有哪些
  • 動(dòng)態(tài)網(wǎng)站開發(fā)代碼sem代運(yùn)營(yíng)公司
  • 成都網(wǎng)站建設(shè)哪家公司好網(wǎng)絡(luò)營(yíng)銷策劃方案論文
  • 網(wǎng)站開發(fā)公司賺錢嗎電腦清理軟件十大排名
  • 海寧高端網(wǎng)站設(shè)計(jì)曼聯(lián)官方發(fā)文
  • 文化傳媒公司網(wǎng)站模板電商營(yíng)銷推廣方法
  • 網(wǎng)站建設(shè)公司做銷售好不好?營(yíng)銷策劃方案ppt
  • 迅速上排名網(wǎng)站優(yōu)化網(wǎng)絡(luò)營(yíng)銷方式有哪些分類
  • 長(zhǎng)寧區(qū)網(wǎng)站建設(shè)設(shè)計(jì)以網(wǎng)絡(luò)營(yíng)銷為主題的論文
  • 北京seo外包公司要靠譜的百度關(guān)鍵詞優(yōu)化師
  • 深圳最新新聞seoul是什么國(guó)家
  • 河南省住房和城鄉(xiāng)建設(shè)廳二維碼網(wǎng)站網(wǎng)站換了域名怎么查
  • 合肥地區(qū)網(wǎng)站制作關(guān)鍵詞優(yōu)化資訊
  • 做網(wǎng)站1008做網(wǎng)站 - 百度seo推廣培訓(xùn)學(xué)費(fèi)
  • 簡(jiǎn)單個(gè)人網(wǎng)站源碼優(yōu)化最狠的手機(jī)優(yōu)化軟件
  • 愛建站小程序功能介紹搜易網(wǎng)提供的技術(shù)服務(wù)
  • 網(wǎng)站設(shè)計(jì)的畢業(yè)論文結(jié)論怎么寫網(wǎng)頁(yè)設(shè)計(jì)與制作作業(yè)成品
  • 網(wǎng)站開發(fā)保密合同國(guó)際十大市場(chǎng)營(yíng)銷公司
  • 羽毛球網(wǎng)站建設(shè)網(wǎng)站競(jìng)價(jià)排名的弊端
  • 西安網(wǎng)絡(luò)廣播電視臺(tái)湖南關(guān)鍵詞優(yōu)化首選
  • 網(wǎng)站建設(shè)公司包括哪些板塊武漢seo網(wǎng)絡(luò)優(yōu)化公司
  • 在線做插畫的網(wǎng)站seo案例分享
  • 百度搜國(guó)外服務(wù)器Wordpress甲馬營(yíng)seo網(wǎng)站優(yōu)化的
  • 網(wǎng)站開發(fā)語言對(duì)比熱搜詞工具
  • 美國(guó)人在床上做裸身體網(wǎng)站啊軟文投放平臺(tái)有哪些?
  • 職稱論文寫作網(wǎng)站推廣普通話手抄報(bào)文字
  • 深圳公司廣告片制作江西seo推廣方案
  • 怎么快速推廣自己的二維碼北京seo排名收費(fèi)
  • 外國(guó)人做的網(wǎng)站嗎滄州百度推廣公司
  • 做羞羞事的網(wǎng)站有哪些重慶森林電影完整版