計(jì)算機(jī)是怎樣跑起來(lái)的

  1. 存儲(chǔ)漢字時(shí),字符編碼不同,漢字所占用的字節(jié)數(shù)也就不同。在GBK字符編碼下,一個(gè)漢字占用2個(gè)字節(jié)。而在UTF-8字符編碼下,一個(gè)漢字占用3個(gè)字節(jié)。
  2. 時(shí)鐘信號(hào),就是由內(nèi)含晶振的、被稱作時(shí)鐘發(fā)生器的元件發(fā)出的滴答滴答的電信號(hào)
  3. 通常用Hz來(lái)表示驅(qū)動(dòng)CPU運(yùn)轉(zhuǎn)的時(shí)鐘信號(hào)的頻率。1秒發(fā)出1次時(shí)鐘信號(hào)就是1Hz
  4. 為了驅(qū)動(dòng)CPU運(yùn)轉(zhuǎn),稱為“時(shí)鐘信號(hào)”的電信號(hào)必不可少。這種電信號(hào)就好像帶有一個(gè)時(shí)鐘,滴答滴答地每隔一定時(shí)間就變換一次電壓的高低。輸出時(shí)鐘信號(hào)的元件叫作“時(shí)鐘發(fā)生器”,時(shí)鐘發(fā)生器中帶有晶振,根據(jù)其自身的頻率(振動(dòng)的次數(shù))產(chǎn)生時(shí)鐘信號(hào)。時(shí)鐘信號(hào)的頻率可以衡量CPU的運(yùn)轉(zhuǎn)速度。
  5. 要讓微型計(jì)算機(jī)運(yùn)轉(zhuǎn)起來(lái),5V(伏特)的直流電源是必不可少的。于是還需要使用一個(gè)叫作“開關(guān)式穩(wěn)壓電源”的裝置,將220V的交流電變成5V的直流電。
  6. 為了傳輸時(shí)鐘信號(hào),就需要把時(shí)鐘發(fā)生器的8號(hào)引腳和CPU的CLK (CLK即Clock,時(shí)鐘)引腳連接起來(lái)。時(shí)鐘發(fā)生器的8號(hào)引腳與+5V之間的電阻用于清理時(shí)鐘信號(hào)。
  7. 所謂時(shí)鐘信號(hào)的頻率,就是由時(shí)鐘發(fā)生器發(fā)送給CPU的電信號(hào)的頻率。時(shí)鐘信號(hào)是在0和1兩個(gè)數(shù)之間反復(fù)變換的電信號(hào)。通常把發(fā)出一次滴,答的時(shí)間稱作一個(gè)時(shí)鐘周期。在機(jī)器語(yǔ)言當(dāng)中,指令執(zhí)行時(shí)所需要的時(shí)鐘周期數(shù)取決于指令的類型
  8. 標(biāo)志寄存器”,用于存儲(chǔ)運(yùn)算結(jié)果的狀態(tài),比如是否發(fā)生了進(jìn)位,數(shù)字大小的比較結(jié)果等。PC寄存器也叫作“程序指針”,存儲(chǔ)著指向CPU接下來(lái)要執(zhí)行的指令的地址。PC寄存器的值會(huì)隨著滴答滴答的時(shí)鐘信號(hào)自動(dòng)更新,可以說(shuō)程序就是依靠不斷變化的PC寄存器的值運(yùn)行起來(lái)的。SP寄存器也叫作“棧頂指針”,用于在內(nèi)存中創(chuàng)建出一塊稱為“棧”的臨時(shí)數(shù)據(jù)存儲(chǔ)區(qū)域
  9. 在將一個(gè)2字節(jié)的數(shù)據(jù)存儲(chǔ)到內(nèi)存時(shí),存儲(chǔ)順序是低8位在前、高8位在后(也就是逆序存儲(chǔ))。這樣的存儲(chǔ)順序叫作“小端序”(Little Endian),與此相反,將數(shù)據(jù)由高位到低位順序地存儲(chǔ)到內(nèi)存的存儲(chǔ)順序則叫作“大端序”(Big Endian)。根據(jù)CPU種類的不同,有的CPU使用大端序,有的CPU使用小端序。
  10. 程序員一般都是先考慮程序的流程再開始編寫程序的
  11. 有很多專業(yè)的程序員,他們?cè)诰帉懗绦蚯?,都?huì)通過(guò)畫流程圖或是類似的圖來(lái)思考程序的流程
  12. 所謂算法(Algorithm),就是解決既定問題的步驟 這個(gè)程序的算法是怎樣的呢?”那么只要回答清楚程序的流程就可以了。或者畫出流程圖也是可以的,因?yàn)楸硎境绦蛄鞒痰牧鞒虉D本身就能解釋算法
  13. 思考算法的時(shí)候,要先在紙上用文字或圖表描述出解決問題的步驟,而不要立刻開始編寫代碼
  14. 在CPU中有特定引腳,它們可以接收從I/O設(shè)備發(fā)出的中斷請(qǐng)求信號(hào)。以硬件形式連接到CPU上的I/O模塊會(huì)發(fā)出中斷請(qǐng)求信號(hào),CPU根據(jù)該信號(hào)執(zhí)行相應(yīng)的中斷處理程序。例如每當(dāng)用戶按下鍵盤上的按鍵,鍵盤上的I/O模塊就會(huì)把中斷請(qǐng)求信號(hào)發(fā)送給CPU。CPU通過(guò)這種方式就可以知道有按鍵被按下,于是就會(huì)從I/O設(shè)備讀入數(shù)據(jù)。CPU并不會(huì)時(shí)刻監(jiān)控鍵盤是否有按鍵被按下


    9B513C61-0101-45F5-B045-00D52E616380.png
  15. 對(duì)于創(chuàng)造類的程序員,他們考慮的是程序的開發(fā)效率和可維護(hù)性,并決定應(yīng)該將什么抽象為類。如果一個(gè)類的修改導(dǎo)致其他的類就也要跟著修改,這樣的設(shè)計(jì)是不行的。必須把組件設(shè)計(jì)成即使是壞了(有缺陷了)也能輕松地替換
  16. 索引僅僅是提升數(shù)據(jù)檢索和排序速度的內(nèi)部機(jī)制。一旦在字段上設(shè)置了索引,DBMS就會(huì)自動(dòng)為這個(gè)字段創(chuàng)建索引表,索引表是一種數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)著字段的值以及字段所對(duì)應(yīng)記錄的位置。
  17. 如果在顧客表的顧客姓名字段上設(shè)置了索引,DBMS就會(huì)創(chuàng)建一張索引表(如圖8.13所示),表中有兩個(gè)字段,分別存儲(chǔ)著顧客姓名和位置(所對(duì)應(yīng)的記錄在數(shù)據(jù)文件中的位置)。與原來(lái)的顧客表相比,索引表中的字段數(shù)更少,所以可以更快地進(jìn)行數(shù)據(jù)的檢索和排序。一旦設(shè)置了索引,每次向表中插入數(shù)據(jù)時(shí),DBMS都必須更新索引表。提升數(shù)據(jù)檢索和排序速度的代價(jià),就是插入或更新數(shù)據(jù)速度的降低
    E05ACFF5-F1E0-467A-B13D-30AEE491B7EE.png
  18. 在設(shè)計(jì)系統(tǒng)時(shí),記住一個(gè)重要的順序:優(yōu)先設(shè)計(jì)數(shù)據(jù)庫(kù),然后再設(shè)計(jì)用戶界面。
  19. 事務(wù)由若干條SQL語(yǔ)句構(gòu)成,表示對(duì)數(shù)據(jù)庫(kù)一系列相關(guān)操作的集合 為了防止出現(xiàn)這種問題,在SQL語(yǔ)言中設(shè)計(jì)了以下三條語(yǔ)句:1. BEGINTRANSACTION(開啟事務(wù))語(yǔ)句,用于通知DBMS開啟事務(wù);2. COMMIT(提交事務(wù))語(yǔ)句,用于通知DBMS提交事務(wù);3. ROLL BACK(事務(wù)回滾)語(yǔ)句。
    AFBBC367-518F-442B-A4B2-4BC47813C4D6.png
  20. 幾乎所有的網(wǎng)卡都會(huì)在上市前被分配一個(gè)不可變更的MAC地址。但其實(shí)還是可以通過(guò)一些工具去進(jìn)行變更的。
  21. 計(jì)算機(jī)彼此之間,為了交換信息,還必須在發(fā)送者和接收者之間事先確定發(fā)送方式。這種對(duì)信息發(fā)送方式的規(guī)定或約束就稱為“協(xié)議”(Protocol)。
  22. “集線器”(Hub)是負(fù)責(zé)把各臺(tái)計(jì)算機(jī)的網(wǎng)線相互連接在一起的集線設(shè)備。
  23. “路由器”(Router)是負(fù)責(zé)把公司內(nèi)的網(wǎng)絡(luò)和互聯(lián)網(wǎng)連接起來(lái)的設(shè)備。通常把像這樣部署在一間辦公室內(nèi)的小規(guī)模網(wǎng)絡(luò)稱作LAN;把像互聯(lián)網(wǎng)那樣將企業(yè)和企業(yè)聯(lián)結(jié)起來(lái)的大規(guī)模網(wǎng)絡(luò)稱作WAN。路由器負(fù)責(zé)將LAN連接到WAN上。路由器的一端會(huì)先連接到互聯(lián)網(wǎng)服務(wù)提供商的路由器上。而在服務(wù)提供商(Provider)那里,又會(huì)繼續(xù)將它們的路由器連接到其他路由器上,通過(guò)這種方式最終接入到互聯(lián)網(wǎng)的主干線纜上,以企業(yè)內(nèi)的LAN為一個(gè)基本單位,通過(guò)服務(wù)提供商的路由器把它們和其他企業(yè)的LAN互聯(lián)起來(lái),而把這種聯(lián)結(jié)延伸至世界各個(gè)角落的正是互聯(lián)網(wǎng)。
    571879D8-A71A-47C8-ACCC-B50DC88568D3.png
  24. 插到網(wǎng)卡上的網(wǎng)線。把網(wǎng)線匯集起來(lái)連接到一處的集線器。用于接入到互聯(lián)網(wǎng)的路由器。
  25. 以太網(wǎng)中的每臺(tái)計(jì)算機(jī)都需要先確認(rèn)一件事:在網(wǎng)線上有沒有其他的計(jì)算機(jī)正在傳輸電信號(hào),也就是說(shuō)要先確保沒有人在占用網(wǎng)絡(luò),然后才能發(fā)送自己想傳輸?shù)碾娦盘?hào)。 誰(shuí)先搶到了網(wǎng)線的使用權(quán),誰(shuí)就先發(fā)送。萬(wàn)一遇到了多臺(tái)計(jì)算機(jī)同時(shí)都想發(fā)送電信號(hào)的情況,只需要讓這些計(jì)算機(jī)等待一段長(zhǎng)度隨機(jī)的時(shí)間后再重新發(fā)送相同的電信號(hào)即可
    7087BA90-4CC9-448B-A735-600D543A49F8.png
  26. 在以太網(wǎng)中,發(fā)送給一臺(tái)計(jì)算機(jī)的電信號(hào)也可以被其他所有的計(jì)算機(jī)收到。一臺(tái)計(jì)算機(jī)收到了電信號(hào)以后會(huì)先做判斷,如果是發(fā)送給自己的則選擇接收,反之則選擇忽略??梢杂帽环Q作MAC(Media Access Control)地址的編號(hào)來(lái)指定電信號(hào)的接收者,在每一塊網(wǎng)卡所帶有的ROM(Read Only Memory,只讀存儲(chǔ)器)中,都預(yù)先燒錄了一個(gè)唯一的MAC地址 網(wǎng)卡的制造廠商負(fù)責(zé)確定這個(gè)MAC地址是什么。因?yàn)镸AC地址是由制造廠商的編號(hào)和產(chǎn)品編號(hào)兩部分組成的,所以世界上的每一個(gè)MAC地址都是獨(dú)一無(wú)二的。
  27. 多路復(fù)用指的是多個(gè)設(shè)備可以同時(shí)訪問傳輸介質(zhì)。
  28. 因?yàn)槁酚善饕菜闶怯?jì)算機(jī)的一種,所以它們也有IP地址。 在TCP/IP網(wǎng)絡(luò)中,傳輸?shù)臄?shù)據(jù)都會(huì)攜帶MAC地址和IP地址兩個(gè)地址。IP地址用于WAN中確定局域網(wǎng)的存在,MAC地址用于LAN中確定具體主機(jī)的存在。IP地址是一個(gè)32比特的整數(shù),每8比特為一組,組間用“.”分隔,分成4段表示。8比特所表示的整數(shù)換算成十進(jìn)制后范圍是0~255,因此可用作IP地址的整數(shù)是0.0.0.0~255.255.255.255,共計(jì)4294967296個(gè)。
  29. 通常把IP地址中表示分組(即LAN)的部分稱作“網(wǎng)絡(luò)地址”。表示各臺(tái)計(jì)算機(jī)(即主機(jī))的部分稱為“主機(jī)地址”
  30. 子網(wǎng)掩碼的作用是標(biāo)識(shí)出在32比特的IP地址中,從哪一位到哪一位是網(wǎng)絡(luò)地址,從哪一位到哪一位是主機(jī)地址。把255.255.255.240用二進(jìn)制表示的話,結(jié)果如下所示。11111111.11111111.11111111.11110000
  31. 子網(wǎng)掩碼中,值為1的那些位對(duì)應(yīng)著IP地址中的網(wǎng)絡(luò)地址,后面值為0的那些位則對(duì)應(yīng)著主機(jī)地址。因此255.255.255.240這個(gè)子網(wǎng)掩碼就表示,其所對(duì)應(yīng)的IP地址前28比特是網(wǎng)絡(luò)地址,后4比特是主機(jī)地址。 4個(gè)二進(jìn)制數(shù)可以表示的范圍是從0000到1111,共16個(gè)數(shù)。而因?yàn)樽铋_始的0000和最后的1111具有特殊的用途,所以筆者的辦公室內(nèi)最多可以配置14臺(tái)計(jì)算機(jī),它們的主機(jī)地址范圍是從0001到1110。但是這其中又有一臺(tái)路由器,所以實(shí)際上最多只能放置13臺(tái)計(jì)算機(jī)
  32. 計(jì)算機(jī)在啟動(dòng)時(shí)會(huì)去從DHCP服務(wù)器獲取IP地址和子網(wǎng)掩碼,并自動(dòng)地配置它們。也可以用戶自己手動(dòng)定義。
  33. DHCP服務(wù)器上記錄著可以被分配到LAN內(nèi)計(jì)算機(jī)的IP地址范圍和子網(wǎng)掩碼的值。作為DHCP客戶端的計(jì)算機(jī)在啟動(dòng)時(shí),就可以從中知道哪些IP地址還沒有分配給其他計(jì)算機(jī)。
  34. ”默認(rèn)網(wǎng)關(guān)”的配置項(xiàng)。通常會(huì)把路由器的IP地址設(shè)置在這里。路由器的IP地址也可以從DHCP服務(wù)器獲取,DNS服務(wù)器的IP地址也可以從DHCP服務(wù)器獲取。
  35. 在分組管理下,IP地址中的網(wǎng)絡(luò)地址部分可以代表一個(gè)組中的全部計(jì)算機(jī),即一個(gè)LAN中的計(jì)算機(jī)全體。當(dāng)從公司內(nèi)的計(jì)算機(jī)向另一家公司的計(jì)算機(jī)發(fā)送數(shù)據(jù)時(shí)會(huì)發(fā)生什么呢?首先,一個(gè)不屬于LAN內(nèi)計(jì)算機(jī)的IP地址會(huì)被附加到數(shù)據(jù)的發(fā)送目的地字段上。==這樣的數(shù)據(jù)雖然會(huì)被LAN內(nèi)的計(jì)算機(jī)所忽略,但是不會(huì)被路由器忽略==,因?yàn)槁酚善鞯墓ぷ髟砭褪遣榭锤郊拥綌?shù)據(jù)上的IP地址中的網(wǎng)絡(luò)地址部分,只要發(fā)現(xiàn)這個(gè)數(shù)據(jù)不是發(fā)送給LAN內(nèi)計(jì)算機(jī)的,就把它發(fā)送到LAN外,即互聯(lián)網(wǎng)的世界中
  36. 路由器通過(guò)“路由表”,用來(lái)記錄應(yīng)該把數(shù)據(jù)轉(zhuǎn)發(fā)到哪里。在像互聯(lián)網(wǎng)這樣的網(wǎng)絡(luò)中,傳輸路徑錯(cuò)綜復(fù)雜,而路由器就是站在各個(gè)岔路口的指路人。在一臺(tái)路由器的路由表中,只會(huì)記錄通往與之相鄰的路由器的路徑,而并不會(huì)記錄世界范圍內(nèi)的所有傳輸路徑。
    05A23F6E-25E4-4307-8702-87E796E357FC.png
  37. 在路由表中還有如下的規(guī)則:如果數(shù)據(jù)的發(fā)送目的地就在本LAN中,則可以直接發(fā)送數(shù)據(jù)而無(wú)需經(jīng)過(guò)路由器轉(zhuǎn)發(fā);反之如果在LAN外(或發(fā)送目的地的IP地址不在路由表中),則需要經(jīng)過(guò)路由器轉(zhuǎn)發(fā)。
  38. 左側(cè)按照1~13的順序列出了數(shù)據(jù)前進(jìn)道路上途經(jīng)的IP地址。第1行的202.26.186.171是作為實(shí)驗(yàn)對(duì)象的LAN內(nèi)的路由器。第2行的203.139.167.141是筆者所租用的互聯(lián)網(wǎng)服務(wù)提供商的路由器。從第3到第11行,是其他服務(wù)提供商的路由器。其中第11行的210.145.239.82是GrapeCity所租用的服務(wù)提供商的路由器。第12行的210.160.205.254是GrapeCity的路由器。最后,第13行的210.160.205.80是GrapeCity的Web服務(wù)器。


    D21AF0D8-DB54-4552-89C2-9628954DE76C.png
  39. 在互聯(lián)網(wǎng)的世界中,到處傳輸?shù)亩际歉綆Я薎P地址的數(shù)據(jù)。但是能夠標(biāo)識(shí)作為數(shù)據(jù)最終接收者的網(wǎng)卡的,還是MAC地址。于是在計(jì)算機(jī)中就加入了一種程序,用于實(shí)現(xiàn)由IP地址到MAC地址的轉(zhuǎn)換,這種功能被稱作ARP(Address Resolution Protocol,地址解析協(xié)議)。
  40. ARP的工作方式很有意思。它會(huì)對(duì)LAN中的所有計(jì)算機(jī)提問:“有誰(shuí)的IP地址是210.160.205.80嗎?有的話請(qǐng)把你的MAC地址告訴我。通常把這種同時(shí)向所有LAN內(nèi)的計(jì)算機(jī)發(fā)送數(shù)據(jù)的過(guò)程稱作“廣播”(Broadcast)。通過(guò)廣播詢問,如果有某臺(tái)計(jì)算機(jī)回復(fù)了MAC地址,那么這臺(tái)計(jì)算機(jī)的IP地址和MAC地址的對(duì)應(yīng)關(guān)系也就明確了
  41. 如果為了查詢MAC地址,每回都要進(jìn)行廣播詢問,那么查詢的效率就會(huì)降低。于是ARP還提供了緩存的功能,當(dāng)向各個(gè)計(jì)算機(jī)都詢問完一輪之后,就會(huì)把得到的MAC地址和IP地址的對(duì)應(yīng)關(guān)系緩存起來(lái)(臨時(shí)保存在內(nèi)存中)。存起來(lái)的這些對(duì)應(yīng)關(guān)系信息稱作“ARP緩存表”。只要在命令提示符窗口中執(zhí)行arp -a命令,就可以查看當(dāng)前ARP緩存表中的內(nèi)容
    E25C8E14-CAC7-4063-885F-2B9F1A941BD8.png
  42. IP協(xié)議用于指定數(shù)據(jù)發(fā)送目的地的IP地址以及通過(guò)路由器轉(zhuǎn)發(fā)數(shù)據(jù)。而TCP協(xié)議則用于通過(guò)數(shù)據(jù)發(fā)送者和接收者相互回應(yīng)對(duì)方發(fā)來(lái)的確認(rèn)信號(hào),可靠地傳輸數(shù)據(jù)
  43. TCP協(xié)議中還規(guī)定,發(fā)送者要先把原始的大數(shù)據(jù)分割成以“包”(Packet)為單位的數(shù)據(jù)單元,然后再發(fā)送,而接收者要把收到的包拼裝在一起還原出原始數(shù)據(jù)。
  44. 因?yàn)榘l(fā)送者和接收者都遵循了相同的約束,雙方才能相互發(fā)送數(shù)據(jù)。為了能夠在約束下收發(fā)數(shù)據(jù),操作系統(tǒng)將實(shí)現(xiàn)了TCP和IP等協(xié)議的程序作為自身的一部分功能提供 ==遵循約束表現(xiàn)在統(tǒng)一數(shù)據(jù)的格式上==
  45. 敲打鍵盤輸入的電子郵件正文等數(shù)據(jù),并不是原封不動(dòng)地發(fā)送出去的,而是先通過(guò)實(shí)現(xiàn)了TCP協(xié)議的程序附加上遵守TCP約束所需的信息,然后再通過(guò)實(shí)現(xiàn)了IP協(xié)議的程序,進(jìn)一步附加上遵守IP約束所需的信息。實(shí)際上計(jì)算機(jī)發(fā)送的是以包為單位的、附加了各種各樣信息的數(shù)據(jù)。


    2EB46783-0BFF-4162-8C94-884649466862.png
  46. 硬件上發(fā)送數(shù)據(jù)的是網(wǎng)卡。在網(wǎng)卡之上是設(shè)備驅(qū)動(dòng)程序(用于控制網(wǎng)卡這類硬件的程序),設(shè)備驅(qū)動(dòng)程序之上是實(shí)現(xiàn)了IP協(xié)議的程序,IP程序之上則是實(shí)現(xiàn)了TCP協(xié)議的程序,而再往上才是應(yīng)用程序
    53C14050-91DE-4772-A43A-5AB7D0576C17.png
  47. 信息摘要是指從作為數(shù)字簽名對(duì)象的文件整體中計(jì)算出的數(shù)值。對(duì)比由文件整體計(jì)算出的信息摘要,可以證明文件的內(nèi)容有沒有被篡改。加密處理過(guò)的信息摘要就是數(shù)字簽名。 “信息摘要”(Message Digest)可以理解為就是一個(gè)數(shù)值,通過(guò)對(duì)構(gòu)成明文的所有字符的編碼進(jìn)行某種運(yùn)算就能得出該數(shù)值
    E6D33F5B-5863-4EAB-8D01-8358B6083B72.png
  48. 印章和簽名都可以證明一個(gè)事實(shí),那就是某個(gè)人承認(rèn)了文件的內(nèi)容是完整有效的。印章或簽字有兩層約束。其一是發(fā)送者承認(rèn)文件的內(nèi)容是完整有效的;其二是文件確實(shí)是由發(fā)送者本人發(fā)送的
  49. 瀑布模型:開發(fā)流程宛如瀑布,一級(jí)一級(jí)地自上而下流動(dòng)
  50. 只要經(jīng)過(guò)了充分的程序設(shè)計(jì),編程就變成一項(xiàng)十分簡(jiǎn)單的工作了。因?yàn)樗龅闹皇前殉绦蛟O(shè)計(jì)書上的內(nèi)容翻譯成程序代碼
  51. 測(cè)試人員要根據(jù)測(cè)試計(jì)劃文檔的內(nèi)容確認(rèn)程序的功能。在最后編寫的“測(cè)試報(bào)告”中,還必須定量地(用數(shù)字)標(biāo)示出測(cè)試結(jié)果。如果只記錄了一些含糊的測(cè)試結(jié)果,比如“已測(cè)試”或是“沒問題”,那么就難以判斷系統(tǒng)是否合格了
  52. 覆蓋測(cè)試”則是一種表示有多少代碼的行為已經(jīng)經(jīng)過(guò)確認(rèn)的方法?!巴ㄟ^(guò)涂色檢查,已確認(rèn)了系統(tǒng)95%的功能。剩下的5%雖然有問題,但已經(jīng)查明了原因,可以在1周內(nèi)修正
查看計(jì)算機(jī)上配置的IP地址:
ipconfig /all
查看路由的過(guò)程
tracert www.baidu.com
查看當(dāng)前ARP緩存表中的內(nèi)容
arp -a
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容