先來看一段單線程的原始代碼(代碼中有詳細的注釋):服務器(TCPServer.java):importjava.net.*;importjava.io.*;publicclassTCPServer{publicstaticvoidmain(String[]args)throwsException{ServerSocketss=newServerSocket(5566);//創建一個Socket服務器,監聽5566端口inti=0;//利用死循環不停的監聽端
系統 2019-08-29 22:33:55 2561
摘要:JavaAuthenticationAuthorizationService(JAAS,Java驗證和授權API)提供了靈活和可伸縮的機制來保證客戶端或服務器端的Java程序。Java早期的安全框架強調的是通過驗證代碼的來源和作者,保護用戶避免受到下載下來的代碼的攻擊。JAAS強調的是通過驗證誰在運行代碼以及他/她的權限來保護系統面受用戶的攻擊。它讓你能夠將一些標準的安全機制,例如SolarisNIS(網絡信息服務)、WindowsNT、LDAP(輕
系統 2019-08-29 23:45:00 2560
Java的運行原理在Java中引入了虛擬機的概念,即在機器和編譯程序之間加入了一層抽象的虛擬的機器。這臺虛擬的機器在任何平臺上都提供給編譯程序一個的共同的接口。編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然后由解釋器來將虛擬機代碼轉換為特定系統的機器碼執行。在Java中,這種供虛擬機理解的代碼叫做字節碼(ByteCode),它不面向任何特定的處理器,只面向虛擬機。每一種平臺的解釋器是不同的,但是實現的虛擬機是相同的。Java源程序經過編譯器編譯后變
系統 2019-08-29 23:18:11 2560
美國時間4月9日,Java之父JamesGosling在新博客“OnaNewRoad”上(原來他在Java公司網站上的博客名為“ontheJavaRoad”)發表文章“Timetomoveon...”,宣布自己已于上周從Oracle離職,目前還沒有新的計劃。文中沒有透露離職的原因,但提到Oracle收購Sun之后,對員工博客寫作的政策變得更加嚴厲。此前,Gosling曾在一次技術會議上表示對Oracle接掌Java非常放心。而談到個人時,他當時說希望自己2
系統 2019-08-29 22:03:32 2556
3.3.SortedSet接口“集合框架”提供了個特殊的Set接口:SortedSet,它保持元素的有序順序。SortedSet接口為集的視圖(子集)和它的兩端(即頭和尾)提供了訪問方法。當您處理列表的子集時,更改視圖會反映到源集。此外,更改源集也會反映在子集上。發生這種情況的原因在于視圖由兩端的元素而不是下標元素指定,所以如果您想要一個特殊的高端元素(toElement)在子集中,您必須找到下一個元素。添加到SortedSet實現類的元素必須實現Comp
系統 2019-08-29 22:44:15 2555
Enum+多態,我沒說錯,不過Enum是不可以被繼承的,也不可以繼承自別人,只是能實現接口而已,何談多態?不過還是先看看“現象”吧:publicenumFruit{APPLE,PEAR,PEACH,ORANGE;}以上是一個簡單的enum,關于它,我要補充一點:Fruit是java.lang.Enum的子類,準確地說,是Enum的子類,這里出現了一個繼承關系,不過這個繼承是編譯器幫我們做的,我們不能顯式地去做。不信的話我們可以試著用一個Enu
系統 2019-08-29 23:39:07 2553
參考網上一篇教程,結合自己遇到的一些問題,把文檔整理了一遍,希望對大家有幫助!我的系統Centos5.8PS:本人新手,第一篇博客希望大家支持和幫助!PHP調用java的class有2種方法1、用php自身帶的模塊調用java(不過經過網友的證明發現這種方法不好)我沒用。2、通過php-java-bridge模塊調用java。(經過網上普遍推薦)我使用了這張方法。下面介紹如何在linux下安裝這個包。1、先安裝java環境、apache、php等相關環境(
系統 2019-08-12 09:29:29 2550
JavaServletAPI說明文檔(2.1a版)(一)譯者前言:近來在整理有關Servlet資料時發現,在網上竟然找不到一份中文的JavaServletAPI的說明文檔,而在有一本有關JSP的書后面附的JavaServletAPI說明竟然不全,而這份文檔的2.1a版在1998年的11月份就已定稿。所以我決定翻譯一份中文的文檔(其中一些與技術關系不大的部分已被略去),有興趣的讀者可以從http://java.sun.com/products/servlet
系統 2019-08-29 23:39:40 2545
系統 2019-08-29 22:53:56 2540
有時候我們說某個語言具有很強的動態性,有時候我們會區分動態和靜態的不同技術與作法。我們朗朗上口動態綁定(dynamicbinding)、動態鏈接(dynamiclinking)、動態加載(dynamicloading)等。然而“動態”一詞其實沒有絕對而普遍適用的嚴格定義,有時候甚至像對象導向當初被導入編程領域一樣,一人一把號,各吹各的調。一般而言,開發者社群說到動態語言,大致認同的一個定義是:“程序運行時,允許改變程序結構或變量類型,這種語言稱為動態語言”
系統 2019-08-29 23:08:53 2537
有時候需要讓某個類只產生一個實例,能確保對象實例只有一個的Pattern就成為SingletonPattern。Singleton類的構造函數是private的,主要是為了禁止從非Singleton類調用構造函數。把其設置為private純粹是為了防止程序員試圖通過new再產生實例。//Singleton類publicclassSingleton{privatestaticSingletonsingleton=newSingleton();privateS
系統 2019-08-12 09:29:57 2536
我朋友的機子的USB口有一個奇怪的問題:如果插上USB外設開機,開機后USB口就會沒有任何響應,比如,插著USB鍵盤開機,開機后鍵盤根本不能用.而我的機子則有一個類似的更有趣的現象:插著USB外設開機,機子跟本就開不了!或者開機的過程中插上USB外設,則機子立即停住,就像按了Pause鍵一樣!且不管這個問題的原因是什么,它讓我想起C++和Java的報錯原則.C++傾向與把錯誤扼殺在搖籃里,盡量在編譯期把錯誤提示出來,不讓它們溜進運行期而JAVA則是“Exc
系統 2019-08-12 09:30:07 2532
定時器的應用1、定時器主要涉及到兩個類(java.util包中)@-》publicclassTimerextendsObject(一種工具,線程用其安排以后在后臺線程中執行的任務。可安排任務執行一次,或者定期重復執行。)@-->publicabstractclassTimerTaskextendsObjectimplementsRunnable(由Timer安排為一次執行或重復執行的任務。)2、Timer類的構造方法:構造方法摘要Timer()創建一個新計
系統 2019-08-12 09:30:00 2532
以下內容為收集整理:==========================javascript調用方式:------------------------------------
系統 2019-08-12 09:29:45 2531
看圖說話:如果想在程序中使用一個變量,就必須先聲明,此時編譯程序會在未使用的內存空間中尋找一塊足夠能保存這個變量的空間以供這個變量使用。整數數據類型可以分為long、int、short及byte四種:long為64位,也就是8個字節(bytes),可表示范圍為-9223372036854775808到9223372036854775807;int為32位,也就是4個字節,表示范圍為-2147483648到2147483647;若是數據值的范圍在-32768
系統 2019-08-12 09:30:32 2529