網絡基礎面試知識點總結


1.VLAN(Virtual Local Area Network):

    VLAN(Virtual Local Area Network)的中文名為"虛擬局域網"。
    虛擬局域網(VLAN)是一組邏輯上的設備和用戶,這些設備和用戶並不受物理位置的限制,可以根據功能、部門及應用等因素將它們組織起來,相互之間的通信就好像它們在同一個網段中一樣,由此得名虛擬局域網。VLAN是一種比較新的技術,工作在OSI參考模型的第2層和第3層,一個VLAN就是一個廣播域,VLAN之間的通信是通過第3層的路由器來完成的。與傳統的局域網技術相比較,VLAN技術更加靈活,它具有以下優點: 網絡設備的移動、添加和修改的管理開銷減少;可以控制廣播活動;可提高網絡的安全性。
    在計算機網絡中,一個二層網絡可以被划分為多個不同的廣播域,一個廣播域對應了一個特定的用戶組,默認情況下這些不同的廣播域是相互隔離的。不同的廣播域之間想要通信,需要通過一個或多個路由器。這樣的一個廣播域就稱為VLAN

2.TCP協議狀態:

    (1) CLOSED: 表示初始狀態。
    (2) LISTEN: 表示服務器端的某個SOCKET處於監聽狀態,可以接受連接
    (3) SYN_RCVD: 這個狀態表示接受到了SYN報文,在正常情況下,這個狀態是服務器端的SOCKET在建立TCP連接時的三次握手會話過程中的一個中間狀態,很短暫,基本上用netstat你是很難看到這種狀態的,除非你特意寫了一個客戶端測試程序,故意將三次TCP握手過程中最后一個ACK報文不予發送。因此這種狀態時,當收到客戶端的ACK報文后,它會進入到ESTABLISHED狀態。
    (4) SYN_SENT: 這個狀態與SYN_RCVD遙想呼應,當客戶端SOCKET執行CONNECT連接時,它首先發送SYN報文,因此也隨即它會進入到了SYN_SENT狀態,並等待服務端的發送三次握手中的第2個報文。SYN_SENT狀態表示客戶端已發送SYN報文。
    (5) ESTABLISHED:表示連接已經建立
    (6) FIN_WAIT_1: FIN_WAIT_1和FIN_WAIT_2狀態的真正含義都是表示等待對方的FIN報文。而這兩種狀態的區別是:FIN_WAIT_1狀態實際上是當SOCKET在ESTABLISHED狀態時,它想主動關閉連接,向對方發送了FIN報文,此時該SOCKET即進入到FIN_WAIT_1狀態。而當對方回應ACK報文后,則進入到FIN_WAIT_2狀態,當然在實際的正常情況下,無論對方何種情況下,都應該馬上回應ACK報文,所以FIN_WAIT_1狀態一般是比較難見到的,而FIN_WAIT_2狀態還有時常常可以用netstat看到。
    (7) FIN_WAIT_2FIN_WAIT_2狀態下的SOCKET,表示半連接,也即有一方要求close連接,但另外還告訴對方,還有數據需要傳送,稍后再關閉連接。
    (8) TIME_WAIT: 表示收到了對方的FIN報文,並發送出了ACK報文,就等2MSL后即可回到CLOSED可用狀態了。如果FIN_WAIT_1狀態下,收到了對方同時帶FIN標志和ACK標志的報文時,可以直接進入到TIME_WAIT狀態,而無須經過FIN_WAIT_2狀態。
    (9) CLOSING: 屬於一種比較罕見的例外狀態。正常情況下,當你發送FIN報文后,按理來說是應該先收到(或同時收到)對方的ACK報文,再收到對方的FIN報文。但是CLOSING狀態表示你發送FIN報文后,並沒有收到對方的ACK報文,反而卻也收到了對方的FIN報文。
    (10) CLOSE_WAIT: 這種狀態的含義表示在等待關閉。當對方close一個SOCKET后發送FIN報文,你系統毫無疑問地會回應一個ACK報文給對方,此時則進入到CLOSE_WAIT狀態。
    (11) LAST_ACK: 它是被動關閉一方在發送FIN報文后,最后等待對方的ACK報文。當收到ACK報文后,也即可以進入到CLOSED可用狀態了。

3.ISO/OSI參考模型:

  (一) OSI ( Open System Interconnect ),即開放式系統互聯。 一般都叫 OSI 參考模型,是 ISO (國際標准化組織)組織在 1985 年研究的網絡互聯模型。該體系結構標准定義了網絡互連的七層框架(物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層),即 ISO 開放系統互連參考模型。在這一框架下進一步詳細規定了每一層的功能,以實現開放系統環境中的互連性、互操作性和應用的可移植性。
    ISO 為了更好的使網絡應用更為普及,就推出了 OSI 參考模型。其含義就是推薦所有公司使用這個規范來控制網絡。這樣所有公司都有相同的規范,就能互聯了。提供各種網絡服務功能的計算機網絡系統是非常復雜的。根據分而治之的原則, ISO 將整個通信功能划分為七個層次,划分原則是:
  (1) 網路中各節點都有相同的層次;
  (2) 不同節點的同等層具有相同的功能;
  (3) 同一節點內相鄰層之間通過接口通信;
  (4) 每一層使用下層提供的服務,並向其上層提供服務;
  (5) 不同節點的同等層按照協議實現對等層之間的通信。
   分層的好處是利用層次結構可以把開放系統的信息交換問題分解到一系列容易控制的軟硬件模塊-層中,而各層可以根據需要獨立進行修改或擴充功能,同時,有利於個不同制造廠家的設備互連,也有利於大家學習、理解數據通訊網絡。
   (二) OSI 參考模型中不同層完成不同的功能,各層相互配合通過標准的接口進行通信。
   第7層--應用層: OSI 中的最高層。 為特定類型的網絡應用提供了訪問 OSI 環境的手段。應用層確定進程之間通信的性質,以滿足用戶的需要。應用層不僅要提供應用進程所需要的信息交換和遠程操作,而且還要作為應用進程的用戶代理,來完成一些為進行信息交換所必需的功能。它包括:文件傳送訪問和管理 FTAM 、虛擬終端 VT 、事務處理 TP 、遠程數據庫訪問 RDA 、制造報文規范 MMS 、目錄服務 DS 等協議;應用層能與應用程序界面溝通,以達到展示給用戶的目的。 在此常見的協議有 :HTTP , HTTPS , FTP , TELNET , SSH , SMTP , POP3 等。
   第6層--表示層:主要用於處理兩個通信系統中交換信息的表示方式。 為上層用戶解決用戶信息的語法問題。它包括數據格式交換、數據加密與解密、數據壓縮與終端類型的轉換。
   第5層--會話層:在兩個節點之間建立端連接。 為端系統的應用程序之間提供了對話控制機制。此服務包括建立連接是以全雙工還是以半雙工的方式進行設置,盡管可以在層 4 中處理雙工方式 ;會話層管理登入和注銷過程。它具體管理兩個用戶和進程之間的對話。如果在某一時刻只允許一個用戶執行一項特定的操作,會話層協議就會管理這些操作,如阻止兩個用戶同時更新數據庫中的同一組數據。
   第4層--傳輸層:—常規數據遞送-面向連接或無連接。 為會話層用戶提供一個端到端的可靠、透明和優化的數據傳輸服務機制。包括全雙工或半雙工、流控制和錯誤恢復服務;傳輸層把消息分成若干個分組,並在接收端對它們進行重組。不同的分組可以通過不同的連接傳送到主機。這樣既能獲得較高的帶寬,又不影響會話層。在建立連接時傳輸層可以請求服務質量,該服務質量指定可接受的誤碼率、延遲量、安全性等參數,還可以實現基於端到端的流量控制功能。
   第3層--網絡層:本層通過尋址來建立兩個節點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照地址傳送給目的端的運輸層。 它包括通過互連網絡來路由和中繼數據 ;除了選擇路由之外,網絡層還負責建立和維護連接,控制網絡上的擁塞以及在必要的時候生成計費信息。常用設備有交換機;
   第2層--數據鏈路層:在此層將數據分幀,並處理流控制。 屏蔽物理層,為網絡層提供一個數據鏈路的連接,在一條有可能出差錯的物理連接上,進行幾乎無差錯的數據傳輸(差錯控制)。本層指定拓撲結構並提供硬件尋址。常用設備有網卡、網橋、交換機;
   第1層--物理層:處於 OSI 參考模型的最底層。 物理層的主要功能是利用物理傳輸介質為數據鏈路層提供物理連接,以便透明的傳送比特流。常用設備有(各種物理設備)集線器、中繼器、調制解調器、網線、雙絞線、同軸電纜。
   數據發送時,從第七層傳到第一層,接收數據則相反。
  上三層總稱應用層,用來控制軟件方面。下四層總稱數據流層,用來管理硬件。除了物理層之外其他層都是用軟件實現的。
   數據在發至數據流層的時候將被拆分。
   在傳輸層的數據叫段,網絡層叫包,數據鏈路層叫幀,物理層叫比特流,這樣的叫法叫 PDU (協議數據單元)。
   (三) 各層功能詳述:
   (1) 物理層 (Physical Layer)
    物理層是 OSI 參考模型的最低層,它利用傳輸介質為數據鏈路層提供物理連接。它主要關心的是通過物理鏈路從一個節點向另一個節點傳送比特流,物理鏈路可能是銅線、衛星、微波或其他的通訊媒介。它關心的問題有:多少伏電壓代表 1 ?多少伏電壓代表 0 ?時鍾速率是多少?采用全雙工還是半雙工傳輸?總的來說物理層關心的是鏈路的機械、電氣、功能和規程特性
   (2) 數據鏈路層 (Data Link Layer)
    數據鏈路層是為網絡層提供服務的,解決兩個相鄰結點之間的通信問題,傳送的協議數據單元稱為數據幀
    數據幀中包含物理地址(又稱 MAC 地址)、控制碼、數據及校驗碼等信息。該層的主要作用是通過校驗、確認和反饋重發等手段,將不可靠的物理鏈路轉換成對網絡層來說無差錯的數據鏈路。
    此外,數據鏈路層還要協調收發雙方的數據傳輸速率,即進行流量控制,以防止接收方因來不及處理發送方來的高速數據而導致緩沖器溢出及線路阻塞。
    (3) 網絡層 (Network Layer)
    網絡層是為傳輸層提供服務的,傳送的協議數據單元稱為數據包或分組。該層的主要作用是解決如何使數據包通過各結點傳送的問題,即通過路徑選擇算法(路由)將數據包送到目的地。另外,為避免通信子網中出現過多的數據包而造成網絡阻塞,需要對流入的數據包數量進行控制(擁塞控制)。當數據包要跨越多個通信子網才能到達目的地時,還要解決網際互連的問題。
    (4) 傳輸層 (Transport Layer)
    傳輸層的作用是為上層協議提供端到端的可靠和透明的數據傳輸服務,包括處理差錯控制流量控制等問題。該層向高層屏蔽了下層數據通信的細節,使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設定的、可靠的數據通路。
傳輸層傳送的協議數據單元稱為段或報文
    (5) 會話層 (Session Layer)
    會話層主要功能是管理和協調不同主機上各種進程之間的通信(對話),即負責建立、管理和終止應用程序之間的會話。會話層得名的原因是它很類似於兩個實體間的會話概念。例如,一個交互的用戶會話以登錄到計算機開始,以注銷結束。
    (6) 表示層 (Presentation Layer)
    表示層處理流經結點的數據編碼的表示方式問題,以保證一個系統應用層發出的信息可被另一系統的應用層讀出。如果必要,該層可提供一種標准表示形式,用於將計算機內部的多種數據表示格式轉換成網絡通信中采用的標准表示形式。數據壓縮和加密也是表示層可提供的轉換功能之一。
    (7) 應用層 (Application Layer)
    應用層是 OSI 參考模型的最高層,是用戶與網絡的接口。該層通過應用程序來完成網絡用戶的應用需求,如文件傳輸、收發電子郵件等。
  (四) 數據封裝過程:
   每層封裝后的數據單元的叫法不同,在應用層、表示層、會話層的協議數據單元統稱為data(數據),在傳輸層協議數據單元稱為segment(數據段),在網絡層稱為packet(數據包),數據鏈路層協議數據單元稱為frame(數據幀),在物理層叫做bits(比特流)

 4.網絡地址:

    A類IP地址范圍從1.0.0.0 到126.0.0.0。可用的A類網絡有126個。
    B類IP地址范圍從128.0.0.0到191.255.255.255。可用的B類網絡有16382個 。
    C類IP地址范圍從192.0.0.0到223.255.255.255。C類網絡可達209萬余個。
    D類地址用於多點廣播(Multicast)。 D類IP地址第一個字節以“lll0”開始,它是一個專門保留的地址。它並不指向特定的網絡,目前這一類地址被用在多點廣播(Multicast)中。多點廣播地址用來一次尋址一組計算機,它標識共享同一協議的一組計算機。
    E類IP地址以“llll0”開始,為將來使用保留。

5.單機最大Tcp連接數:

   (1) Client最大Tcp連接數
   Client每次發起Tcp連接請求時,除非綁定端口,通常會讓系統選取一個空閑的本地端口(local port),該端口是獨占的,不能和其他Tcp連接共享。Tcp端口的數據類型是unsigned short,因此本地端口個數最大只有65536,端口0有特殊含義,不能使用,這樣可用端口最多只有65535,所以在全部作為Client端的情況下,一個Client最大Tcp連接數為65535,這些連接可以連到不同的server ip。
    (2) Server最大Tcp連接數
    Server通常固定在某個本地端口上監聽,等待client的連接請求。不考慮地址重用(unix的SO_REUSEADDR選項)的情況下,即使server端有多個ip,本地監聽端口也是獨占的,因此server端tcp連接4元組中只有remote ip(也就是client ip)和remote port(客戶端port)是可變的,因此最大tcp連接為客戶端ip數×客戶端port數,對IPV4,不考慮ip地址分類等因素,最大tcp連接數約為2的32次方(ip數)×2的16次方(port數),也就是server端單機最大tcp連接數約為2的48次方
    (3) 實際的Tcp連接數:
   上面給出的是理論上的單機最大連接數,在實際環境中,受到機器資源、操作系統等的限制,特別是sever端,其最大並發tcp連接數遠不能達到理論上限。在unix/linux下限制連接數的主要因素是內存和允許的文件描述符個數(每個tcp連接都要占用一定內存,每個socket就是一個文件描述符),另外1024以下的端口通常為保留端口。
   對server端,通過增加內存、修改最大文件描述符個數等參數,單機最大並發TCP連接數超過10萬, 甚至上百萬是沒問題的,國外 Urban Airship 公司在產品環境中已做到 50萬並發 。在實際應用中,對大規模網絡應用,還需要考慮C10K ,c100k問題。

6.長連接和短連接:

   什么是長連接?
   其實長連接是相對於通常的短連接而說的,也就是長時間保持客戶端與服務端的連接狀態。
   通常的短連接操作步驟是:
   連接-》數據傳輸-》關閉連接;
   而長連接通常就是:
   連接-》數據傳輸-》保持連接-》數據傳輸-》保持連接-》…………-》關閉連接;
   這就要求長連接在沒有數據通信時,定時發送數據包,以維持連接狀態,短連接在沒有數據傳輸時直接關閉就行了。
   什么時候用長連接,短連接?
   長連接主要用於在少數客戶端與服務端的頻繁通信,因為這時候如果用短連接頻繁通信常會發生Socket出錯,並且頻繁創建Socket連接也是對資源的浪費。
   長連接多用於操作頻繁,點對點的通訊,且連接數不能太多的情況。 數據庫的連接一般都用長連接。smtp,pop3,telnet這種就可以認為是長連接。一般的網絡游戲應用都是長連接。
   短連接多用於並發量大,但是每個用戶又不需頻繁操作的情況。web網站的http服務一般都用短連接。http 1.0一般就指短連接。
   但是對於服務端來說,長連接也會耗費一定的資源,需要專門的線程(unix下可以用進程管理)來負責維護連接狀態。
   總之,長連接和短連接的選擇要視情況而定。

7.epoll和select的區別:

    select和epoll這兩個機制都是多路I/O機制的解決方案,select為POSIX標准中的,而epoll為Linux所特有的
    epoll的最大好處是不會隨着FD的數目增長而降低效率,在select中采用輪詢處理,其中的數據結構類似一個數組的數據結構,而epoll是維護一個隊列,直接看隊列是不是空就可以了。
    nginx就是使用epoll來實現I/O復用支持高並發,目前在高並發的場景下,nginx越來越收到歡迎。
    select的一個缺點在於單個進程能夠監視的文件描述符的數量存在最大限制
    epoll:
     (1) IO的效率不會隨着監視fd的數量的增長而下降。epoll不同於select和poll輪詢的方式,而是通過每個fd定義的回調函數來實現的。只有就緒的fd才會執行回調函數;
     (2) 支持電平觸發和邊沿觸發(只告訴進程哪些文件描述符剛剛變為就緒狀態,它只說一遍,如果我們沒有采取行動,那么它將不會再次告知,這種方式稱為邊緣觸發)兩種方式,理論上邊緣觸發的性能要更高一些,但是代碼實現相當復雜。
     (3) 有着良好的就緒事件通知機制。
   select:
     (1) 單個進程可監視的fd數量受到了限制,在32位機器上,他所能管理的fd數量最大為1024;
     (2) 對socket進行掃描時是線性掃描,當socket文件描述符數量變多時,大量的時間是被白白浪費掉的。
   poll的實現和select非常相似,只是描述fd集合的方式不同,poll使用pollfd結構而不是select的fd_set結構,其他的都差不多。

8.ARP協議工作過程:

    當一個基於TCP/IP的應用程序需要從一台主機發送數據給另一台主機時,它把信息分割並封裝成包,附上目的主機的IP地址。然后,尋找IP地址到實際MAC地址的映射,這需要發送ARP廣播消息。當ARP找到了目的主機MAC地址后,就可以形成待發送幀的完整以太網幀頭。最后,協議棧將IP包封裝到以太網幀中進行傳送。
    當主機A要和主機B通信(如主機A Ping主機B)時。主機A會先檢查其ARP緩存內是否有主機B的MAC地址。如果沒有,主機A會發送一個ARP請求廣播包,此包內包含着其欲與之通信的主機的IP地址,也就是主機B的IP地址。
    當主機B收到此廣播后,會將自己的MAC地址利用ARP協議響應包傳給主機A,並更新自己的ARP緩存,也就是同時將主機A的IP地址/MAC地址對保存起來,以供后面使用。主機A在得到主機B的MAC地址后,就可以與主機B通信了。同時,主機A也將主機B的IP地址/MAC地址對保存在自己的ARP協議緩存內

9.流量劫持常用的手段:

    流量劫持常用的手段有如下:
    Hub嗅探, MAC欺騙, MAC沖刷, ARP攻擊DHCP釣魚DNS劫持CDN入侵, 路由器弱口令, 路由器CSRF, PPPoE釣魚, 蜜罐代理, WiFi 弱口令, WiFi偽熱點, WiFi強制斷線, WLAN基站釣魚。

10.生存時間(TTL):

    生存時間(TTL):長度8比特最大值為255。當IP包進行傳送時,先會對該字段賦予某個特定的值。用來控制數據報在網絡中存在的時間。目前TTL的值並不代表時間,而是代表經由路由器的個數。數據報每經過一台路由器時,路由器將TTL值減1,一旦TTL=0,系統就丟棄該數據報,並返回錯誤信息。這樣避免了路由出現環路時數據報在路由器之間無休止地循環

11.TCP建立連接和斷開連接過程:

      
    假設Client端發起中斷連接請求,也就是發送FIN報文。Server端接到FIN報文后,意思是說"我Client端沒有數據要發給你了",但是如果你還有數據沒有發送完成,則不必急着關閉Socket,可以繼續發送數據。所以你先發送ACK,"告訴Client端,你的請求我收到了,但是我還沒准備好,請繼續你等我的消息"。這個時候Client端就進入FIN_WAIT狀態,繼續等待Server端的FIN報文。當Server端確定數據已發送完成,則向Client端發送FIN報文,"告訴Client端,好了,我這邊數據發完了,准備好關閉連接了"。Client端收到FIN報文后,"就知道可以關閉連接了,但是他還是不相信網絡,怕Server端不知道要關閉,所以發送ACK后進入TIME_WAIT狀態,如果Server端沒有收到ACK則可以重傳。“,Server端收到ACK后,"就知道可以斷開連接了"。Client端等待了2MSL后依然沒有收到回復,則證明Server端已正常關閉,那好,我Client端也可以關閉連接了。Ok,TCP連接就這樣關閉了!

12.集線器(Hub):

    集線器的英文稱為“Hub”。“Hub”是“中心”的意思,集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它工作於OSI(開放系統互聯參考模型)參考模型第一層,即“物理層”。集線器與網卡、網線等傳輸介質一樣,屬於局域網中的基礎設備,采用CSMA/CD(即帶沖突檢測的載波監聽多路訪問技術)介質訪問控制機制。集線器每個接口簡單的收發比特,收到1就轉發1,收到0就轉發0,不進行碰撞檢測

    集線器(hub)屬於純硬件網絡底層設備,基本上不具有類似於交換機的"智能記憶"能力和"學習"能力。它也不具備交換機所具有的MAC地址表,所以它發送數據時都是沒有針對性的,而是采用廣播方式發送。也就是說當它要向某節點發送數據時,不是直接把數據發送到目的節點,而是把數據包發送到與集線器相連的所有節點。

13.TCP SYN泛洪和TCP LAND:

    (1) TCP SYN泛洪
    對於TCP協議,當客戶端向服務器發起連接請求並初始化時,服務器一端的協議棧會留一塊緩沖區來處理“握手”過程中的信息交換。請求建立連接時發送的數據包的包頭SYN位就表明了數據包的順序,攻擊者可以利用在短時間內快速發起大量連接請求,以致服務器來不及響應。同時攻擊者還可以偽造源IP 地址。也就是說攻擊者發起大量連接請求,然后掛起在半連接狀態,以此來占用大量服務器資源直到拒絕服務。雖然緩沖區中的數據在一段時間內(通常是三分鍾)都沒有回應的話,就會被丟棄,但在這段時間內,大量半連接足以耗盡服務器資源。
    (2) TCP LAND:
    LAND攻擊利用了TCP連接建立的三次握手過程,通過向一個目標主機發送一個用於建立請求連接的TCP SYN報文而實現對目標主機的攻擊。與正常的TCP SYN報文不同的是:LAND攻擊報文的源IP地址和目的IP地址是相同的,都是目標主機的IP地址。這樣目標主機接在收到這個SYN 報文后,就會向該報文的源地址發送一個ACK報文,並建立一個TCP連接控制結構,而該報文的源地址就是自己。由於目的IP地址和源IP地址是相同的,都是目標主機的IP地址,因此這個ACK 報文就發給了目標主機本身。

14.網絡攻擊:

   (1) ARP欺騙攻擊:分為對路由器ARP表的欺騙和對內網PC的網關欺騙。 第一種ARP欺騙的原理是—截獲網關數據。 第二種ARP欺騙的原理是— 偽造網關
   (2) 重放攻擊:重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊新鮮性攻擊(FreshnessAttacks)是指攻擊者發送一個目的主機已接收過的包,來達到欺騙系統的目的,主要用於身份認證過程,破壞認證的正確性
   (3) 暴力攻擊:暴力破解攻擊是指攻擊者通過系統地組合所有可能性(例如登錄時用到的賬戶名、密碼),嘗試所有的可能性破解用戶的賬戶名、密碼等敏感信息。攻擊者會經常使用自動化腳本組合出正確的用戶名和密碼。
   (4) DNS欺騙攻擊:DNS欺騙就是攻擊者冒充域名服務器的一種欺騙行為。 如果可以冒充域名服務器,然后把查詢的IP地址設為攻擊者的IP地址。

15.sqlserver、mysql、oracle各自的默認端口號:

   (1) sqlserver默認端口號為:1433
     URL:"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname";
     DRIVERNAME:"com.microsoft.jdbc.sqlserver.SQLServerDriver";
   (2) mysql默認端口號為:3306
     URL:jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk;
     DRIVERNAME:"com.mysql.jdbc.Driver";
   (3) oracle默認端口號為:1521
     URL:"jdbc:oracle:thin:@localhost:1521:orcl";
     DRIVERNAME:"oracle.jdbc.driver.OracleDriver";


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM