freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

最新java程序設計基礎-資料下載頁

2025-06-23 23:45本頁面
  

【正文】 句塊設置為同步方法或者同步語句塊。 一旦有線程進入運行這些與對象相關聯(lián)的同步方法和同步語句塊,對象鎖就會自動鎖上,從而其他需要進去的線程只能處于阻塞態(tài),等待鎖的打開。如果線程執(zhí)行完同步方法或者同步語句塊并從中退出來,則對象鎖會自動打開。如果對象鎖是打開的并且有多個線程等待進入運行同步方法或同步語句塊,則優(yōu)先級高的線程先進去運行;如果優(yōu)先級相同,則最終進入的線程是隨機的。,則該線程進入該對象的等候集(wait set),這時該線程進入等待態(tài),同時對象鎖自動打開。要激活在等候集中的線程。這二個方法只能在同步方法或者同步語句塊中調用,而激活的線程都只是在這些同步方法或者同步語句塊所關聯(lián)的對象的等候集中的線程。成員方法notifyAll會激活在該對象的等候集中的所有線程;而成員方法notify只能激活在該對象等候集中的一個線程,如果在等候集中存在多個線程,則成員方法notify隨機激活其中1個線程。如果等候集中的線程在進入等候集時調用wait成員方法帶有參數(shù)并且參數(shù)值大于0,則在到了有調用參數(shù)所規(guī)定的等待時間時該線程也會被自動激活;如果不帶參數(shù)或者參數(shù)為0,則這個線程只能由成員方法notify或notifyAll來激活。被激活的線程離開等候集,進入就緒態(tài),由Java虛擬機進行調度。這時如果對象鎖已經(jīng)打開,而且Java虛擬機允許被激活的線程重新進入,被激活的線程會重新進入原先運行的同步方法或同步語句塊,而且執(zhí)行的語句是從在進入等待集時所調用的wait成員方法的下一條語句開始。 在多線程同步中的靜態(tài)方法與非靜態(tài)方法 在一方法之前加入synchronized,該方法將成為同步方法。如果該方法是靜態(tài)成員方法,則相應的同步方法會與該方法所在的類的類對象相關聯(lián),受類對象鎖控制。如果是非靜態(tài)方法,則相應的同步方法就會與該方法所在的類的某個實例對象相關聯(lián),受實例對象鎖的控制。 在多線程同步中同一個實例對象的多個同步方法 同步語句塊同步語句塊的定義:位于()內的表達式必須是引用類型的表達式,指向某個實例對象或類對象;語句塊由一對{}及大括號括起來的一系列語句組成。如果引用類型表達式所指向的實例對象或類對象的對象鎖是打開的,則Java虛擬機的調度結果可能會讓該線程進入并運行該同步語句塊,同時引用類型的表達式所指向的對象就會被鎖住,不允許其他線程進入與該對象關聯(lián)的各個同步方法和同步語句塊中。當線程運行完同步語句塊中的語句時,線程退出同步語句塊,引用類型表達式所指向的對象鎖就會自動打開。 。關鍵字this本身是一個指向當前實例對象的引用類型表達式,但是在同步語句塊中應當慎用關鍵字this作為指定同步語句塊關聯(lián)對象的引用類型表達式,因為this在程序運行時一般會發(fā)生動態(tài)的變化。 方法wait/notify/notifyAll線程同步語句中的wait方法將線程置于等候集中,使得線程處于等待態(tài)。線程同步語句中的notify方法將從線程等候集中隨機解放出一線程,使其進入就緒態(tài)。線程同步語句中的notifyAll方法將等候集中的線程全部解放出來,使其全部置于就緒態(tài)。利用成員方法wait、notify、notifyAll保證線程在運行過程中的先后順序。 多線程的同步問題 死鎖問題死鎖問題是指資源實際上不短缺,但由于程序設計不合理而造成程序的所有線程都陷入等待態(tài)或阻塞態(tài),缺乏線程來喚醒他們。 多線程同步的粒度問題同步處理往往會降低線程的并行度,使得有些線程無法并行而只能串行,從而降低了程序的運行效率。 12 網(wǎng)絡程序設計計算機通過IP(網(wǎng)際協(xié)議/互聯(lián)網(wǎng)協(xié)議)地址標識,使得位于不同地理位置的計算機有可能互相訪問和通信。統(tǒng)一資源定位地址(URL)可以指向網(wǎng)絡上的各種資源。在網(wǎng)絡上進行通信要遵循一定的規(guī)則,這些規(guī)則稱為協(xié)議。常用的網(wǎng)絡通信協(xié)議有TCP(傳輸控制協(xié)議)、UDP(用戶數(shù)據(jù)報)、SSL(安全套接層)安全網(wǎng)絡通信協(xié)議。 統(tǒng)一資源定位地址(URL)通過URL可以獲取網(wǎng)絡上的各種各樣的資源,但是在獲取各種網(wǎng)絡資源之前一般需要知道網(wǎng)絡資源所在的網(wǎng)絡地址。 網(wǎng)絡地址在網(wǎng)絡上,計算機是通過網(wǎng)絡地址標識的。有兩種方法可以表示網(wǎng)絡地址,第一種表示方法通常采用4個整數(shù)組成();第二種表示方法通過域名表示網(wǎng)絡地址()。,并獲取一些相關的信息。,所有不能通過其構造方法生成實例對象(因為他們不在同一個包中)。 統(tǒng)一資源定位地址(URL)URL又稱為網(wǎng)絡資源定位器,指向網(wǎng)絡上的資源。URL通常由若干部分組成,常用的有協(xié)議(Protocol)、主機(Host)、端口號(Port)、文件(File)和引用(Reference)等。協(xié)議指的是獲取網(wǎng)絡資源的網(wǎng)絡傳輸協(xié)議,如HTTP(超文本傳輸協(xié)議)是在網(wǎng)絡上進行超文本數(shù)據(jù)傳輸?shù)囊环N協(xié)議;FTP(文件傳輸協(xié)議)是在網(wǎng)絡上進行文件傳輸?shù)膮f(xié)議。主機指的是網(wǎng)絡資源所在的主機,用網(wǎng)絡地址表示。端口號指的是與主機進行通信的端口號,端口號是一個整數(shù)(0~65535之間),小于1024的端口號分配給特定的服務協(xié)議,如果沒有注明端口號,則URL將使用默認端口號。文件指的是廣義的文件,可以是普通的文件或者路徑。引用是指向文件內部的某一節(jié)的指針,其所對應的英文單詞常用的有section和anchor。這幾部分在URL中的書寫格式:協(xié)議://主機:端口號/文件引用在網(wǎng)絡程序設計中。 通過統(tǒng)一資源定位地址獲取網(wǎng)絡資源 URL指向網(wǎng)絡上的各種資源。讀取網(wǎng)絡資源數(shù)據(jù)的流程。讀取網(wǎng)絡資源數(shù)據(jù)的步驟如下:①創(chuàng)建URL的實例對象,使其指向給定的網(wǎng)絡資源。②,并返回輸入流對象的引用,以便讀取數(shù)據(jù)。③可選步驟,當網(wǎng)絡不穩(wěn)定或速度很慢時,用來提高獲取網(wǎng)絡資源數(shù)據(jù)的速度。④讀取數(shù)據(jù),并進行數(shù)據(jù)處理。⑤關閉數(shù)據(jù)流。 基于TCP的網(wǎng)絡程序設計TCP(傳輸控制協(xié)議)是一種基于連接的協(xié)議,即先建立起連接通道,再傳送數(shù)據(jù)。連接通道的兩端稱為套接字(Socket)?;赥CP的網(wǎng)絡通信,先建立起連接,再通過Socket發(fā)生數(shù)據(jù)和接收數(shù)據(jù)。通過TCP進行通信的雙方通常稱為服務器端與客戶端,服務器端與客戶端可以是兩臺不同的計算機,也可以是同一臺計算機。服務器端程序設計模型:①,注冊在服務器端進行連接的端口號以及允許連接的最大客戶數(shù)目。②。當有客戶端與該服務器端建立連接時,(Socket)。,通過該套接字可以與客戶端進行數(shù)據(jù)通信。③(Socket)所對應的輸入流(InputStream)和輸出流(OutputStream)。④通過獲得的輸入流(InputStream)和輸出流(OutputStream)與客戶端進行數(shù)據(jù)通信,并處理從客戶端獲得的數(shù)據(jù)以及需要向客戶端發(fā)送的數(shù)據(jù)。⑤在數(shù)據(jù)通信完畢之后,關閉輸入流、輸出流和套接字(Socket)。 客戶端程序設計模式:①,與服務器端建立連接。主機名與端口號必須完全匹配才能建立連接。②(InputStream)和輸出流(OutputStream)。③通過獲得的輸入流和輸出流與服務器端進行數(shù)據(jù)通信,并處理從服務器端獲得的數(shù)據(jù)以及需要向服務器發(fā)生的數(shù)據(jù)。④當數(shù)據(jù)通信完畢,關閉輸入流、輸出流以及套接字。 基于UDP的網(wǎng)絡程序設計UDP(用戶數(shù)據(jù)包協(xié)議)是一種控制網(wǎng)絡數(shù)據(jù)傳輸?shù)膮f(xié)議。與TCP相比,UDP在控制數(shù)據(jù)傳輸時并沒有建立起可靠的連接。基于UDP的網(wǎng)絡數(shù)據(jù)傳輸并不保證數(shù)據(jù)報包會順利到達指定的主機,也不能保證數(shù)據(jù)報包會按照發(fā)送的順序到達指定的主機。數(shù)據(jù)報套接字(Datagram Socket)是表示發(fā)送或接受數(shù)據(jù)報包的套接字,需要傳輸?shù)臄?shù)據(jù)通常封裝成數(shù)據(jù)報包。在服務器端,創(chuàng)建數(shù)據(jù)報套接字(DatagramSocket)的實例對象:在客戶端,創(chuàng)建數(shù)據(jù)報套接字(DatagramSocket)的實例對象:客戶端向服務器端發(fā)送數(shù)據(jù)時,需要知道服務器端的地址,而端口號是地址中的重要內容。第一個構造方法確定好了端口號,第二種構造方法查找并配置當前可用的端口號。每臺計算機的每個端口號最多只能分配給一個數(shù)據(jù)報套接字。當服務器端收到客戶端的數(shù)據(jù)時,服務器端可以從該數(shù)據(jù)中得到客戶端的網(wǎng)絡地址和端口號。需要傳輸?shù)臄?shù)據(jù)通常封裝成為數(shù)據(jù)報包,發(fā)送和接收數(shù)據(jù)都需要封裝。在發(fā)送的數(shù)據(jù)報包中需要指明數(shù)據(jù)所要發(fā)送的目的網(wǎng)絡地址及其端口號。發(fā)送的數(shù)據(jù)報包的創(chuàng)建:接收的數(shù)據(jù)報包的創(chuàng)建:在接受數(shù)據(jù)之后,可以通過接受的數(shù)據(jù)報包獲取數(shù)據(jù)和發(fā)送方的網(wǎng)絡地址以及端口號。UDP數(shù)據(jù)通信的核心: 基于SSL的網(wǎng)絡程序設計SSL(安全套接層)協(xié)議設計的最主要的目的是為了提高網(wǎng)絡通信的保密性和可靠性?;赟SL協(xié)議的網(wǎng)絡數(shù)據(jù)通信一般采用多種密鑰對進行通信的數(shù)據(jù)進行加密。SSL協(xié)議建立在可靠傳輸協(xié)議的基礎上,可以基于SSL協(xié)議建立其他應用協(xié)議,從而使得這些應用協(xié)議具有SSL安全特性。SSL協(xié)議本身由SSL記錄協(xié)議和SSL握手協(xié)議兩部分組成。SSL記錄協(xié)議規(guī)定了如何將傳輸?shù)臄?shù)據(jù)封裝在記錄中,即規(guī)定了記錄的格式、記錄的加密方式、記錄的壓縮和解壓方式,每個記錄的最大長度是32767字節(jié)。SSL握手協(xié)議要求進行通信的雙方分別是服務器端與客戶端,SSL握手協(xié)議規(guī)定了在服務器端和客戶端之間進行認證的步驟、選擇數(shù)據(jù)加密方式的步驟以及進行數(shù)據(jù)通信的步驟?;赟SL協(xié)議的網(wǎng)絡通信通過SSL記錄協(xié)議對傳輸?shù)臄?shù)據(jù)進行加密,而且通過SSL握手協(xié)議對傳輸過程增加了認證過程。 密鑰和證書管理工具keytool基于SSL協(xié)議的網(wǎng)絡通信通過密鑰和證書對傳輸?shù)臄?shù)據(jù)進行加密,并對通信雙方進行身份認證。通過密鑰和證書管理工具keytool可以生成密鑰庫、給密鑰庫添加密鑰項、顯示密鑰庫信息、修改密鑰庫信息、刪除密鑰庫密鑰項、導出數(shù)字證書并建立信任密鑰庫等。密鑰庫的生成:密鑰庫是一項密鑰項的集合,密鑰項由公鑰、私鑰和證書組成。生成密鑰庫的命令是:keytool –genkey。密鑰庫所在的路徑,如何與Java程序連接起來。添加密鑰項:添加密鑰項與生成密鑰庫的命令格式是一樣的,還可以指定密鑰項的別名和密鑰庫的名稱及其所在的路徑。添加密鑰項的命令是:genkey;指定密鑰項別名是:alias 密鑰項別名;指定密鑰庫名稱及其所在路徑是:keystore 密鑰庫所在的路徑\密鑰庫名稱。顯示密鑰庫信息:密鑰和證書管理工具keytool的顯示密鑰庫的命令是:list v。刪除密鑰庫和密鑰項:密鑰和證書管理工具keytool的刪除密鑰項的命令是:delete。期限:密鑰和證書管理工具keytool自動給密鑰項指定一個有效時間,當往密鑰庫添加新的密鑰項時,可以指定有效期間的具體值:validity 有效天數(shù)。必須跟在“genkey”的后面。Java程序實現(xiàn)獲取密鑰項的私鑰:。,將密鑰庫文件加載到當前的密鑰庫實例對象中。將指定的密鑰庫文件加載到密鑰庫實例對象后。導出密鑰項的證書和公鑰:利用證書管理工具keytool,將密鑰項的公鑰及其證書導出到指定的文件,其命令格式是:keytool –export –alias 密鑰項別名 –keystore 密鑰庫所在路徑及其名稱 –storepass 密鑰庫密碼 –file輸出的數(shù)字證書文件名。顯示密鑰項數(shù)字證書的信息:keytool顯示證書的格式:keytool –printcert –file數(shù)字證書文件名。Java程序實現(xiàn)獲取數(shù)字證書文件信息:。通過證書工廠類的成員方法generateCertificate從指定的證書文件中讀取數(shù)據(jù)并創(chuàng)建相應的證書文件。()是否大于0來判斷該文件中是否還有數(shù)字證書。,通過X509Certificate的實例對象來獲取證書的信息。建立信任密鑰庫:通過密鑰和證書管理工具keytool的import選項將證書引入到信任密鑰庫中,并建立起信任機制,建立信任密鑰庫的格式是:keytool –import –alias 密鑰項別名 –file 證書名 –keystore 信任密鑰庫 –storepass 信任密鑰庫密碼。 基于SSL的服務器端和客戶端程序基本思想是在服務器端和客戶端分別建立符合SSL協(xié)議的套接字(Socket),然后通過套接字獲取輸入流與輸出流進行數(shù)據(jù)傳輸。服務器端程序:①指定密鑰庫及其密碼:在服務器端需要存在一個密鑰庫。當在服務器端存在符合要求的密鑰庫時,可以在程序中指定這個密鑰庫及其密碼。②獲取服務器端套接字工廠的實例對象:獲取服務器端套接字一般需要通過服務器套接字工廠。③創(chuàng)建服務器端套接字:,并返回其引用。④監(jiān)聽并等待來自客戶端的連接:。⑤獲取輸入流和輸出流并與客戶端進行數(shù)據(jù)通信:(接受來自客戶端套接字的輸出流getOutputStream);(向客戶端套接字發(fā)送輸出流,客戶端套接字的getInputStream所收到的內容)。⑥在數(shù)據(jù)通信完畢之后,關閉輸入流、輸出流和套接字。客戶端程序:①指定信任密鑰庫:需要從服務器端的密鑰庫中將密鑰項的公鑰及其證書導出到指定的證書文件,然后將所生產(chǎn)的證書文件復制到客戶端,并在客戶端建立起該證書的信任密鑰庫。在客戶端程序中需要指定這個信任密鑰庫的文件名及其所在的路徑。②獲取套接字工廠的實例對象:獲取客戶端套接字一般需要通過套接字工廠。③創(chuàng)建套接字:。④獲取輸入流和輸出流并與服務器端進行數(shù)據(jù)通信。⑤在數(shù)據(jù)通信完畢之后,關閉輸入流、輸出流和套接字。 14 數(shù)據(jù)庫程序設計Java通過JDBC(Java數(shù)據(jù)庫連接)統(tǒng)一處理各種類型的數(shù)據(jù)庫,JDBC為各種數(shù)據(jù)庫的操作提供了良好的機制。要對數(shù)據(jù)庫的數(shù)據(jù)進行處理首先需要與數(shù)據(jù)庫建立起連接,JDBC通過數(shù)據(jù)源指向各種不同類型的數(shù)據(jù)庫,并且通過數(shù)據(jù)源與數(shù)據(jù)庫建立起連接。JDBC提供一套標準
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1