日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

笔试总结

發布時間:2025/3/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 笔试总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,HTTP狀態碼常用的有哪些?

2開頭的表示成功,主要是200,204,3開頭的是重定向,主要是301,302,4開頭的表示是客戶端錯誤,主要是403,404,5開頭表示服務器錯誤,主要是500,503

一、200狀態碼:
成功2××: 成功處理了請求的狀態碼。
1、200 :服務器已成功處理了請求并提供了請求的網頁,服務器成功返回網頁
2、204: 服務器成功處理了請求,但沒有返回任何內容
二、300狀態碼:
重定向3×× :每次請求中使用重定向不要超過 5 次。
1、301: 請求的網頁已永久移動到新位置。當URLs發生變化時,使用301代碼。搜索引擎索引中保存新的URL。
2、302: 請求的網頁臨時移動到新位置。搜索引擎索引中保存原來的URL。
三、400狀態碼:
客戶端錯誤4×× :表示請求可能出錯,妨礙了服務器的處理。
1、403: 服務器拒絕請求
2、404: 請求頁面不存在,服務器找不到請求的網頁。服務器上不存在的網頁經常會返回此代碼。
四、500狀態碼:
服務器錯誤5×× :表示服務器在處理請求時發生內部錯誤。這些錯誤可能是服務器本身的錯誤,而不是請求出錯。
1、500 :服務器內部遇到錯誤,無法完成請求。
2、503: 服務器目前無法使用(由于超載或停機維護)
狀態參考:http://www.chaoji.com/features/httpstatus.aspx

http://tool.oschina.net/commons?type=5

二,細寫TCP/IP模型和OSI模型,以及兩種模型的參、層次映射

TCP/IP模型4層結構:應用層,傳輸層,網際層,網絡接口層

應用層:負責實現一切與應用程序相關的功能,對應OSI參考模型的上三層,應用層,表示層,會話層。

協議:FTP(文件傳輸協議)
? ? ? ? ? ?HTTP(超文本傳輸協議)
? ? ? ? ? ?DNS(域名服務器協議)
? ? ? ? ? ?SMTP(簡單郵件傳輸協議)

傳輸層:負責提供可靠的傳輸服務,它提供了節點間的數據傳送服務,對應OSI參考模型的第四層,傳輸層

協議:TCP(控制傳輸協議)
? ? ? ? ? ?UDP(用戶數據報協議)

網際層:負責網絡間的尋址、數據傳輸,對應OSI參考模型的第三層,網絡層

協議:IP(網際協議)
? ? ? ? ? ?ICMP(網際控制消息協議)
? ? ? ? ? ARP(地址解析協議)
? ? ? ? ? RARP(反向地址解析協議)

網絡接口層:負責實際數據的傳輸,對應OSI參考模型的下兩層,數據鏈路層和物理層

協議:PPP(點對點協議)

OSI模型的7層結構:應用層,表示層,會話層,傳輸層,網絡層,數據鏈路層,物理層

應用層:提供應用程序訪問OSI環境的手段,有:HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。

表示層:這一層根據不同的應用目的將數據處理為不同的格式,表現出來就是我們看到的各種各樣的文件擴展名。 數據的壓縮、解壓,加密、解密都發生在這一層

會話層:負責建立、維護、控制會話,區分不同的會話,以及提供單工(Simplex)、半雙工(Half duplex)、全雙工(Full duplex)三種通信模式的服務。我們平時所知的NFS,RPC,Windows等都工作在這一層

傳輸層:負責分割、組合數據,實現端到端的邏輯連接,TCP,UDP

網絡層:負責管理網絡地址,定位設備,決定路由。我們所熟知的IP地址和路由器就是工作在這一層。上層的數據段在這一層被分割,封裝后叫做包(Packet),包有兩種,一種叫做用戶數據包(Data packets),是上層傳下來的用戶數據;另一種叫路由更新包(Route update packets),是直接由路由器發出來的,用來和其他路由器進行路由信息的交換。

數據鏈路層:負責準備物理傳輸,CRC校驗,錯誤通知,網絡拓撲,流控等。我們所熟知的MAC地址和交換機都工作在這一層。上層傳下來的包在這一層被分割封裝后叫做幀(Frame)

物理層:就是實實在在的物理鏈路,負責將數據以比特流的方式發送、接收



三,Socket編程,分別寫出客戶端和服務器端代碼

客戶端:

import java.io.*;import java.net.*;public class TalkClient {public static void main(String args[]) {try{Socket socket=new Socket("127.0.0.1",10000);//向本機的10000端口發出客戶請求BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));//由系統標準輸入設備構造BufferedReader對象PrintWriter os=new PrintWriter(socket.getOutputStream());//由Socket對象得到輸出流,并構造PrintWriter對象BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));//由Socket對象得到輸入流,并構造相應的BufferedReader對象String readline;readline=sin.readLine(); //從系統標準輸入讀入一字符串while(!readline.equals("bye")){//若從標準輸入讀入的字符串為 "bye"則停止循環os.println(readline);//將從系統標準輸入讀入的字符串輸出到Serveros.flush();//刷新輸出流,使Server馬上收到該字符串System.out.println("Client:"+readline);//在系統標準輸出上打印讀入的字符串System.out.println("Server:"+is.readLine());//從Server讀入一字符串,并打印到標準輸出上readline=sin.readLine(); //從系統標準輸入讀入一字符串} //繼續循環os.close(); //關閉Socket輸出流is.close(); //關閉Socket輸入流socket.close(); //關閉Socket}catch(Exception e) {System.out.println("Error"+e); //出錯,則打印出錯信息}} }服務器端:

import java.io.*;import java.net.*;import java.applet.Applet;public class TalkServer{public static void main(String args[]) {try{ServerSocket server=null;try{server=new ServerSocket(4700);//創建一個ServerSocket在端口4700監聽客戶請求}catch(Exception e) {System.out.println("can not listen to:"+e);        //出錯,打印出錯信息}Socket socket=null;try{socket=server.accept();//使用accept()阻塞等待客戶請求,有客戶//請求到來則產生一個Socket對象,并繼續執行}catch(Exception e) {System.out.println("Error."+e);//出錯,打印出錯信息}String line;BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));//由Socket對象得到輸入流,并構造相應的BufferedReader對象PrintWriter os=newPrintWriter(socket.getOutputStream());//由Socket對象得到輸出流,并構造PrintWriter對象BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));//由系統標準輸入設備構造BufferedReader對象System.out.println("Client:"+is.readLine());//在標準輸出上打印從客戶端讀入的字符串line=sin.readLine();//從標準輸入讀入一字符串while(!line.equals("bye")){//如果該字符串為 "bye",則停止循環os.println(line);//向客戶端輸出該字符串os.flush();//刷新輸出流,使Client馬上收到該字符串System.out.println("Server:"+line);//在系統標準輸出上打印讀入的字符串System.out.println("Client:"+is.readLine());//從Client讀入一字符串,并打印到標準輸出上line=sin.readLine();//從系統標準輸入讀入一字符串}  //繼續循環os.close(); //關閉Socket輸出流is.close(); //關閉Socket輸入流socket.close(); //關閉Socketserver.close(); //關閉ServerSocket}catch(Exception e){System.out.println("Error:"+e);//出錯,打印出錯信息}}}
四,堆和棧的區別

堆:

1,存儲的都是對象,每個對象都包含一個對應的class信息

2,JVM只有一個堆被所有的線程共享,堆中不存放基本類型和對象引用,只存放對象本身

棧:

1,每個線程都包含一個棧,棧中只保存基礎數據和對象的引用。

2,每個棧中的數據都是私有的,其他棧不能方法

3,分為三個部分:基本變量區,執行上下文,操作指令區



總結

以上是生活随笔為你收集整理的笔试总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。