主頁 > 前端設計 > 計算機組成原理

計算機組成原理

2020-11-09 07:06:37 前端設計

目錄

    • 一、計算機組成原理
        • 1. 什么是計算機?
        • 2. 為什么要用計算機?
        • 3. 計算機的五大組成部分
        • 4. 作業系統概述
    • 二、CPU作業原理
      • CPU作業流程
      • CPU指令集
      • 啟動計算機

一、計算機組成原理

1. 什么是計算機?

俗稱電腦,即通電的大腦,電腦二字蘊含了人類對計算機的終極期望,希望它能真的像人腦一樣去作業,從而解放人力,

2. 為什么要用計算機?

世界是由聰明的懶人統治的,任何時期,總有一群聰明的懶人想要奴隸別人,在奴隸制社會,聰明的懶人奴役的是真正的人,而人是無法不吃、不喝、不睡覺一直作業的,但是計算機作為一臺機器是可以做到的,所以把計算機當奴隸是上上之選,


3. 計算機的五大組成部分

計算機有五大組成部分,既然計算機是人的奴隸,那么計算機設計核心肯定也是在模仿真正的人,所以我們完全可以把計算機的五大組件比喻成人類的各種器官

  • 控制器
    控制器是計算機的指揮系統,用來控制計算機其他組件的運行,相當于人類的大腦
  • 運算器
    運算器是計算機的運算功能,用來做算術運算和邏輯運算,相當于人腦,
    ps:控制器+運算器=CPU,cpu相當于人的大腦
  • 存盤器
    存盤器是計算機的記憶功能,用來存取資料,
    存盤器主要分為記憶體與外存:
    ? 記憶體相當于人的短期記憶,斷電資料丟失
    ? 外存(如磁盤),相當于記事的本子,斷電資料不會丟失,是用來永久保存資料的
    ? ps:記憶體的存取速度要遠遠高于外存
  • 輸入設備input
    輸入設備是計算接收外界輸入資料的工具,如鍵盤、滑鼠,相當于人的眼睛或耳朵,
  • 輸出設備output
    輸出設備是計算機向外輸出資料的工具,如顯示幕、列印機,相當于人說的話,寫出的文章,
    ps:存盤器如記憶體、磁盤等既是輸入設備又是輸出設備,統稱為IO設備
    一個非常重要的基礎知識:與運行程式相關的三大核心硬體
    我們撰寫的程式一定是要運行于計算機硬體之上,而站在硬體的角度,與運行程式有關的三大核心硬體為CPU、記憶體、硬碟,
    程式最先是存放于硬碟中的,程式的運行是先從硬碟把代碼加載到記憶體中,然后cpu是從記憶體中讀取指令運行,

4. 作業系統概述

  • 作業系統的由來
    ? 大前提:我們編程目的就是為了奴役計算機,讓計算機硬體自發地運行起來,然而硬體畢竟是”死的“,硬體的運行都是由軟體支配,倘若我們要開發一個應用程式,比如暴風音影,該軟體的一個核心業務就是播放視頻,開發者若要撰寫程式完成播放視頻這個業務邏輯,必先涉及到底層硬體硬碟的基本運作(視頻檔案都是先存放于硬碟中),這意味著開發者在撰寫業務邏輯代碼之前,必須先撰寫一個控制硬碟基本運行的控制程式,然而這僅僅只是一個開始,事實上,在撰寫應用程式的業務邏輯前,需要開發者撰寫出一套完整的控制程式用來控制所有硬體的基本運行(這要求開發者需要詳細了解計算機硬體的各種控制細節,例如我們必須把CPU里面所有指令集都掌握一遍),如此,所有的開發者在開發程式時都必須依次開發兩種:
    1、撰寫一套完整的的控制程式,用來控制硬體的基本運行,以及把復雜的硬體的操作封裝成簡單的介面
    2、基于控制程式的介面開發包含一系列業務邏輯的程式,為了與控制程式區分,可以稱為應用程式,以ATM這款應用程式為例,業務邏輯有提款、轉賬、查詢余額等
    ? 綜上,對于不同公司的開發者來說,應用程式的業務邏輯各不相同,但硬體的控制程式都大致相同,為了避免所有程式員做重復勞動,以及不用再耗費精力去了解所有硬體的運行細節,有公司專門跳出來承擔起控制程式的開發任務,這里所說的控制程式指的就是作業系統,
    ? 作業系統的功能就是幫我們把復雜的硬體的控制封裝成簡單的介面,對于開發應用程式來說只需要呼叫作業系統提供給我們的介面即可

  • 系統軟體與應用軟體
    硬體以上運行的都是軟體,而軟體分為兩類:

    1. 應用軟體(例如qq、word、暴風影音、酷我音樂、pycharm等)
    2. 作業系統,作業系統應用軟體與硬體之間的一個橋梁,是協調、管理、控制計算機硬體與應用軟體資源的控制程式,
  • 計算機系統三層結構
    綜上,我們開發應用程式本質是在控制硬體,但是我們直接打交道的是作業系統,應用程式都是通過作業系統來間接地操作硬體的,所以一套完整的計算機系統分為三層,如下
    在這里插入圖片描述

  • 平臺
    應用程式都是運行于作業系統之上,而作業系統則是運行于硬體之上的,所以承載應用程式的是一臺運行有作業系統的計算機,稱之為應用程式的運行平臺,即:硬體 + 作業系統 == 平臺
    在這里插入圖片描述
    常見的平臺有:windows系統+某款硬體、linux系統+某款硬體、ubuntu+某款硬體等,我們在開發應用程式時就需要考慮到應用程式的跨平臺性,如果能開發出一款可以在任意平臺運行的應用程式,那對于開發者來說真是極大的福音,而決定應用軟體的跨平臺性的關鍵因素往往是編程語言的選擇,python恰好是一款跨平臺性語言,這也是我們學習它的原因之一,


二、CPU作業原理

CPU作業流程

CPU的核心作業在于進行運算和判斷,那么要被運算與判斷的資料是從哪里來的?
CPU讀取的資料都是從主存盤器(記憶體)來的,主存盤器內的資料則是從輸入單元所傳輸進來!而CPU處理完畢的資料也必須先寫回主存盤器中,最后資料才從主存盤器傳輸到輸出單元,
所以計算機五大組成部分的基本作業流程就是:輸入單元=>主存盤器=>CPU=>主存盤器=>輸出單元
而CPU會從記憶體中取指令->解碼->執行,然后再取指->解碼->執行下一條指令,周而復始,直至整個程式被執行完成,
總結CPU的大致作業流程就是:獲取指令—>解碼—>執行,詳細見下圖
在這里插入圖片描述

CPU指令集

cpu是計算機的大腦,大腦里集成了一系列具體控制身體其他器官做事的指令集,所以站在純硬體角度去看,計算機所有其他組件都由cpu發出的指令控制,
我們程式員編程的目的是為了控制計算機硬體作業,程式員的代碼都會轉換成cpu的指令集才能去控制其他硬體,所以程式員是通過直接控制cpu來達到間接控制其他硬體的目的,具體流程如下:在這里插入圖片描述
記憶體中存放的是程式員的代碼/指令,cpu從記憶體中取出這些指令后需要翻譯成自己的指令去執行,即cpu在出場時內部就集成了一系列的指令集(指令集是cpu的靈魂),
? 在超大規模集成電路構成的微型計算機中,往往將CPU制成一塊具有特定功能的芯片,稱為微處理器,芯片里邊有撰寫好的微指令集,我們在主機上的所有操作或者說任何軟體的執行最終都要轉化成cpu的指令去執行,如輸入輸出,閱讀,視頻,上網等這些都要參考CPU是否內置有相關微指令集才行,如果沒有,那么CPU無法處理這些操作,
? 不同的CPU指令集不同對應的功能也不同,這就好比不同的人腦,對于大多數人類來說,人腦的結構一樣,但是大家的智商都有差別,
那么目前世界上的主流CPU由那些呢?我們筆記本上貼的Intel、AMD是怎么回事呢?

1、CPU的分類(了解)

我們已經知道CPU內部是含有微指令集的,我們所使用的的軟體都要經過CPU內部的微指令集來完成才行,這些指令集的設計主要又被分為兩種設計理念,這就是目前世界上常見到的兩種主要的CPU種類:分別是精簡指令集(RISC)與復雜指令集(CISC)系統,下面我們就來談談這兩種不同CPU種類的差異!

  • 精簡指令集(了解)
      精簡指令集(Reduced Instruction Set Computing,RISC):這種CPU的設計中,微指令集較為精簡,每個指令的運行時間都很短,完成的動作也很單純,指令的執行效能較佳;但是若要做復雜的事情,就要由多個指令來完成,常見的RISC指令集CPU主要例如Sun公司的SPARC系列、IBM公司的Power Architecture(包括PowerPC)系列、與ARM系列等,【注:Sun已經被Oracle收購;】
    SPARC架構的計算機常用于學術領域的大型作業站中,包括銀行金融體系的主服務器也都有這類的計算機架構;
    PowerPC架構的應用,如Sony出產的Play Station 3(PS3)使用的就是該架構的Cell處理器,
    ARM是世界上使用范圍最廣的CPU了,常用的各廠商的手機、PDA、導航系統、網路設備等,幾乎都用該架構的CPU,

  • 復雜指令集
      復雜指令集(Complex Instruction Set Computer,CISC)與RISC不同,在CISC的微指令集中,每個小指令可以執行一些較低階的硬體操作,指令數目多而且復雜,每條指令的長度并不相同,因此指令執行較為復雜所以每條指令花費的時間較長,但每條個別指令可以處理的作業較為豐富,常見的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架構的CPU,

  • 總結
    CPU按照指令集可以分為精簡指令集CPU和復雜指令集CPU兩種,區別在于前者的指令集精簡,每個指令的運行時間都很短,完成的動作也很單純,指令的執行效能較佳;但是若要做復雜的事情,就要由多個指令來完成,后者的指令集每個小指令可以執行一些較低階的硬體操作,指令數目多而且復雜,每條指令的長度并不相同,因為指令執行較為復雜所以每條指令花費的時間較長,但每條個別指令可以處理的作業較為豐富,

2、x86架構64位

  • x86架構
    x86是針對cpu的型號或者說架構的一種統稱,詳細地講,最早的那顆Intel發明出來的CPU代號稱為8086,后來在8086的基礎上又開發出了80285、80386…,因此這種架構的CPU就被統稱為x86架構了,
    由于AMD、Intel、VIA所開發出來的x86架構CPU被大量使用于個人計算機上面,因此,個人計算機常被稱為x86架構的計算機!
    程式員開發出的軟體最終都要翻譯成cpu的指令集才能運行,因此軟體的版本必須與cpu的架構契合,舉個例子,我們在MySQL官網下載軟體MySQL時名字為:
    Windows(x86,32-bit),ZIP Archive
    (mysql-5.7.20-win32.zip)
    我們發現名字中有x86,這其實就是告訴我們:該軟體應該運行在x86架構的計算機上,
  • 64位
    cpu的位數指的是cpu一次性能從記憶體中取出多少位二進制指令,64bit指的是一次性能從記憶體中取出64位二進制指令,
    在2003年以前由Intel所開發的x86架構CPU由8位升級到16、32位,后來AMD依此架構修改新一代的CPU為64位,到現在,個人計算機CPU通常都是x86_64的架構,
    cpu具有向下兼容性,指的是64位的cpu既可以運行64位的軟體,也可以運行32位的軟體,而32位的cpu只能運行32位的軟體,這其實很好理解,如果把cpu的位數當成是車道的寬,而記憶體中軟體的指令當做是待通行的車輛,寬64的車道每次肯定既可以通行64輛車,也可以通信32輛車,而寬32的車道每次卻只能通行32輛車

3、CPU歷史(了解)
  微處理器由一片或少數幾片大規模集成電路組成的中央處理器,這些電路執行控制部件和算術邏輯部件的功能,微處理器能完成取指令、執行指令,以及與外界存盤器和邏輯部件交換資訊等操作,是微型計算機的運算控制部分,它可與存盤器和外圍電路芯片組成微型計算機,
計算機的發展主要表現在其核心部件——微處理器的發展上,每當一款新型的微處理器出現時,就會帶動計算機系統的其他部件的相應發展,如計算機體系結構的進一步優化,存盤器存取容量的不斷增大、存取速度的不斷提高,外圍設備的不斷改進以及新設備的不斷出現等,根據微處理器的字長和功能,可將其發展劃分為以下幾個階段,
第1階段(1971——1973年)是4位和8位低檔微處理器時代,通常稱為第1代,
第2階段(1974——1977年)是8位中高檔微處理器時代,通常稱為第2代,
第3階段(1978——1984年)是16位微處理器時代,通常稱為第3代,
第4階段(1985——1992年)是32位微處理器時代,又稱為第4代,
第5階段(1993-2005年)是奔騰(pentium)系列微處理器時代,通常稱為第5代,
第6階段(2005年至今)是酷睿(core)系列微處理器時代,通常稱為第6代,“酷睿”是一款領先節能的新型微架構,設計的出發點是提供卓然出眾的性能和能效,提高每瓦特性能,也就是所謂的能效比,

4、 運算器與控制器(了解)

常將運算器和控制器合稱為中央處理器(Central Processing Unit,CPU),
其中運算器用來主要負責程式運算與邏輯判斷,控制器則主要協調各組件和各單元的作業,所以CPU的作業主要在于管理和運算,可以說計算機的大腦就是CPU

  1. 運算器
    運算器是對資訊進行處理和運算的部件,經常進行的運算是算術運算和邏輯運算,所以運算器又可稱為算術邏輯運算部件(Arithmetic and Logical,ALU),
    運算器的核心是加法器,運算器中還有若干個通用暫存器或累加暫存器,用來暫存運算元并存放運算結果,暫存器的存取速度比存盤器的存放速度快很多,

  2. 控制器
    控制器是整個計算機的指揮中心,它的主要功能是按照人們預先確定的操作步驟,控制整個計算機的各部件有條不紊的自動作業,
    控制器從主存中逐條地讀取出指令進行分析,根據指令的不同來安排操作順序,向各部件發出相應的操作信號,控制它們執行指令所規定的任務,控制器中包括一些專用的暫存器,

5、cpu作業的兩種狀態內核態與用戶態

內核態:運行的程式是作業系統,可以操作計算機硬體
用戶態:運行的程式是應用程式,不可以直接操作計算機硬體
應用程式的運行必然涉及到計算機硬體的操作,所以計算機在作業時候頻繁發生內核態與用戶態的切換

6、多執行緒和多核芯片

moore定律指出,芯片中的晶體管數量每18個月翻一倍,隨著晶體管數量的增多,更強大的功能成為了可能,如

第一步增強:在cpu芯片中加入更大的快取,一級快取L1,用和cpu相同的材質制成,cpu訪問它沒有時延

第二步增強:一個cpu中的處理邏輯增多,intel公司首次提出,稱為多執行緒(multithreading)或超執行緒(hyperthreading),對用戶來說一個有兩個執行緒的cpu就相當于兩個cpu,我們后面要學習的行程和執行緒的知識就起源于這里,行程是資源單位而執行緒才是cpu的執行單位,
多執行緒運行cpu保持兩個不同的執行緒狀態,可以在納秒級的時間內來回切換,速度快到你看到的結果是并發的,偽并行的,然而多執行緒不提供真正的并行處理,一個cpu同一時刻只能處理一個行程(一個行程中至少一個執行緒)

第三步增強:除了多執行緒,還出現了包含2個或者4個完整處理器的cpu芯片,如下圖,要使用這類多核芯片肯定需要有多處理作業系統
在這里插入圖片描述

在這里插入圖片描述


7、 存盤器
在這里插入圖片描述

  • 暫存器即L1快取:
    用與cpu相同材質制造,與cpu一樣快,因而cpu訪問它無時延,典型容量是:在32位cpu中為3232,在64位cpu中為6464,在兩種情況下容量均<1KB,

  • 高速快取即L2快取:
    主要由硬體控制高速快取的存取,記憶體中有高速快取行按照064位元組為行0,64127為行1,,,最常用的高速快取行放置在cpu內部或者非常接近cpu的高速快取中,當某個程式需要讀一個存盤字時,高速快取硬體檢查所需要的高速快取行是否在高速快取中,如果是,則稱為高速快取命中,快取滿足了請求,就不需要通過總線把訪問請求送往主存(記憶體),這畢竟是慢的,高速快取的命中通常需要兩個時鐘周期,高速快取為命中,就必須訪問記憶體,這需要付出大量的時間代價,由于高速快取價格昂貴,所以其大小有限,有些機器具有兩級甚至三級高速快取,每一級高速快取比前一級慢但是容易大,

快取在計算機科學的許多領域中起著重要的作用,并不僅僅只是RAM(隨機存取存盤器)的快取行,只要存在大量的資源可以劃分為小的部分,那么這些資源中的某些部分肯定會比其他部分更頻發地得到使用,此時用快取可以帶來性能上的提升,一個典型的例子就是作業系統一直在使用快取,比如,多數作業系統在記憶體中保留頻繁使用的檔案(的一部分),以避免從磁盤中重復地呼叫這些檔案,類似的/root/a/b/c/d/e/f/a.txt的長路徑名轉換成該檔案所在的磁盤地址的結果然后放入快取,可以避免重復尋找地址,還有一個web頁面的url地址轉換為網路地址(IP)地址后,這個轉換結果也可以快取起來供將來使用,

快取是一個好方法,在現代cpu中設計了兩個快取,再看4.1中的兩種cpu設計圖,第一級快取稱為L1總是在CPU中,通常用來將已經解碼的指令調入cpu的執行引擎,對那些頻繁使用的資料自,多少芯片還會按照第二L1快取 ,,,另外往往設計有二級快取L2,用來存放近來經常使用的記憶體字,L1與L2的差別在于對cpu對L1的訪問無時間延遲,而對L2的訪問則有1-2個時鐘周期(即1-2ns)的延遲,

記憶體:
RAM: 主存通常稱為隨機訪問存盤RAM,就是我們通常所說的記憶體,容量一直在不斷攀升,所有不能再高速快取中找到的,都會到主存中找,主存是易失性存盤,斷電后資料全部消失
ROM: 除了主存RAM之外,許多計算機已經在使用少量的非易失性隨機訪問存盤如ROM(Read Only Memory,ROM),在電源切斷之后,非易失性存盤的內容并不會丟失,ROM只讀存盤器在工廠中就被編程完畢,然后再也不能修改,ROM速度快且便宜,在有些計算機中,用于啟動計算機的引導加載模塊就存放在ROM中,另外一些I/O卡也采用ROM處理底層設備的控制,

EEPROM(Electrically Erasable PROM,電可擦除可編程ROM)和閃存(flash memory)也是非易失性的,但是與ROM相反,他們可以擦除和重寫,不過重寫時花費的時間比寫入RAM要多,在便攜式電子設備中中,閃存通常作為存盤媒介,閃存是數碼相機中的膠卷,是便攜式音譯播放器的磁盤,還應用于固態硬碟,閃存在速度上介于RAM和磁盤之間,但與磁盤不同的是,閃存擦除的次數過多,就被磨損了,

CMOS: 還有一類存盤器就是CMOS,它是易失性的,許多計算機利用CMOS存盤器來保持當前時間和日期,CMOS存盤器和遞增時間的電路由一小塊電池驅動,所以,即使計算機沒有加電,時間也仍然可以正確地更新,除此之外CMOS還可以保存配置的引數,比如,哪一個是啟動磁盤等,之所以采用CMOS是因為它耗電非常少,一塊工廠原裝電池往往能使用若干年,但是當電池失效時,相關的配置和時間等都將丟失

# TB,PB, Eb, Zb, YB
1B= 8bit
1KB=2(10)B=1024B; 括號中的數字為2的指數(即多少次方) 
1MB=2(10)KB=1024KB=2(20)B; 
1GB=2(10)MB=1024MB=2(30)B, 
1TB=2(10) GB=1024GB=2(40)B 
1PB=2(10) TB=1024TB=2(50)B 
1EB=2(10) PB=1024PB=2(60)B 
1ZB=2(10) EB=1024EB=2(70)B 
1YB=2(10) ZB=1024ZB=2(80)B 

1Byte相當於一個英文字母
Kilobyte(KB)=1024B相當於一則短篇故事的內容, 
Megabyte(MB)=l024KB相當於一則短篇小說的文字內容, 
Gigabyte(GB)=1024MB相當於貝多芬第五樂章交響曲的樂譜內容, 
Terabyte(TB)=1024GB相當於一家大型醫院中所有的X光圖片資訊量, 
Petabyte(PB)=l024TB相當於50%的全美學術研究圖書館藏書資訊內容, 
Exabyte (EB)=1024PB;5EB相當於至今全世界人類所講過的話語, 
Zettabyte(ZB)=1024EB如同全世界海灘上的沙子數量總和, 
Yottabyte(YB)=1024ZB相當於7000位人類體內的微細胞總和,

8、虛擬記憶體:
許多計算機支持虛擬記憶體機制,該機制使計算機可以運行大于物理記憶體的程式,方法是將正在使用的程式放入記憶體取執行,而暫時不需要執行的程式放到磁盤的某塊地方,這塊地方成為虛擬記憶體,在linux中成為swap,這種機制的核心在于快速地映射記憶體地址,由cpu中的一個部件負責,成為存盤器管理單元(Memory Management Unit MMU)

PS:從一個程式切換到另外一個程式,成為背景關系切換(context switch),快取和MMU的出現提升了系統的性能,尤其是背景關系切換


啟動計算機

在計算機的主板上有一個基本的輸入輸出程式(Basic Input Output system)
BIOS就相當于一個小的作業系統,它有底層的I/O軟體,包括讀鍵盤,寫螢屏,進行磁盤I/O,該程式存放于一非易失性閃存RAM中,

啟動流程:

1.計算機加電

2.BIOS開始運行,檢測硬體:cpu、記憶體、硬碟等

3.BIOS讀取CMOS存盤器中的引數,選擇啟動設備

4.從啟動設備上讀取第一個扇區的內容(MBR主引導記錄512位元組,前446為引導資訊,后64為磁區資訊,最后兩個為標志位)

5.根據磁區資訊讀入bootloader啟動裝載模塊,啟動作業系統

6.然后作業系統詢問BIOS,以獲得配置資訊,對于每種設備,系統會檢查其設備驅動程式是否存在,如果沒有,系統則會要求用戶按照設備驅動程式,一旦有了全部的設備驅動程式,作業系統就將它們調入內核,然后初始有關的表格(如行程表),穿件需要的行程,并在每個終端上啟動登錄程式或GUI

linux系統centos7啟動順序:https://www.cnblogs.com/linhaifeng/articles/13274099.html

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/207563.html

標籤:其他

上一篇:如何遷移網站內容

下一篇:華為 組播理論知識

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • vue移動端上拉加載

    可能做得過于簡單或者比較low,請各位大佬留情,一起探討技術 ......

    uj5u.com 2020-09-10 04:38:07 more
  • 優美網站首頁,頂部多層導航

    一個個人用的瀏覽器首頁,可以把一下常用的網站放在這里,平常打開會比較方便。 第一步,HTML代碼 <script src=https://www.cnblogs.com/szharf/p/"js/jquery-3.4.1.min.js"></script> <div id="navigate"> <ul> <li class="labels labels_1"> ......

    uj5u.com 2020-09-10 04:38:47 more
  • 頁面為要加<!DOCTYPE html>

    最近因為寫一個js函式,需要用到$(window).height(); 由于手寫demo的時候,過于自信,其實對前端方面的認識也不夠體系,用文本檔案直接敲出來的html代碼,第一行沒有加上<!DOCTYPE html> 導致了$(window).height();的結果直接是整個document的高 ......

    uj5u.com 2020-09-10 04:38:52 more
  • WordPress網站程式手動升級要做好資料備份

    WordPress博客網站程式在進行升級前,必須要做好網站資料的備份,這個問題良家佐言是遇見過的;在剛開始接觸WordPress博客程式的時候,因為升級問題和博客網站的修改的一些嘗試,良家佐言是吃盡了苦頭。因為購買的是西部數碼的空間和域名,每當佐言把自己的WordPress博客網站搞到一塌糊涂的時候 ......

    uj5u.com 2020-09-10 04:39:30 more
  • WordPress程式不能升級為5.4.2版本的原因

    WordPress是一款個人博客系統,受到英文博客愛好者和中文博客愛好者的追捧,并逐步演化成一款內容管理系統軟體;它是使用PHP語言和MySQL資料庫開發的,用戶可以在支持PHP和MySQL資料庫的服務器上使用自己的博客。每一次WordPress程式的更新,就會牽動無數WordPress愛好者的心, ......

    uj5u.com 2020-09-10 04:39:49 more
  • 使用CSS3的偽元素進行首字母下沉和首行改變樣式

    網頁中常見的一種效果,首字改變樣式或者首行改變樣式,效果如下圖。 代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ......

    uj5u.com 2020-09-10 04:40:09 more
  • 關于a標簽的講解

    什么是a標簽? <a> 標簽定義超鏈接,用于從一個頁面鏈接到另一個頁面。 <a> 元素最重要的屬性是 href 屬性,它指定鏈接的目標。 a標簽的語法格式:<a href=https://www.cnblogs.com/summerxbc/p/"指定要跳轉的目標界面的鏈接">需要展示給用戶看見的內容</a> a標簽 在所有瀏覽器中,鏈接的默認外觀如下: 未被訪問的鏈接帶 ......

    uj5u.com 2020-09-10 04:40:11 more
  • 前端輪播圖

    在需要輪播的頁面是引入swiper.min.js和swiper.min.css swiper.min.js地址: 鏈接:https://pan.baidu.com/s/15Uh516YHa4CV3X-RyjEIWw 提取碼:4aks swiper.min.css地址 鏈接:https://pan.b ......

    uj5u.com 2020-09-10 04:40:13 more
  • 如何設定html中的背景圖片(全屏顯示,且不拉伸)

    1 <style>2 body{background-image:url(https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture); 3 background-size:cover;background ......

    uj5u.com 2020-09-10 04:40:16 more
  • Java學習——HTML詳解(上)

    HTML詳解 初識HTML Hyper Text Markup Language(超文本標記語言) 1 <!--DOCTYPE:告訴瀏覽器我們要使用什么規范--> 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <!--meta 描述性的標簽,描述一些 ......

    uj5u.com 2020-09-10 04:40:33 more
最新发布
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 07:59:23 more
  • 生產事故-走近科學之消失的JWT

    入職多年,面對生產環境,盡管都是小心翼翼,慎之又慎,還是難免捅出簍子。輕則滿頭大汗,面紅耳赤。重則系統停擺,損失資金。每一個生產事故的背后,都是寶貴的經驗和教訓,都是專案成員的血淚史。為了更好地防范和遏制今后的各類事故,特開此專題,長期更新和記錄大大小小的各類事故。有些是親身經歷,有些是經人耳傳口授 ......

    uj5u.com 2023-04-18 07:55:04 more
  • 記錄--Canvas實作打飛字游戲

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 打開游戲界面,看到一個畫面簡潔、卻又富有挑戰性的游戲。螢屏上,有一個白色的矩形框,里面不斷下落著各種單詞,而我需要迅速地輸入這些單詞。如果我輸入的單詞與螢屏上的單詞匹配,那么我就可以獲得得分;如果我輸入的單詞錯誤或者時間過長,那么我就會輸 ......

    uj5u.com 2023-04-04 08:35:30 more
  • 了解 HTTP 看這一篇就夠

    在學習網路之前,了解它的歷史能夠幫助我們明白為何它會發展為如今這個樣子,引發探究網路的興趣。下面的這張圖片就展示了“互聯網”誕生至今的發展歷程。 ......

    uj5u.com 2023-03-16 11:00:15 more
  • 藍牙-低功耗中心設備

    //11.開啟藍牙配接器 openBluetoothAdapter //21.開始搜索藍牙設備 startBluetoothDevicesDiscovery //31.開啟監聽搜索藍牙設備 onBluetoothDeviceFound //30.停止監聽搜索藍牙設備 offBluetoothDevi ......

    uj5u.com 2023-03-15 09:06:45 more
  • canvas畫板(滑鼠和觸摸)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>canves</title> <style> #canvas { cursor:url(../images/pen.png),crosshair; } #canvasdiv{ bo ......

    uj5u.com 2023-02-15 08:56:31 more
  • 手機端H5 實作自定義拍照界面

    手機端 H5 實作自定義拍照界面也可以使用 MediaDevices API 和 <video> 標簽來實作,和在桌面端做法基本一致。 首先,使用 MediaDevices.getUserMedia() 方法獲取攝像頭媒體流,并將其傳遞給 <video> 標簽進行渲染。 接著,使用 HTML 的 < ......

    uj5u.com 2023-01-12 07:58:22 more
  • 記錄--短視頻滑動播放在 H5 下的實作

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 短視頻已經無數不在了,但是主體還是使用 app 來承載的。本文講述 H5 如何實作 app 的視頻滑動體驗。 無聲勝有聲,一圖頂百辯,且看下圖: 網址鏈接(需在微信或者手Q中瀏覽) 從上圖可以看到,我們主要實作的功能也是本文要講解的有: ......

    uj5u.com 2023-01-04 07:29:05 more
  • 一文讀懂 HTTP/1 HTTP/2 HTTP/3

    從 1989 年萬維網(www)誕生,HTTP(HyperText Transfer Protocol)經歷了眾多版本迭代,WebSocket 也在期間萌芽。1991 年 HTTP0.9 被發明。1996 年出現了 HTTP1.0。2015 年 HTTP2 正式發布。2020 年 HTTP3 或能正... ......

    uj5u.com 2022-12-24 06:56:02 more
  • 【HTML基礎篇002】HTML之form表單超詳解

    ??一、form表單是什么

    ??二、form表單的屬性

    ??三、input中的各種Type屬性值

    ??四、標簽 ......

    uj5u.com 2022-12-18 07:17:06 more