java的大方向就是j2ee
j2ee不僅僅是socket編程,具體包括13中核心技術。
J2EE的核心API與組件
J2EE平台由一整套服務(Services)、應用程序介面(APIs)和協議構成,它對開發基於Web的多層應用提供了功能支持,下面對J2EE中的13種技術規范進行簡單的描述(限於篇幅,這里只能進行簡單的描述):
1. JDBC(Java Database Connectivity):
JDBC API為訪問不同的資料庫提供了一種統一的途徑,象ODBC一樣,JDBC對開發者屏蔽了一些細節問題,另外,JDCB對資料庫的訪問也具有平台無關性。
2. JNDI(Java Name and Directory Interface):
JNDI API被用於執行名字和目錄服務。它提供了一致的模型來存取和操作企業級的資源如DNS和LDAP,本地文件系統,或應用伺服器中的對象。
3. EJB(Enterprise JavaBean):
J2EE技術之所以贏得媒體廣泛重視的原因之一就是EJB。它們提供了一個框架來開發和實施分布式商務邏輯,由此很顯著地簡化了具有可伸縮性和高度復雜的企業級應用的開發。EJB規范定義了EJB組件在何時如何與它們的容器進行交互作用。容器負責提供公用的服務,例如目錄服務、事務管理、安全性、資源緩沖池以及容錯性。但這里值得注意的是,EJB並不是實現J2EE的唯一途徑。正是由於J2EE的開放性,使得有的廠商能夠以一種和EJB平行的方式來達到同樣的目的。
4. RMI(Remote Method Invoke):
正如其名字所表示的那樣,RMI協議調用遠程對象上方法。它使用了序列化方式在客戶端和伺服器端傳遞數據。RMI是一種被EJB使用的更底層的協議。
5. Java IDL/CORBA:
在Java IDL的支持下,開發人員可以將Java和CORBA集成在一起。他們可以創建Java對象並使之可在CORBA ORB中展開, 或者他們還可以創建Java類並作為和其它ORB一起展開的CORBA對象的客戶。後一種方法提供了另外一種途徑,通過它Java可以被用於將你的新的應用和舊的系統相集成。
6. JSP(Java Server Pages):
JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。伺服器在頁面被客戶端所請求以後對這些Java代碼進行處理,然後將生成的HTML頁面返回給客戶端的瀏覽器。
7. Java Servlet:
Servlet是一種小型的Java程序,它擴展了Web伺服器的功能。作為一種伺服器端的應用,當被請求時開始執行,這和CGI Perl腳本很相似。Servlet提供的功能大多與JSP類似,不過實現的方式不同。JSP通常是大多數HTML代碼中嵌入少量的Java代碼,而servlets全部由Java寫成並且生成HTML。
8. XML(Extensible Markup Language):
XML是一種可以用來定義其它標記語言的語言。它被用來在不同的商務過程中共享數據。
XML的發展和Java是相互獨立的,但是,它和Java具有的相同目標正是平台獨立性。通過將Java和XML的組合,您可以得到一個完美的具有平台獨立性的解決方案。
9. JMS(Java Message Service):
MS是用於和面向消息的中間件相互通信的應用程序介面(API)。它既支持點對點的域,有支持發布/訂閱(publish/subscribe)類型的域,並且提供對下列類型的支持:經認可的消息傳遞,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另
一種方式來對您的應用與舊的後台系統相集成。
10. JTA(Java Transaction Architecture):
JTA定義了一種標準的API,應用系統由此可以訪問各種事務監控。
11. JTS(Java Transaction Service):
JTS是CORBA OTS事務監控的基本的實現。JTS規定了事務管理器的實現方式。該事務管理器是在高層支持Java Transaction API (JTA)規范,並且在較底層實現OMG OTS specification的Java映像。JTS事務管理器為應用伺服器、資源管理器、獨立的應用以及通信資源管理器提供了事務服務。
12. JavaMail:
JavaMail是用於存取郵件伺服器的API,它提供了一套郵件伺服器的抽象類。不僅支持SMTP伺服器,也支持IMAP伺服器。
13. JAF(JavaBeans Activation Framework):
JavaMail利用JAF來處理MIME編碼的郵件附件。MIME的位元組流可以被轉換成Java對象,或者轉換自Java對象。大多數應用都可以不需要直接使用JAF。
第一個階段(java基礎階段)
1.java語法
2.面向對象
3.常用的api
4.界面編程
5.多線程
6.文件io
7.java網路編程..
看看 張孝祥老師的 java視頻 (不過張孝
祥老師普通話不是很好,而且語速很慢,不過技術是不用說的啦!感謝張老師的無私奉獻了,呵呵)
第二個階段 (資料庫階段)
1.oracle
2.mysql
3.sql server
目前中國軟體公司用的最多的三大主流資料庫是sql server,mysql ,oracle .目前看來oracle資料庫越來越流行了。一般情況下PHP對應MySQL資料庫;ASP對應SQL資料庫;JSP對應ORACLE資料庫。所以大家會經常看
到市場上JAVA培訓都是用的ORACLE資料庫,其實你學會了ORACLE資料庫,再去學習MySQL、SQL數 據庫,你會覺得有很多相似的之處,學起來也容易上手了。oracle我推薦
韓順平老師 oracle視頻 (韓老師授課很有趣,特適合基礎不太好的人。講課有一套)
第三個階段 (web開發階段)
1.html
2.css
3.javascript
這三個部分是進行web開發的必須技術.一定要好好學習.不過我當時沒有發現有講的特別好的。好像很多老師都講框架和後台,界面這塊不多,所以就沒有什麼好推薦的了,大家可以
在網上找找看看,<<別具光芒>> 這本書講的挺好,不過不太適合初學者,可以看看孫鑫老師視頻的《HTML語言速成》。
第四個階段 (j2ee 中級部分)
1.servlet
2.jsp
3.mvc
這個階段是接近企業的需求了,所以學習起來,難度偏大,如果前面沒有學習扎實,會比較麻煩,我就是這樣的,前面沒有吃透,就學習j2ee 中級,搞得我消化不良。所以小弟我中心的告誡大家,把前面的學好,再學習第四個階段,這里的mvc思想不太好理解,是學習的重點。同時要學習tomcat/jboss/wl 這些伺服器所以,你可能感到要學習的東西一下多了很多,其實我就在這里動搖過,有那麼一段時間,又想放棄了。可是一想到 房東那種不屑的表情,我就想,一定要好好學習,混出個人樣來。我家是農村的,回去就是種地,當公務員我沒有關系,再說會老家我學習的專業也用不上,要不就是當個網管什麼的,不說了,反正當時心情很復雜吧。這個階段我推薦
韓順平老師 servlet視頻 jsp視頻 (這里也特別謝謝韓順平老師,我是比較喜歡他講課的風格,因為我當時基礎不好,所以不敢看講的太理論的課。)
第五個階段 (j2ee 高級部分)
1.struts
2.hibernate
3.spring
學習完Servlet、JSP然後再去學習框架Struts、Hibernate、Spring等最前沿的最流行的網路編程必備的軟體技能。
推薦的參考書籍是美河圖書提供《Servlet與JSP核心編程》
框架的基礎就是Servlet、JSP。首先大家應該學習的是Struts框架,典型的MVC模型。推薦學習視頻是 張小靜的Struts視頻。(網上有孫鑫的視頻嘛,主要就是講的Struts、Hibernate、Spring這三個框架,但是這個好像是偷錄的效果不好,聽起來比較吃力,銜接的不好)
推薦書籍孫衛琴編著《精通Struts基於MVC的Java.Web設計與開發》
然後就是Hibernate框架,推薦李興華老師的Hibernate視頻,
參考書籍孫衛琴 《精通Java對象持久化技術詳解》
最後關於Spring框架的視頻,在網上你可以搜索到很多,但是系統講解的真的沒有發現,本著對大家負責的態度,不敢亂推薦,大家到網上搜一下,也許現在有了也可能。
學完上述三個階段的內容,就在看看xml,ajax,ejb這些知識!尤其是的Ajax用得非常火,我們公司就用,ajax的框架流行的是(jquery,dw),我們公司用的是jquery.這里提一 下,學習Ajax之前一定要有JavaScript的基礎,推薦視頻張孝祥JavaScript網頁開發,這套視頻有相應 的配套書籍《JavaScript網頁開發》
2. java網路編程的基本內容有哪些其特點和優勢如何請進行論述。
1.用Java編寫網路程序是非常簡單的——至少比在現有其他編程環境下要簡單得多。本書的新版本帶給開發者的是Java發展的最新特性。一旦開始使用Java的網路API進行網路編程,我們能做到可以想像到的一切事情。 本書對開發網路程序進行了非常完整的介紹(從應用程序和applet兩方面),它包括了從網路基礎到遠程方法調用(RMI)的所有內容。本書的章節涵蓋了TCP和UDP套接字、組播、內容和協議處理器以及兩個新的API:JSSE(SSL實現)和JavaMail API。擴充了I/O和多線程等基礎知識。還講述了在不直接編寫網路代碼時你所能夠實現的內容,例如如何用URL實現自己的目標、applet的基本功能以及如何用Swing處理HTML。無論是有經驗的網路程序員還是只想隨意看一看的初學者,都會發現本書對於Java的網路程序類的學習是相當完整的。本書內容涵蓋了:1、Java 2(JDK 1.2和1.3)和Java1.1。2、許多完整的程序(可在線獲取)。3、網路編程基礎的所有方面。4、一些高級專題,包括RMI和組播。5、許多重要的API,有JSSE、JavaMail以及Swing中的HTML解析器。Elliotte Rusty Harold是著名的Java網站Cafe Au Lait的作者(http://metalab.unc.e/javafaq),國際知名的計算機專家。他是《Java I/O》以及其他一些Java和XML技術圖書的作者。 「直到找到這本書之後,我才開始真正理解Java網路編程。」——Bruce Eckel,《Java編程思想》的作者.
2.JAVA的特點§ 1.2 Java的特點
Java是一個廣泛使用的網路編程語言 ,它是一種新的計算概念。
首先 ,作為一種程序設計語言 ,它簡單、面向對象、不依賴於機器的結構、
具有可移植性、魯棒性、安全性、並且提供了並發的機制、具有很高的性能。其
次 ,它最大限度地利用了網路 ,Java的小應用程序 (applet)可在網路上傳輸而
不受 CPU和環境的限制。另外 ,Java還提供了豐富的類庫 ,使程序設計者可以很
方便地建立自己的系統。
下面我們分別從這三個方面來討論 Java的特點 ,然後通過把 Java與 C,
C++相比進一步指出它所具有的優點。
一、 Java語言
Java語言有下面一些特點 :簡單、面向對象、分布式、解釋執行、魯棒、
安全、體系結構中立、可移植、高性能、多線程以及動態性。
:1.簡單性
Java語言是一種面向對象的語言 ,它通過提供最基本的方法來完成指定的
任務 ,只需理解一些基本的概念 ,就可以用它編寫出適合於各種情況的應用程
序。 Java略去了運算符重載、多重繼承等模糊的概念 ,並且通過實現自動垃圾
收集大大簡化了程序設計者的內存管理工作。另外 ,Java也適合於在小型機上運
行 ,它的基本解釋器及類的支持只有 40KB左右 ,加上標准類庫和線程的支持也
只有 215KB左右。庫和線程的支持也只有 215KB左右。
2.面向對象
Java語言的設計集中於對象及其介面 ,它提供了簡單的類機制以及動態的
介面模型。對象中封裝了它的狀態變數以及相應的方法 ,實現了模塊化和信息
隱藏 ;而類則提供了一類對象的原型 ,並且通過繼承機制 ,子類可以使用父類
所提供的方法 ,實現了代碼的復用。
3.分布性
Java是面向網路的語言。通過它提供的類庫可以處理 TCP/IP協議 ,用戶
可以通過 URL地址在網路上很方便地訪問其它對象。
4.魯棒性
Java在編譯和運行程序時 ,都要對可能出現的問題進行檢查 ,以消除錯誤
的產生。它提供自動垃圾收集來進行內存管理 ,防止程序員在管理內存時容易
產生的錯誤。通過集成的面向對象的例外處理機制 ,在編譯時,Java提示出可能
出現但未被處理的例外 ,幫助程序員正確地進行選擇以防止系統的崩潰。另外,
Java在編譯時還可捕獲類型聲明中的許多常見錯誤 ,防止動態運行時不匹配問題
的出現。
5.安全性
用於網路、分布環境下的 Java必須要防止病毒的入侵。 Java不支持指針,
一切對內存的訪問都必須通過對象的實例變數來實現 ,這樣就防止程序員使用
"特洛伊 "木馬等欺騙手段訪問對象的私有成員 ,同時也避免了指針操作中容易
產生的錯誤。
6.體系結構中立
Java解釋器生成與體系結構無關的位元組碼指令 ,只要安裝了 Java運行時
系統 ,Java程序就可在任意的處理器上運行。這些位元組碼指令對應於 Java虛擬
機中的表示 ,Java解釋器得到位元組碼後 ,對它進行轉換 ,使之能夠在不同的平
台運行。
7.可移植性
與平台無關的特性使 Java程序可以方便地被移植到網路上的不同機器。
同時 ,Java的類庫中也實現了與不同平台的介面 ,使這些類庫可以移植。另外,
Java編譯器是由 Java語言實現的 ,Java運行時系統由標准 C實現 ,這使得Java
系統本身也具有可移植性。
8.解釋執行
Java解釋器直接對 Java位元組碼進行解釋執行。位元組碼本身攜帶了許多
編譯時信息 ,使得連接過程更加簡單。
9.高性能
和其它解釋執行的語言如 BASIC、 TCL不同 ,Java位元組碼的設計使之能
很容易地直接轉換成對應於特定CPU的機器碼 ,從而得到較高的性能。
10.多線程
多線程機制使應用程序能夠並行執行 ,而且同步機制保證了對共享數據
的正確操作。通過使用 多線程 ,程序設計者可以分別用不同的線程完成特定
的行為 ,而不需要採用全局的事件循環機制 ,這樣就很容易地實現網路上的實
時交互行為。
11.動態性
Java的設計使它適合於一個不斷發展的環境。在類庫中可以自由地加入
新的方法和實例變數而不會影響用戶程序的執行。並且 Java通過介面來支持
多重繼承 ,使之比嚴格的類繼承具有更靈活的方式和擴展性。
參考資料:http://chat.xwsy.com/wangshangjiaocheng/java/Java.htm
3.Java已用動態的交互應用軟體使Web栩栩如生。它使開發人員
具有『編寫一次到處運行TM」的巨大能力。而且,藉助其JavaAPI
及其編程語言上的Java虛擬機,它已產生一種分布信息的嶄新模式。
這種模式叫做Java企業計算,正在幫助各企業以各種不同的方法取
得競爭優勢。網管和控制已大大簡化。軟體分配基本上是免費的,
而且立即可實現。電子貿易已獲得。佔有成本大幅度降低。信息和
應用軟體到處可存取。
Java建立在簡單的前提基礎上,即所有微處理器都應講同一種
語言——所有內部採用晶元的產品都應能一起工作,無縫而方便地
共享信息。它已經改變企業和個人同Internet大交道的方式。現在,
它正在對消費類產品產生明顯的影響,而且從總體上更加深刻地影
響企業計算。
藉助Java,您可自由自在地使用您已擁有的硬體和軟體。這是因
為Java是獨立於平台的。它還可使您超越企業計算,使應用軟體在便
攜式計算機、信息亭、電視、蜂窩電話和其他大量設備上運行。
全世界的公司都已發現Java數不勝數的用途。所有用途可從其無
可比擬的能力,即提高可靠性、安全性和簡化各種不同計算產品和
環境的能力中受益非淺,而且節省的時間和費用十分可觀。
Java無處不在。它已擁有幾百萬個用戶,其發展速度要快於在它
以前的其他任何一種計算機產品。它可位於任何地方,而且能到處運
行。Java正在迅速被用做傳播信息的事實上標准,這是因為它既可給
企業,也可給最終用戶帶來似乎數不清的好處。
3. Java網路編程,高手進
你可以調用 java.net.URLConnection.getContentLength( )。
中文文檔:http://shorterlink.com/?WSX10K
import java.net.URL;
class C {
public static void main( String[ ] args ) throws Exception {
URL url = new URL( "http://www.python.org/ftp/python/2.5/python-2.5.msi" );
int size = url.openConnection( ).getContentLength( );
System.out.printf( "%s is only %.1f MB in size.", url, size / Math.pow( 2, 20 ) );
}
}
4. java網路編程的介紹
《Java網路編程》第三版會為你介紹Java網路API的最新特性。本書討論了JDK1.4和1.5(現在已命名為J2SE5)中所做的所有修改和增補。本書內容全面,涵蓋了從網路基礎知識到遠程方法調用(RMI)等各方面的內容,書中章節涉及到TCP和UDPsocket、伺服器socket、URL和URI、組播以及特殊用途的API(如JavaMail)等等。本書展示了如何使用JSSE編寫安全的網路應用程序,解釋了如何使用NIOAPI編寫超高性能的伺服器。它還涵蓋了Java對網路代理、Webcookie和URL緩存的支持。
5. 跪求java網路編程第三版或者第四版 有的可以發我郵箱么 萬分感謝啊 本人只有10分了 全給了
我倒是有本JAVA網路編程,但是不知道是哪版的,也不知道是不是你要的那網路編程
6. 誰能搞個Java網路編程(第四版)pdf
《Java網路編程(第4版)》中文版.pdf 下載
更多java 書籍pdf 點擊這里
7. java網路編程
我也才寫了一個,我不想看代碼
你可以把發送和接受信息都寫在一個死循環里
客戶端:1.發送 2.接受
服務端:1.接受 2.發送
這個接收我第一個代碼用的BufferedRedaer br = new BufferedReader(new InputStreamReader(in))
br.readline();//這個是阻塞式的,不接受到消息它是不會往後執行的,更ServerSocket里的accept方法一樣的
客戶端發送了就會卡在接受那,而伺服器這邊就會收到,伺服器就會執行回復的輸入,回復輸入後,客戶端這邊就能接收到,就這樣循環
第一次寫的時候用的是PrintWriter進行發送,用inputstream的read方法讀出來會不對
printwriter的write方法就是寫入緩存,要用到String的getbytes方法,注意要使用flush方法清空緩存
讀取用的是BufferedReader
8. Java網路編程從入門到精通(4):DNS緩存
在通過DNS查找域名的過程中 可能會經過多台中間DNS伺服器才能找到指定的域名 因此 在DNS伺服器上查找域名是非常昂貴的操作 在Java中為了緩解這個問題 提供了DNS緩存 當InetAddress類第一次使用某個域名(如)創建InetAddress對象後 JVM就會將這個域名和它從DNS上獲得的信息(如IP地址)都保存在DNS緩存中 當下一次InetAddress類再使用這個域名時 就直接從DNS緩存里獲得所需的信息 而無需再訪問DNS伺服器
DNS緩存在默認時將永遠保留曾經訪問過的域名信息 但我們可以修改這個默認值 一般有兩種方法可以修改這個默認值
在程序中通過java security Security setProperty方法設置安全屬性nel的值(單位 秒) 如下面的代碼將緩存超時設為 秒
java security Security setProperty( nel );
設置java security文件中的neorkaddresl屬性 假設JDK的安裝目錄是C jdk 那麼java security文件位於c jdk jrelibsecurity目錄中 打開這個文件 找到nel屬性 並將這個屬性值設為相應的緩存超時(單位 秒)
如果將nel屬性值設為 那麼DNS緩存數據將永遠不會釋放 下面的代碼演示了使用和不使用DNS緩存所產生效果
package mynet;import *;publicclass MyDNS{publicstaticvoidmain(String[]args)throwsException{//args[ ]:本機名args[ ] 緩沖時間if(args length< )return;java security Security setProperty( nel args[ ]);longtime=System currentTimeMillis();InetAddressaddresses []=InetAddress getAllByName(args[ ]);System out println( addresses : +String valueOf(System currentTimeMillis() time)+ 毫秒 );for(InetAddressaddress:addresses )System out println(address);System out print( 按任意鍵繼續 );System in read();time=System currentTimeMillis();InetAddressaddresses []=InetAddress getAllByName(args[ ]);System out println( addresses : +String valueOf(System currentTimeMillis() time)+ 毫秒 );for(InetAddressaddress:addresses )System out println(address);}}
在上面的代碼中設置了DNS緩存超時(通過args[ ]參數) 用戶可以通過命令行參數將這個值傳入MyDNS中 這個程序首先使用getAllByName建立一個InetAddress數組 然後通過System in read使程序暫停 當用戶等待一段時間後 可以按任意鍵繼續 並使用同一個域名(args[ ])再建立一個InetAddress數組 如果用戶等待的這段時間比DNS緩存超時小 那麼無論情況如何變化 addresses 和addresses 數組中的元素是一樣的 並且創建addresses 數組所花費的時間一般為 毫秒(小於 毫秒後 Java無法獲得更精確的時間)
測試
執行如下命令(將DNS緩存超時設為 秒)
java mynet MyDNS
運行結果 (在 秒之內按任意鍵)
addresses : 毫秒/ 按任意鍵繼續addresses : 毫秒/
運行結果 (在 秒後按任意鍵)
addresses : 毫秒/ 按任意鍵繼續addresses : 毫秒/
在上面的測試中可能出現兩個運行結果 如果在出現 按任意鍵繼續… 後 在 秒之內按任意鍵繼續後 就會得到運行結果 從這個結果可以看出 addresses 所用的時間為 毫秒 也就是說 addresses 並未真正訪問DNS伺服器 而是直接從內存中的DNS緩存得到的數據 當在 秒後按任意鍵繼續後 就會得到運行結果 這時 內存中的DNS緩存中的數據已經釋放 所以addresses 還得再訪問DNS伺服器 因此 addresses 的時間是 毫秒(addresses 和addresses 後面的毫秒數可能在不同的環境下的值不一樣 但一般情況下 運行結果 的addresses 的值為 或是一個接近 的數 如 運行結果 的addresses 的值一般會和addresses 的值很接近 或是一個遠比 大的數 如 )
測試
執行如下命令(ComputerName為本機的計算機名 DNS緩存超時設為永不過期[ ])
java mynet MyDNS ComputerName
運行結果(按任意鍵繼續之前 將 刪除)
addresses : 毫秒myuniverse/ myuniverse/ 按任意鍵繼續addresses : 毫秒myuniverse/ myuniverse/
從上面的測試可以看出 將DNS緩存設為永不過期後 無論過多少時間 按任意鍵後 addresses 任然得到了兩個IP地址( 和 ) 而且addresses 的時間是 毫秒 但在這時 已經被刪除 因此可以判斷 addresses 是從DNS緩存中得到的數據 如果運行如下的命令 並在 秒後按任意鍵繼續後 addresses 就會只剩下一個IP地址( )
java mynet MyDNS ComputerName
如果域名在DNS伺服器上不存在 那麼客戶端在進行一段時間的嘗試後(平均為 秒) 就會拋出一個UnknownHostException異常 為了讓下一次訪問這個域名時不再等待 DNS緩存將這個錯誤信息也保存了起來 也就是說 只有第一次訪問錯誤域名時才進行 稱左右的嘗試 以後再訪問這個域名時將直接拋出UnknownHostException異常 而無需再等待 秒鍾
訪問域名失敗的原因可能是這個域名真的不存在 也可能是因為DNS伺服器或是其他的硬體或軟體的臨時故障 因此 一般不能將這個域名錯誤信息一直保留 在Java中可以通過neorkaddresl屬性設置保留這些信息的時間 這個屬性的默認值是 秒 它也可以通過java security Security setProperty方法或java security文件來設置 下面的代碼演示了neorkaddresl屬性的用法
package mynet;import *;publicclass MyDNS {publicstaticvoidmain(String[]args)throwsException{java security Security setProperty( neorkaddresl );longtime= ;try{time=System currentTimeMillis();InetAddress getByName( );}catch(Exceptione){System out println( 不存在!address : +String valueOf(System currentTimeMillis() time)+ 毫秒 );}//Thread sleep( );//延遲 秒try{time=System currentTimeMillis();InetAddress getByName( );}catch(Exceptione){System out println( 不存在!address : +String valueOf(System currentTimeMillis() time)+ 毫秒 );}}}
在上面的代碼中將neorkaddresl屬性值設為 秒 這個程序分別測試了address 和address 訪問(這是個不存在的域名 讀者可以將其換成任何不存在的域名)後 用了多長時間拋出UnknownHostException異常
運行結果
不存在!address : 毫秒不存在!address : 毫秒
我們從上面的運行結果可以看出 address 使用了 毫秒就拋出了異常 因此 可以斷定address 是從DNS緩存里獲得了域名不可訪問的信息 所以就直接拋出了UnknowHostException異常 如果將上面代碼中的延遲代碼的注釋去掉 那麼可能得到如下的運行結果
不存在!address : 毫秒不存在!address : 毫秒
從上面的運行結果可以看出 在第 秒時 DNS緩存中的數據已經被釋放 因此 address 仍需要訪問DNS伺服器才能知道是不可訪問的域名
在使用DNS緩存時有兩點需要注意
可以根據實際情況來設置nel屬性的值 一般將這個屬性的值設為 但如果訪問的是動態映射的域名(如使用動態域名服務將域名映射成ADSL的動態IP) 就可能產生IP地址變化後 客戶端得到的還是原來的IP地址的情況
lishixin/Article/program/Java/hx/201311/11147
9. 《Java網路編程核心技術詳解》pdf下載在線閱讀全文,求百度網盤雲資源
《Java網路編程核心技術詳解》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1_XTd5UzNdDfNK3oN7lcUYQ
10. 想要從頭學習JAVA,哪些教程書籍值得推薦
十本最經典的java書籍推薦
No1: Java編程思想(第4版)
作者:(美)埃克爾 著,陳昊鵬 譯
網上購買價格:¥73.30 去當當購買
書籍介紹:全球程序員必備圖書《Java編程思想》的最新版本! 獲獎歷史:b2003年《Software Development》雜志最佳書籍Jolt大獎 b2003年《Java Developerrs Journal》讀者選擇最佳書籍獎 ...
No2: Java 經典實例
作者:(美)達爾文(Darwin,F.I) 著;關麗榮,張曉坤 譯
網上購買價格:¥76.50 去當當購買
書籍介紹:本書對於Java開發人員而言是理想的"第二本書"(也是理想的自學書籍),講述API比一般書籍要詳細,非常適合擴大Java應用的知識面.
No3: Effective Java中文版(第2版)
作者:(美)布洛克 著,楊春花,俞黎敏 譯
網上購買價格:¥36.90 去當當購買
書籍介紹:可能有人認為我不需要任何Java方面的書籍,但是我需要這本書.Java之父James Gosling 編碼平添樂趣,程序更加完美,高效成為習慣,工作如此輕松. 你是...
No4: Java高手真經(編程基礎卷):Java 核心編程技術(贈手冊一本、含光碟)
作者:劉中兵Java研究室 編著
網上購買價格:¥79.80 去當當購買
書籍介紹:本書詳細講解Java語言基礎開發中的各種技術,主要內容包括如下. ?Java開發入門:JDK、JVM、Eclipse、Linux. ?Java語法基礎:類、抽象類、介面、內部類、匿名類、異常、編碼規范. ?Java...
No5: Java 實時編程
作者:(美)布魯諾 等著,田思源 譯
網上購買價格:¥38.30 去當當購買
書籍介紹:面向開發者和架構師的Java RTS權威指南 面向轉向實時系統領域的Java開發者和架構師,以及轉向Java的實時系統開發者. 從頭至尾逐步分析應用示例,確定其限制並討論解決它們的API和設計模式. ...
No6: 輕量級Java EE企業應用實戰――Struts 2+Spring+Hibernate整合開發(附光碟)
作者:李剛 編著
網上購買價格:¥66.80 去當當購買
No7: Java核心技術:卷Ⅰ基礎知識
作者:(美)昊斯特曼 著,葉乃文,鄺勁筠,杜永萍 譯
網上購買價格:¥69.60 去當當購買
No8: Java與模式(含盤)
作者:閻宏 編著
網上購買價格:¥65.20 去當當購買
No9: Java網路編程精解
作者:孫衛琴 編著
網上購買價格:¥40.70 去當當購買
No10: 代碼大全(第二版)(兩屆Software Jolt Award震撼大獎得主!)(軟體開發世界的地圖――經典中的經典!)
作者:(美)邁克康奈爾(McConnell,S.) 著,金戈 等譯
網上購買價格:¥68.60 去當當購買,望採納,謝謝。