大家好,現在小編來為大家解答以上問題。Tomcat核心組件及應用架構詳解相信很多人還不知道,現在讓我們一起來看看吧! Web 容器是什么? 讓我們先來簡單回顧一下 Web 技術的發展歷史,可以幫助你理解 Web 容器的由來。 早期的 Web 應用主要用于瀏覽新聞等靜態頁面,HTTP 服務器(比如 Apache、Nginx)向瀏覽器返回靜態 HTML,瀏覽器負責解析 HTML,將結果呈現給用戶。 隨著互聯網的發展,我們已經不滿足于僅僅瀏覽靜態頁面,還希望通過一些交互操作,來獲取動態結果,因此也就需要一些擴展機制能夠讓 HTTP 服務器調用服務端程序。 于是 Sun 公司推出了 Servlet 技術。你可以把 Servlet 簡單理解為運行在服務端的 Java 小程序,但是 Servlet 沒有 main 方法,不能獨立運行,因此必須把它部署到 Servlet 容器中,由容器來實例化并調用 Servlet。 而 Tomcat 就是一個 Servlet 容器。為了方便使用,它們也具有 HTTP 服務器的功能,因此 Tomcat 就是一個“HTTP 服務器 + Servlet 容器”,我們也叫它們 Web 容器。 HTTP 的本質HTTP 協議是瀏覽器與服務器之間的數據傳送協議。作為應用層協議,HTTP 是基于 TCP/IP 協議來傳遞數據的(HTML 文件、圖片、查詢結果等),HTTP 協議不涉及數據包(Packet)傳輸,主要規定了客戶端和服務器之間的通信格式。 假如瀏覽器需要從遠程 HTTP 服務器獲取一個 HTML 文本,在這個過程中,瀏覽器實際上要做兩件事情。
HTTP 請求響應實例用戶在登陸頁面輸入用戶名和密碼,點擊登陸后,瀏覽器發出了這樣的 HTTP 請求: HTTP 請求數據由三部分組成,分別是請求行、請求報頭、請求正文。當這個 HTTP 請求數據到達 Tomcat 后,Tomcat 會把 HTTP 請求數據字節流解析成一個 Request 對象,這個 Request 對象封裝了 HTTP 所有的請求信息。接著 Tomcat 把這個 Request 對象交給 Web 應用去處理,處理完后得到一個 Response 對象,Tomcat 會把這個 Response 對象轉成 HTTP 格式的響應數據并發送給瀏覽器。 HTTP 的響應也是由三部分組成,分別是狀態行、響應報頭、報文主體。同樣,我還以極客時間登陸請求的響應為例。 Cookie 和 Session我們知道,HTTP 協議有個特點是無狀態,請求與請求之間是沒有關系的。這樣會出現一個很尷尬的問題:Web 應用不知道你是誰。因此 HTTP 協議需要一種技術讓請求與請求之間建立起聯系,并且服務器需要知道這個請求來自哪個用戶,于是 Cookie 技術出現了。 Cookie 是 HTTP 報文的一個請求頭,Web 應用可以將用戶的標識信息或者其他一些信息(用戶名等)存儲在 Cookie 中。用戶經過驗證之后,每次 HTTP 請求報文中都包含 Cookie,這樣服務器讀取這個 Cookie 請求頭就知道用戶是誰了。Cookie 本質上就是一份存儲在用戶本地的文件,里面包含了每次請求中都需要傳遞的信息。 由于 Cookie 以明文的方式存儲在本地,而 Cookie 中往往帶有用戶信息,這樣就造成了非常大的安全隱患。而 Session 的出現解決了這個問題,Session 可以理解為服務器端開辟的存儲空間,里面保存了用戶的狀態,用戶信息以 Session 的形式存儲在服務端。當用戶請求到來時,服務端可以把用戶的請求和用戶的 Session 對應起來。那么 Session 是怎么和請求對應起來的呢?答案是通過 Cookie,瀏覽器在 Cookie 中填充了一個 Session ID 之類的字段用來標識請求。 具體工作過程是這樣的:服務器在創建 Session 的同時,會為該 Session 生成唯一的 Session ID,當瀏覽器再次發送請求的時候,會將這個 Session ID 帶上,服務器接受到請求之后就會依據 Session ID 找到相應的 Session,找到 Session 后,就可以在 Session 中獲取或者添加內容了。而這些內容只會保存在服務器中,發到客戶端的只有 Session ID,這樣相對安全,也節省了網絡流量,因為不需要在 Cookie 中存儲大量用戶信息。 那么 Session 在何時何地創建呢?當然還是在服務器端程序運行的過程中創建的,不同語言實現的應用程序有不同的創建 Session 的方法。在 Java 中,是 Web 應用程序在調用 HttpServletRequest 的 getSession 方法時,由 Web 容器(比如 Tomcat)創建的。 Tomcat 的 Session 管理器提供了多種持久化方案來存儲 Session,通常會采用高性能的存儲方式,比如 Redis,并且通過集群部署的方式,防止單點故障,從而提升高可用。同時,Session 有過期時間,因此 Tomcat 會開啟后臺線程定期的輪詢,如果 Session 過期了就將 Session 失效。 Servlet規范HTTP 服務器怎么知道要調用哪個 Java 類的哪個方法呢。最直接的做法是在 HTTP 服務器代碼里寫一大堆 if else 邏輯判斷:如果是 A 請求就調 X 類的 M1 方法,如果是 B 請求就調 Y 類的 M2 方法。但這樣做明顯有問題,因為 HTTP 服務器的代碼跟業務邏輯耦合在一起了,如果新加一個業務方法還要改 HTTP 服務器的代碼。 那該怎么解決這個問題呢?我們知道,面向接口編程是解決耦合問題的法寶,于是有一伙人就定義了一個接口,各種業務類都必須實現這個接口,這個接口就叫 Servlet 接口,有時我們也把實現了 Servlet 接口的業務類叫作 Servlet。 但是這里還有一個問題,對于特定的請求,HTTP 服務器如何知道由哪個 Servlet 來處理呢?Servlet 又是由誰來實例化呢?顯然 HTTP 服務器不適合做這個工作,否則又和業務類耦合了。 于是,還是那伙人又發明了 Servlet 容器,Servlet 容器用來加載和管理業務類。HTTP 服務器不直接跟業務類打交道,而是把請求交給 Servlet 容器去處理,Servlet 容器會將請求轉發到具體的 Servlet,如果這個 Servlet 還沒創建,就加載并實例化這個 Servlet,然后調用這個 Servlet 的接口方法。因此 Servlet 接口其實是 Servlet 容器跟具體業務類之間的接口。下面我們通過一張圖來加深理解。 Servlet 接口和 Servlet 容器這一整套規范叫作 Servlet 規范。Tomcat 和 Jetty 都按照 Servlet 規范的要求實現了 Servlet 容器,同時它們也具有 HTTP 服務器的功能。作為 Java 程序員,如果我們要實現新的業務功能,只需要實現一個 Servlet,并把它注冊到 Tomcat(Servlet 容器)中,剩下的事情就由 Tomcat 幫我們處理了。 Servlet 接口定義了下面五個方法:
public interface Servlet {
void init(ServletConfig config) throws ServletException;
ServletConfig getServletConfig();
void service(ServletRequest req, ServletResponse res)throws ServletException, IOException;
String getServletInfo();
void destroy();
}
其中最重要是的 service 方法,具體業務類在這個方法里實現處理邏輯。這個方法有兩個參數:ServletRequest 和 ServletResponse。ServletRequest 用來封裝請求信息,ServletResponse 用來封裝響應信息,因此本質上這兩個類是對通信協議的封裝。 HTTP 協議中的請求和響應就是對應了 HttpServletRequest 和 HttpServletResponse 這兩個類。你可以通過 HttpServletRequest 來獲取所有請求相關的信息,包括請求路徑、Cookie、HTTP 頭、請求參數等。此外, 我們還可以通過 HttpServletRequest 來創建和獲取 Session。而 HttpServletResponse 是用來封裝 HTTP 響應的。 你可以看到接口中還有兩個跟生命周期有關的方法 init 和 destroy,這是一個比較貼心的設計,Servlet 容器在加載 Servlet 類的時候會調用 init 方法,在卸載的時候會調用 destroy 方法。我們可能會在 init 方法里初始化一些資源,并在 destroy 方法里釋放這些資源,比如 Spring MVC 中的 DispatcherServlet,就是在 init 方法里創建了自己的 Spring 容器。 你還會注意到 ServletConfig 這個類,ServletConfig 的作用就是封裝 Servlet 的初始化參數。你可以在web.xml給 Servlet 配置參數,并在程序里通過 getServletConfig 方法拿到這些參數。 我們知道,有接口一般就有抽象類,抽象類用來實現接口和封裝通用的邏輯,因此 Servlet 規范提供了 GenericServlet 抽象類,我們可以通過擴展它來實現 Servlet。雖然 Servlet 規范并不在乎通信協議是什么,但是大多數的 Servlet 都是在 HTTP 環境中處理的,因此 Servet 規范還提供了 HttpServlet 來繼承 GenericServlet,并且加入了 HTTP 特性。這樣我們通過繼承 HttpServlet 類來實現自己的 Servlet,只需要重寫兩個方法:doGet 和 doPost。 Servlet 容器當客戶請求某個資源時,HTTP 服務器會用一個 ServletRequest 對象把客戶的請求信息封裝起來,然后調用 Servlet 容器的 service 方法,Servlet 容器拿到請求后,根據請求的 URL 和 Servlet 的映射關系,找到相應的 Servlet,如果 Servlet 還沒有被加載,就用反射機制創建這個 Servlet,并調用 Servlet 的 init 方法來完成初始化,接著調用 Servlet 的 service 方法來處理請求,把 ServletResponse 對象返回給 HTTP 服務器,HTTP 服務器會把響應發送給客戶端 Web 應用Servlet 容器會實例化和調用 Servlet,那 Servlet 是怎么注冊到 Servlet 容器中的呢?一般來說,我們是以 Web 應用程序的方式來部署 Servlet 的,而根據 Servlet 規范,Web 應用程序有一定的目錄結構,在這個目錄下分別放置了 Servlet 的類文件、配置文件以及靜態資源,Servlet 容器通過讀取配置文件,就能找到并加載 Servlet。Web 應用的目錄結構大概是下面這樣的:
| - MyWebApp
| - WEB-INF/web.xml -- 配置文件,用來配置Servlet等
| - WEB-INF/lib/ -- 存放Web應用所需各種JAR包
| - WEB-INF/classes/ -- 存放你的應用類,比如Servlet類
| - META-INF/ -- 目錄存放工程的一些信息
Servlet 規范里定義了 ServletContext 這個接口來對應一個 Web 應用。Web 應用部署好后,Servlet 容器在啟動時會加載 Web 應用,并為每個 Web 應用創建唯一的 ServletContext 對象。你可以把 ServletContext 看成是一個全局對象,一個 Web 應用可能有多個 Servlet,這些 Servlet 可以通過全局的 ServletContext 來共享數據,這些數據包括 Web 應用的初始化參數、Web 應用目錄下的文件資源等。由于 ServletContext 持有所有 Servlet 實例,你還可以通過它來實現 Servlet 請求的轉發。 擴展機制引入了 Servlet 規范后,你不需要關心 Socket 網絡通信、不需要關心 HTTP 協議,也不需要關心你的業務類是如何被實例化和調用的,因為這些都被 Servlet 規范標準化了,你只要關心怎么實現的你的業務邏輯。這對于程序員來說是件好事,但也有不方便的一面。所謂規范就是說大家都要遵守,就會千篇一律,但是如果這個規范不能滿足你的業務的個性化需求,就有問題了,因此設計一個規范或者一個中間件,要充分考慮到可擴展性。Servlet 規范提供了兩種擴展機制:Filter 和 Listener。 Filter 是過濾器,這個接口允許你對請求和響應做一些統一的定制化處理,比如你可以根據請求的頻率來限制訪問,或者根據國家地區的不同來修改響應內容。過濾器的工作原理是這樣的:Web 應用部署完成后,Servlet 容器需要實例化 Filter 并把 Filter 鏈接成一個 FilterChain。當請求進來時,獲取第一個 Filter 并調用 doFilter 方法,doFilter 方法負責調用這個 FilterChain 中的下一個 Filter。 Listener 是監聽器,這是另一種擴展機制。當 Web 應用在 Servlet 容器中運行時,Servlet 容器內部會不斷的發生各種事件,如 Web 應用的啟動和停止、用戶請求到達等。 Servlet 容器提供了一些默認的監聽器來監聽這些事件,當事件發生時,Servlet 容器會負責調用監聽器的方法。當然,你可以定義自己的監聽器去監聽你感興趣的事件,將監聽器配置在web.xml中。比如 Spring 就實現了自己的監聽器,來監聽 ServletContext 的啟動事件,目的是當 Servlet 容器啟動時,創建并初始化全局的 Spring 容器。 Tomcat下載地址:https://tomcat.apache.org/download-80.cgi
/bin:存放 Windows 或 Linux 平臺上啟動和關閉 Tomcat 的腳本文件。
/conf:存放 Tomcat 的各種全局配置文件,其中最重要的是server.xml。
/lib:存放 Tomcat 以及所有 Web 應用都可以訪問的 JAR 文件。
/logs:存放 Tomcat 執行時產生的日志文件。
/work:存放 JSP 編譯后產生的 Class 文件。
/webapps:Tomcat 的 Web 應用目錄,默認情況下把 Web 應用放在這個目錄下。
打開 Tomcat 的日志目錄,也就是 Tomcat 安裝目錄下的 logs 目錄。Tomcat 的日志信息分為兩類 :一是運行日志,它主要記錄運行過程中的一些信息,尤其是一些異常錯誤日志信息 ;二是訪問日志,它記錄訪問的時間、IP 地址、訪問的路徑等相關信息。
概要:
一、Tomcat各組件認知知識點:
Tomcat是一個基于JAVA的WEB容器,其實現了JAVA EE中的 Servlet 與 jsp 規范,與Nginx apache 服務器不同在于一般用于動態請求處理。在架構設計上采用面向組件的方式設計。即整體功能是通過組件的方式拼裝完成。另外每個組件都可以被替換以保證靈活性。 2.Tomcat 各組件及關系Server 和 Service 二、Tomcat server.xml 配置詳解server root元素:server 的頂級配置 主要屬性: port:執行關閉命令的端口號 shutdown:關閉命令 演示shutdown的用法 #基于telent 執行SHUTDOWN 命令即可關閉(必須大寫) telnet 127.0.0.1 8005 SHUTDOWN service 服務:將多個connector 與一個Engine組合成一個服務,可以配置多個服務。 Connector 連接器:用于接收 指定協議下的連接 并指定給唯一的Engine 進行處理。 主要屬性:
Engine 引擎:用于處理連接的執行器,默認的引擎是catalina。一個service 中只能配置一個Engine。 主要屬性:name 引擎名稱 defaultHost 默認host Host 虛擬機:基于域名匹配至指定虛擬機。類似于nginx 當中的server,默認的虛擬機是localhost. 主要屬性: 演示配置多個Host
Context 應用上下文:一個host 下可以配置多個Context ,每個Context 都有其獨立的classPath。相互隔離,以免造成ClassPath 沖突。 主要屬性: 演示配置多個Context
Valve 閥門:可以理解成 的過濾器,具體配置要基于具體的Valve 接口的子類。以下即為一個訪問日志的Valve
三、Tomcat 部署腳本編寫Tomcat啟動參數說明 我們平時啟動Tomcat過程是怎么樣的?
但是我們在Eclipse 或idea 中啟動WEB項目的時候 也是把War包復雜至webapps 目錄解壓嗎?顯然不是,其真正做法是在Tomcat程序文件之外創建了一個部署目錄,在一般生產環境中也是這么做的 即:Tomcat 程序目錄和部署目錄分開 。 我們只需要在啟動時指定CATALINA_HOME 與 CATALINA_BASE 參數即可實現。 | 啟動參數 | 描述說明 | |:----|:----| | JAVA_OPTS | jvm 啟動參數 , 設置內存 編碼等 -Xms100m -Xmx200m -Dfile.encoding=UTF-8 | | JAVA_HOME | 指定jdk 目錄,如果未設置從java 環境變量當中去找。 | | CATALINA_HOME | Tomcat 程序根目錄 | | CATALINA_BASE | 應用部署目錄,默認為$CATALINA_HOME | | CATALINA_OUT | 應用日志輸出目錄:默認$CATALINA_BASE/log | | CATALINA_TMPDIR | 應用臨時目錄:默認:$CATALINA_BASE/temp | 可以編寫一個腳本 來實現自定義配置:
ln -s /home/wukong/apache-tomcat-8.5.56 apache-tomcat
更新 啟動 腳本
#!/bin/bash
export JAVA_OPTS="-Xms100m -Xmx200m"
export CATALINA_HOME=/home/wukong/apache-tomcat
export CATALINA_BASE="`pwd`"
case $1 in
start)
$CATALINA_HOME/bin/catalina.sh start
echo start success!!
;;
stop)
$CATALINA_HOME/bin/catalina.sh stop
echo stop success!!
;;
restart)
$CATALINA_HOME/bin/catalina.sh stop
echo stop success!!
sleep 3
$CATALINA_HOME/bin/catalina.sh start
echo start success!!
;;
version)
$CATALINA_HOME/bin/catalina.sh version
;;
configtest)
$CATALINA_HOME/bin/catalina.sh configtest
;;
esac
exit 0
docker 啟動tomcat
docker run -id --name=test_tomcat -e JAVA_OPTS='-Xmx128m' -p 8888:8080 -v /usr/local/tuling-project/tomcat-test/webapps:/usr/local/tomcat/webapps -v /usr/local/tuling-project/tomcat-test/logs:/usr/local/tomcat/logs -v /usr/local/tuling-project/tomcat-test/conf:/usr/local/tomcat/conf --privileged=true tomcat:8
源碼構建 下載地址:https://tomcat.apache.org/download-80.cgi 配置 1.解壓源碼 apache-tomcat-8.5.57-src 2.apache-tomcat-8.5.57-src目錄下添加pom文件
3.在apache-tomcat-8.5.57-src 同級目錄新建 catalina-home并保證目錄下面文件如下 注意: 上面文件夾apache-tomcat-8.5.57-src里面有的,就剪切過來,沒有的就新建一個, bin conf webapps 應該是從apache-tomcat-8.5.57-src剪切過來的 4.idea引入項目 File->Open 選擇解壓的C:\Users\wukong\Downloads\apache-tomcat-8.5.57-src\apache-tomcat-8.5.57-src 配置啟動 MainClass: org.apache.catalina.startup.BootstrapVmOptions: -Dcatalina.home=C:\Users\wukong\Downloads\apache-tomcat-8.5.57-src\apache-tomcat-8.5.57-src\catalina-home 啟動報錯 TestCookieFilter 報錯找不到這個類CookieFilter 解決方法: 1. 刪除:TestCookieFilter 啟動后,訪問localhost:8080 報錯 org.apache.jasper.JasperException: java.lang.NullPointerException 解決方案: org.apache.catalina.startup.Bootstrap 添加代碼塊
{
JasperInitializer initializer =new JasperInitializer();
}
以上Tomcat核心組件及應用架構詳解就是小編為大家收集整理的全部內容了,希望對大家有所幫助。如果您喜歡這篇文章,可以收藏或分享給您的小伙伴們吧!歡迎持續關注我們的后續更新。 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信
當我們在共享網絡訪問的時候,可能會遇到提示指定的網絡名不再可用的問題,這可能是由于我們的共享網絡出現了錯誤,也可能是被共享的對象所拒絕了。指定的網絡名 ......
文/曹楊 原標題:誰還看電視? 爸爸戴一副老花鏡,媽媽戴一副近視鏡,一人坐在沙發,一人躺在床上,各自刷著自己關注的博主更新的短視頻。電視也許開著,但只是背景! ∵@樣的畫面,幾乎成了洛奇家的常 ...
圖片來源于簡書 文/郭開森 楊帆 陸玖財經準備開新欄目了,每周一創始人郭開森和楊帆合體郭德帆,對行業進行一些觀察和評論,第一篇我們仍是打算寫社區團購,這是當下最火的話題! 磉^陸玖財經做客的朋友們...
1、首先進入到“百度”軟件中, 2、然后在其中輸入“百度識圖”, 3、之后點擊圖中的“開始使用”按鈕, 4、緊接著點擊右下角的“相冊”功能, 5、在相冊下 ......
一、軟件沖突1、首先確認是否是應用程序沖突導致的。2、查看是否只有特定幾個游戲或應用會導致該問題。3、如果是應用沖突,那么只要卸載這些app就可以解決了。二 ......
電腦端:1、大家可以點擊右邊鏈接進入網頁版的百度網盤,進入之后點擊“去登錄”。https://pan.baidu.com/2、之后正確的輸入賬號密碼進行登錄就好啦。手機端:1 ......
在填寫一些項目申請書中,總是免不了要選擇一些數字,但是在方框中如何插入數字,該怎么辦呢?那么下面就由學習啦小編給大家分享下word在方框里輸入數字的技巧, ......
8月15日消息 上周,有媒體報道前身為百度圖片的“榴蓮”APP含有大量不雅視頻內容被用戶舉報。對此,百度圖片官方進行了回應,百度圖片表示已經對報道中所涉及的“生吃旋風哥”等爭議內容進行了下線處理。 此外,百度...
一、N100對比intel i3 1、N100的跑分達到了147210分,這個數據可以達到i3的七代級別。 2、在跑分上也是超越了大部分的I3七代CPU,不過比I3八代要弱勢一些。 3 ......
WPS Office手機版怎么加橫線?很多用戶還不知道WPS Office手機版怎么加橫線,WPS Office手機版怎么加橫線,WPS Office手機版怎么打橫線,WPS Office手機版怎么弄 ......
迅雷前綴是什么 答:迅雷前綴是(magnet:?xt=urn:btih:)括號里的就是了。 我們只要在這段文字之后輸入后續的內容,就可以創建下載鏈接了。 1、磁力鏈接不基于文 ......
一、內容特權。 1、半價點播。 許多站內視頻都需要付費觀看,而大會員用戶可以直接半價享受; 購買成功后的48h內無限次觀看。有部分的內容是只限在中國大陸內觀 ......
1、首先打開小米運動的“實驗室功能”。 2、接著點擊“門卡模擬”。 3、然后點擊“我知道了”。 4、最后貼近就可以刷卡成功了。...
答:華為P系列: 華為p40,華為p40plus,華為p50,華為p50e,華為p60 華為mate系列: 華為mate40,華為mate50,華為mate50e,華為mate60 華為nova系列: 華為n ......
近期有用戶反映,電腦在更新Windows 11 Insider Preview 25252.1000后,出現了應用和已壓縮的文件點擊毫無反應,拖拽都不行,只能從開始菜單打開的情況,這是怎 ......
可見單元格就是不包括隱藏或者篩選篩選后隱藏起來的單元格區域。方法:篩選或隱藏數據,復制需要粘貼的值,在目標單元格區域左上角的第一個單元格處右擊,選擇【 ......
答:驍龍8+更好。 驍龍7+gen2實際上就是驍龍8+的低配版本。 在一些其他的核心架構方面都是保持一致的,比如說CPU的架構、GPU的架構等等。 驍龍7+和驍龍8+具體 ......
文/黎明 一場針對中國互聯網巨頭的反壟斷風暴正在醞釀,而且這次動真格了! 11月10日,國家市場監管總局發布《關于平臺經濟領域的反壟斷指南(征求意見稿)》,要加大對互聯網巨頭涉嫌壟斷的調查和監管。 ...
win11系統如何釋放掉系統默認保留的存儲空間?一般情況下,Windows會保留一些存儲空間,以便設備獲得良好性能和成功更新。但是當出現系統盤儲存空間不足時,我們會將幾個G的保留空間釋放出來,以解燃眉之急。本期教...
文件被win10系統誤報病毒自動刪除了如何進行恢復?有用戶下載了某些破解軟件卻被Win10系統誤認為是病毒文件而自動刪除,當然系統自帶殺毒軟件其實挺不錯的,就是有時候會誤報,大家遇到這種情況的時候就希望把誤刪的...
win11系統快速跳過聯網創建本地管理賬戶3種方法?現在市面上銷售的品牌筆記本和臺式機基本上都預裝Windows11家庭中文版正版操作系統,聯網后系統會自動激活。當用戶拿到新機器后還需要按照cortana(小娜)的提示一步...
羅技g304dpi燈顏色代表什么:1、藍色:這種情況是正常工作的顯示,如果說是常亮或者閃爍,那都沒有問題這是在正常工作呢。2、紅色:如果說是紅燈閃爍的話那就是 ......
答:在3DMark壓力測試當中,顯卡需要超高97%才能夠算合格,證明顯卡的穩定性是過關的。 1、一般的默認情況下在2500~3000分就算很正常的了。 2、分數越高說明顯卡 ......
1、先打開機頂盒進入主界面,并且使用遙控器打開設置。 2、然后選擇“賬號與安全”,并且進入。 3、最后往下面翻就可以看到“ADB調試”的選項,直接開啟就行了 ......
相信有非常多使用過筆記本的用戶都聽說過獨顯直連這個詞,但很多用戶并不了解獨顯直連是什么,又有什么用處,那么下面就和小編一起來看看什么是獨顯直連和開啟這 ......
win11系統開機總是自動登錄OneDrive如何關閉?win11系統開機的時候,會自動啟動OneDrive,不想要啟動,該怎么操作呢?下面我們就來看看詳細的教程。 在OneDrive界面點小齒輪按鈕,下拉菜單中點【設置】。 單擊【...
答:中高端水平 i513500hx在處理器當中是處于一個中高端的水平。 i513500hx是第十一代酷睿處理器系列的一員,基礎頻率為2.4GHz,表現十分的不錯。 i513500hx介 ......
1、首先確認手機型號是否支持無線充電功能,(可以在品牌官網找到手機信息查看)2、查看充電板的指示燈是否亮起。指示燈不亮檢查充電器、數據線、電源之間連接是 ......
背景 有時候我們需要獲取文件的創建時間。 例如: 我在研究 《xtrabackup 原理圖》的時候,想通過觀察確認 xtrabackup_log 是最早創建 并且是 最晚保存的 ......