主頁 > 前端設計 > 金九銀十面試季:Java例外+Java IO與NIO面試題(含答案)

金九銀十面試季:Java例外+Java IO與NIO面試題(含答案)

2020-09-12 20:31:26 前端設計

已經是金九銀十了,雖說今年行情很不好,但是該來的還是要來,該面對還是要面對,小編準備搞個金九銀十面試篇,把手頭上有的面試題及答案分享給大家,這篇文章只整理了Java例外和IO和NIO的面試題,同時也整理了其他面試題在手里,與其吃灰還不如分享給大家,
需要的朋友可以點擊:點這個!點這個!暗號:csdn
在這里插入圖片描述

Java例外面試篇

1、Java中例外分為哪兩種?
編譯時例外
運行時例外

2、例外的處理機制有幾種?
例外捕捉:try…catch…finally
例外拋出:throws,

3、如何自定義一個例外
繼承一個例外類,通常是RumtimeException或者Exception

4、try catch fifinally,try里有return,finally還執行么?
執行,并且finally的執行早于try里面的return

結論:
(1)不管有木有出現例外,finally塊中代碼都會執行;
(2)當try和catch中有return時,finally仍然會執行;
(3)finally是在return后面的運算式運算后執行的(此時并沒有回傳運算后的值,而是先把要回傳的值保存起來,管finally中的代碼怎么樣,回傳的值都不會改變,任然是之前保存的值),所以函式回傳值是在finally執行前確定的;(4)finally中最好不要包含return,否則程式會提前退出,回傳值不是try或catch中保存的回傳值,

5、 Excption與Error包結構
Java可拋出(Throwable)的結構分為三種型別:被檢查的例外(CheckedException),運行時例外(RuntimeException),錯誤(Error),

(1)運行時例外
定義:RuntimeException及其子類都被稱為運行時例外,

特點:
Java編譯器不會檢查它,也就是說,當程式中可能出現這類例外時,倘若既"沒有通過throws宣告拋出它",也"沒有用try-catch陳述句捕獲它",還是會編譯通過,例如,除數為零時產生的ArithmeticException例外,陣列越界時產生的IndexOutOfBoundsException例外,fail-fast機制產生的ConcurrentModi?cationException例外(java.util包下面的所有的集合類都是快速失敗的,“快速失敗”也就是fail-fast,它是Java集合的一種錯誤檢測機制,當多個執行緒對集合進行結構上的改變的操作時,有可能會產生fail-fast機制,記住是有可能,而不是一定,

例如:
假設存在兩個執行緒(執行緒1、執行緒2),執行緒1通過Iterator在遍歷集合A中的元素,在某個時候執行緒2修改了集合A的結構(是結構上面的修改,而不是簡單的修改集合元素的內容),那么這個時候程式就會拋出ConcurrentModi?cationException 例外,從而產生fail-fast機制,這個錯叫并發修改例外,

Fail-safe,java.util.concurrent包下面的所有的類都是安全失敗的,在遍歷程序中,如果已經遍歷的陣列上的內容變化了,迭代器不會拋出ConcurrentModi?cationException例外,如果未遍歷的陣列上的內容發生了變化,則有可能反映到迭代程序中,這就是ConcurrentHashMap迭代器弱一致的表現,ConcurrentHashMap的弱一致性主要是為了提升效率,是一致性與效率之間的一種權衡,要成為強一致性,就得到處使用鎖,甚至是全域鎖,這就與Hashtable和同步的HashMap一樣了,)等,都屬于運行時例外,

常見的五種運行時例外:
ClassCastException(類轉換例外)
IndexOutOfBoundsException(陣列越界)
NullPointerException(空指標例外)
ArrayStoreException(資料存盤例外,操作陣列是型別不一致)
Bu?erOver?owException

(2)被檢查例外

定義:Exception類本身,以及Exception的子類中除了"運行時例外"之外的其它子類都屬于被檢查例外,特點 : Java編譯器會檢查它,此類例外,要么通過throws進行宣告拋出,要么通過try-catch進行捕獲處理,否則不能通過編譯,例如,CloneNotSupportedException就屬于被檢查例外,當通過clone()介面去克隆一個物件,而該物件對應的類沒有實作Cloneable介面,就會拋出CloneNotSupportedException例外,被檢查例外通常都是可以恢復的,

如:
IOException
FileNotFoundException
SQLException

被檢查的例外適用于那些不是因程式引起的錯誤情況,比如:讀取檔案時檔案不存在引發的FileNotFoundException ,然而,不被檢查的例外通常都是由于糟糕的編程引起的,比如:在物件參考時沒有確保物件非空而引起的 NullPointerException ,

(3)錯誤
定義 :
Error類及其子類,

特點 :
和運行時例外一樣,編譯器也不會對錯誤進行檢查,當資源不足、約束失敗、或是其它程式無法繼續運行的條件發生時,就產生錯誤,程式本身無法修復這些錯誤的,例如,VirtualMachineError就屬于錯誤,出現這種錯誤會導致程式終止運行,OutOfMemoryError、ThreadDeath,Java虛擬機規范規定JVM的記憶體分為了好幾塊,比如堆,堆疊,程式計數器,方法區等

需要的朋友可以點擊:點這個!點這個!暗號:csdn

在這里插入圖片描述

6、Thow與thorws區別

位置不同

1.throws 用在函式上,后面跟的是例外類,可以跟多個;而 throw 用在函式內,后面跟的是例外物件,

功能不同:

2.throws 用來宣告例外,讓呼叫者只知道該功能可能出現的問題,可以給出預先的處理方式;throw 拋出具體的問題物件,執行到 throw,功能就已經結束了,跳轉到呼叫者,并將具體的問題物件拋給呼叫者,也就是說 throw 陳述句獨立存在時,下面不要定義其他陳述句,因為執行不到,
3. throws 表示出現例外的一種可能性,并不一定會發生這些例外;throw 則是拋出了例外,執行 throw 則一定拋出了某種例外物件,
4. 兩者都是消極處理例外的方式,只是拋出或者可能拋出例外,但是不會由函式去處理例外,真正的處理例外由函式的上層呼叫處理,

7、Error與Exception區別?

Error和Exception都是java錯誤處理機制的一部分,都繼承了Throwable類,Exception表示的例外,例外可以通程序式來捕捉,或者優化程式來避免,Error表示的是系統錯誤,不能通程序式來進行錯誤處理,

8、error和exception有什么區別

error 表示恢復不是不可能但很困難的情況下的一種嚴重問題,比如說記憶體溢位,不可能指望程式能處理這樣的情況 exception 表示一種設計或實作問題,也就是說,它表示如果程式運行正常,從不會發生的情況,

IO與NIO面試篇

1、Java 中 IO 流?
Java 中 IO 流分為幾種?

1.按照流的流向分,可以分為輸入流和輸出流;
2. 按照操作單元劃分,可以劃分為位元組流和字符流;
3. 按照流的角色劃分為節點流和處理流,

Java Io 流共涉及 40 多個類,這些類看上去很雜亂,但實際上很有規則,而且彼此之間存在非常緊密的聯系, Java I0 流的 40 多個類都是從如下 4 個抽象類基類中派生出來的,

1.InputStream/Reader: 所有的輸入流的基類,前者是位元組輸入流,后者是字符輸入流,

2.OutputStream/Writer: 所有輸出流的基類,前者是位元組輸出流,后者是字符輸出流,

2、 Java IO與 NIO的區別

NIO即New IO,這個庫是在JDK1.4中才引入的,NIO和IO有相同的作用和目的,但實作方式不同,NIO 主要用到的是塊,所以NIO的效率要比IO高很多,在Java API中提供了兩套NIO,一套是針對標準輸入輸出NIO,另一套就是網路編程NIO,

3、常用io類有那些
在這里插入圖片描述
4、位元組流與字符流的區別

以位元組為單位輸入輸出資料,位元組流按照8位傳輸
以字符為單位輸入輸出資料,字符流按照16位傳輸

5、阻塞 IO 模型

最傳統的一種 IO 模型,即在讀寫資料程序中會發生阻塞現象,當用戶執行緒發出 IO 請求之后,內核會去查看資料是否就緒,如果沒有就緒就會等待資料就緒,而用戶執行緒就會處于阻塞狀態,用戶執行緒交出 CPU,當資料就緒之后,內核會將資料拷貝到用戶執行緒,并回傳結果給用戶執行緒,用 戶執行緒才解除 block 狀態,典型的阻塞 IO 模型的例子為: data = socket.read();如果資料沒有就緒,就會一直阻塞在 read 方法

6、非阻塞 IO 模型

當用戶執行緒發起一個 read 操作后,并不需要等待,而是馬上就得到了一個結果, 如果結果是一個error 時,它就知道資料還沒有準備好,于是它可以再次發送 read 操作,一旦內核中的資料準備好了,并且又再次收到了用戶執行緒的請求,那么它馬上就將資料拷貝到了用戶執行緒,然后回傳,所以事實上,在非阻塞 IO 模型中,用戶執行緒需要不斷地詢問內核資料是否就緒,也就說非阻塞 IO不會交出 CPU,而會一直占用 CPU, 典型的非阻塞 IO 模型一般如下:
在這里插入圖片描述

但是對于非阻塞 IO 就有一個非常嚴重的問題, 在 while 回圈中需要不斷地去詢問內核資料是否就緒,這樣會導致 CPU 占用率非常高,因此一般情況下很少使用 while 回圈這種方式來讀取資料,

7、多路復用 IO 模型

多路復用 IO 模型是目前使用得比較多的模型, Java NIO 實際上就是多路復用 IO,在多路復用 IO模型中,會有一個執行緒不斷去輪詢多個socket 的狀態,只有當 socket 真正有讀寫事件時,才真正呼叫實際的 IO 讀寫操作,因為在多路復用 IO 模型中,只需要使用一個執行緒就可以管理多個socket,系統不需要建立新的行程或者執行緒,也不必維護這些執行緒和行程,并且只有在真正有socket 讀寫事件進行時,才會使用IO 資源,所以它大大減少了資源占用,在 Java NIO 中,是通過 selector.select()去查詢每個通道是否有到達事件,如果沒有事件,則一直阻塞在那里,因此這種方式會導致用戶執行緒的阻塞,多路復用 IO 模式,通過一個執行緒就可以管理多個 socket,只有當socket 真正有讀寫事件發生才會占用資源來進行實際的讀寫操作,因此,多路復用 IO 比較適合連接數比較多的情況,

另外多路復用 IO 為何比非阻塞 IO 模型的效率高是因為在非阻塞 IO 中,不斷地詢問 socket 狀態時通過用戶執行緒去進行的,而在多路復用IO 中,輪詢每個 socket 狀態是內核在進行的,這個效率要比用戶執行緒要高的多,

不過要注意的是,多路復用 IO 模型是通過輪詢的方式來檢測是否有事件到達,并且對到達的事件逐一進行回應,因此對于多路復用 IO 模型來說, 一旦事件回應體很大,那么就會導致后續的事件遲遲得不到處理,并且會影響新的事件輪詢,

8、信號驅動 IO 模型在

信號驅動 IO 模型中,當用戶執行緒發起一個 IO 請求操作,會給對應的 socket 注冊一個信號函式,然后用戶執行緒會繼續執行,當內核資料就緒時會發送一個信號給用戶執行緒,用戶執行緒接收到信號之后,便在信號函式中呼叫 IO 讀寫操作來進行實際的 IO 請求操作,

9、異步 IO 模型

異步 IO 模型才是最理想的 IO 模型,在異步 IO 模型中,當用戶執行緒發起 read 操作之后,立刻就可以開始去做其它的事,而另一方面,從內核的角度,當它受到一個 asynchronous read 之后,它會立刻回傳,說明 read 請求已經成功發起了,因此不會對用戶執行緒產生任何block,然后,內核會等待資料準備完成,然后將資料拷貝到用戶執行緒,當這一切都完成之后,內核會給用戶執行緒發送一個信號,告訴它read 操作完成了,也就說用戶執行緒完全不需要實際的整個 IO 操作是如何進行的, 只需要先發起一個請求,當接收內核回傳的成功信號時表示 IO 操作已經完成,可以直接去使用資料了,

也就說在異步 IO 模型中, IO 操作的兩個階段都不會阻塞用戶執行緒,這兩個階段都是由內核自動完成,然后發送一個信號告知用戶執行緒操作已完成,用戶執行緒中不需要再次呼叫 IO 函式進行具體的讀寫,這點是和信號驅動模型有所不同的,在信號驅動模型中,當用戶執行緒接收到信號表示資料已經就緒,然后需要用戶執行緒呼叫 IO 函式進行實際的讀寫操作;而在異步 IO 模型中,收到信號表示 IO 操作已經完成,不需要再在用戶執行緒中呼叫 IO 函式進行實際的讀寫操作,

注意,異步 IO 是需要作業系統的底層支持,在 Java 7 中,提供了 Asynchronous IO,

10、JAVA NIO

NIO 主要有三大核心部分: Channel(通道), Buffer(緩沖區), Selector,

傳統 IO 基于位元組流和字符流進行操作, 而 NIO 基于 Channel 和Buffer(緩沖區)進行操作,資料總是從通道讀取到緩沖區中,或者從緩沖區寫入到通道中, Selector(選擇區)用于監聽多個通道的事件(比如:連接打開,資料到達),因此,單個執行緒可以監聽多個資料通道, NIO 和傳統 IO 之間第一個最大的區別是, IO 是面向流的, NIO 是面向緩沖區的,

11、NIO 的緩沖區

Java IO 面向流意味著每次從流中讀一個或多個位元組,直至讀取所有位元組,它們沒有被快取在任何地方,此外,它不能前后移動流中的資料,如果需要前后移動從流中讀取的資料, 需要先將它快取到一個緩沖區, NIO 的緩沖導向方法不同,

資料讀取到一個它稍后處理的緩沖區,需要時可在緩沖區中前后移動,這就增加了處理程序中的靈活性,但是,還需要檢查是否該緩沖區中包含所有您需要處理的資料,而且,需確保當更多的資料讀入緩沖區時,不要覆寫緩沖區里尚未處理的資料,

12、NIO 的非阻塞

IO 的各種流是阻塞的,這意味著,當一個執行緒呼叫 read() 或 write()時,該執行緒被阻塞,直到有一些資料被讀取,或資料完全寫入,該執行緒在此期間不能再干任何事情了, NIO 的非阻塞模式,使一個執行緒從某通道發送請求讀取資料,但是它僅能得到目前可用的資料,如果目前沒有資料可用時,就什么都不會獲取,而不是保持執行緒阻塞,所以直至資料變的可以讀取之前,該執行緒可以繼續做其他的事情, 非阻塞寫也是如此,一個執行緒請求寫入一些資料到某通道,但不需要等待它完全寫入,這個執行緒同時可以去做別的事情, 執行緒通常將非阻塞 IO 的空閑時間用于在其它通道上執行 IO 操作,所以一個單獨的執行緒現在可以管理多個輸入和輸出通道(channel),

13、Channel

首先說一下 Channel,國內大多翻譯成“通道”, Channel 和 IO 中的 Stream(流)是差不多一個等級的, 只不過 Stream 是單向的,譬如:InputStream, OutputStream, 而 Channel 是雙向的,既可以用來進行讀操作,又可以用來進行寫操作,NIO 中的 Channel 的主要實作有:

  1. FileChannel
  2. DatagramChannel
  3. SocketChannel
  4. ServerSocketChannel

這里看名字就可以猜出個所以然來:分別可以對應檔案 IO、 UDP 和 TCP(Server 和 Client),下面演示的案例基本上就是圍繞這 4 個型別的 Channel 進行陳述的,

14、Buffer

Buffer,故名思意, 緩沖區,實際上是一個容器,是一個連續陣列, Channel 提供從檔案、網路讀取資料的渠道,但是讀取或寫入的資料都必須經由 Buffer,
在這里插入圖片描述

上面的圖描述了從一個客戶端向服務端發送資料,然后服務端接收資料的程序,客戶端發送資料時,必須先將資料存入 Buffer 中,然后將Buffer 中的內容寫入通道,服務端這邊接收資料必須通過 Channel 將資料讀入到 Buffer 中,然后再從 Buffer 中取出資料來處理,

在 NIO 中, Buffer 是一個頂層父類,它是一個抽象類,常用的 Buffer 的子類有:ByteBuffer、 IntBuffer、 CharBuffer、 LongBuffer、DoubleBuffer、 FloatBuffer、ShortBuffer

15、SelectorSelector

類是 NIO 的核心類, Selector 能夠檢測多個注冊的通道上是否有事件發生,如果有事件發生,便獲取事件然后針對每個事件進行相應的回應處理,這樣一來,只是用一個單執行緒就可以管理多個通道,也就是管理多個連接,這樣使得只有在連接真正有讀寫事件發生時,才會呼叫函式來進行讀寫,就大大地減少了系統開銷,并且不必為每個連接都創建一個執行緒,不用去維護多個執行緒,并且避免了多執行緒之間的背景關系切換導致的開銷,

同時提供【免費】的Java架構學習資料,學習技術內容包含有:Spring,Dubbo,MyBatis, RPC, 原始碼分析,高并發、高性能、分布式,性能優化,微服務 高級架構開發等等,
點擊:點這個!點這個!暗號:csdn,即可全部獲得,

還有Java核心知識點+全套架構師學習資料和視頻+一線大廠面試寶典+面試簡歷模板可以領取+阿里美團網易騰訊小米愛奇藝快手嗶哩嗶哩面試題+Spring原始碼合集+Java架構實戰電子書,
在這里插入圖片描述

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

標籤:其他

上一篇:思科 OSPF協議簡單配置與分析

下一篇:2020年數學建模國賽D題題目和解題思路

標籤雲
其他(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