首頁>網絡編程教程> Java教程
全部 ASP教程 ASP教程 ASP.NET教程 PHP教程 JSP教程 C#/CSHARP教程 XML教程 Ajax教程 Perl教程 Shell教程 Visual Basic教程 Delphi教程 移動開髮教程 C/C++教程 Java教程 J2EE/J2ME 軟件工程
Java教程
  • Java動態代理的應用詳解

    Java動態代理的應用詳解

    動態代理其實就是java.lang.reflect.Proxy類別動態的根據您指定的所有介面產生一個class byte,該class會繼承Proxy類,並且實作所有你指定的介面(您在參數中傳入的介面陣列) ;然後再利用您指定的classloader將class byte加載進系統,最後產生這樣一個類別的對象,並初始化該對象的一些值,如invocationHandler,以即所有的接口對應的Method成員。 初始化之後將物件傳回給呼叫的客戶端。這樣客戶端拿到的就是一個實作你所有的介面的Proxy物件。請
    2024-11-24
  • 深入Java物件的位址的使用分析

    深入Java物件的位址的使用分析

    在傳統的Java程式設計中,你將不再需要從記憶體中處理Java物件或位置。 當你在論壇上討論這一點,提出的第一個問題是為什麼你需要知道Java物件的位址? 它是一種有效的問題。 但以往,我們保留進行試驗的權利。探索未知領域的問題並沒有什麼錯。我想出了一個使用sun公司包的實驗。 Unsafe是一個屬於sun.misc包。對你來說可能這個包有點陌生,看看原始碼和方法,你就可以知道我所指的是什麼了。 Java的安全管理提供了足夠的隱藏來確保你並不能那麼容易的擺弄記憶體。作為第一步,我想到了要得到一個Java物
    2024-11-24
  • Java多執行緒中斷執行緒(Interrupt)的使用詳解

    Java多執行緒中斷執行緒(Interrupt)的使用詳解

    interrupt方法interrupt字面上是中斷的意思,但在Java裡Thread.interrupt()方法實際上透過某種方式通知線程,並不會直接中止該線程。具體做什麼事情由寫程式碼的人決定,通常我們會中止該線程。如果執行緒在呼叫Object類別的wait()、wait(long)或wait(long, int)方法,或該類別的join() 、join(long) 、join(long, int) 、sleep(long) 或sleep (long, int) 方法過程中受阻,則其中斷狀態將被清除,
    2024-11-24
  • 深入Java線程中斷的本質與程式設計原則的概述

    深入Java線程中斷的本質與程式設計原則的概述

    在歷史上,Java試圖提供過搶佔式限制中斷,但問題多多,例如前文介紹的已被廢棄的Thread.stop、Thread.suspend和Thread.resume等。另一方面,出於Java應用程式碼的健全性的考慮,降低了程式設計門檻,減少不清楚底層機制的程式設計師無意破壞系統的機率。如今,Java的執行緒調度不提供搶佔式中斷,而採用協作式的中斷。其實,協作式的中斷,原理很簡單,就是輪詢某個表示中斷的標記,我們在任何普通程式碼的中都可以實現。 例如下面的程式碼:volatile bool isInterrup
    2024-11-24
  • Java字元編碼解碼的實作詳解

    Java字元編碼解碼的實作詳解

    字元集基礎:Character set(字元集) 字元的集合,也就是,帶有特殊語意的符號。字母“A”是一個字元。 “%”也是一個字元。沒有內在數位價值,與ASC II ,Unicode,連電腦也沒有任何的直接聯繫。在電腦產生前的很長一段時間內,符號就已經存在了。 Coded character set(編碼字元集) 一個數值賦給一個字元的集合。把代碼賦值給字符,這樣它們就可以用特定的字符編碼集來表達數字的結果。其他的編碼字元集可以賦不同的數值到同一個字元。字元集映射通常是由標準組織確定的,例如USA
    2024-11-24
  • 基於JavaCore文件的深入分析

    基於JavaCore文件的深入分析

    產生時間Java程式運行時,有時會產生JavaCore及HeapDump文件,它一般發生於Java程式遇到致命問題的情況下。 有時致命問題發生後,Java應用程式不會死掉,還能繼續運作; 但有時致命問題發生,Java進程會死掉; 為了能夠保留Java應用程式發生致命錯誤前的運作狀態,JVM在死掉前產生兩個文件,分別為JavaCore及HeapDump文件。有何區別JavaCore是關於CPU的,而HeapDump檔案是關於記憶體的。 JavaCore檔案主要保存的是Java應用各執行緒在某一時刻的運作的位
    2024-11-24
  • java實作單鍊錶中是否有環的方法詳解

    java實作單鍊錶中是否有環的方法詳解

    這是一道微軟經典筆試題,就是兩個指針h1,h2都從頭開始遍歷單鍊錶,h1每次向前走1步,h2每次向前走2步,如果h2碰到了NULL,表示環不存在;如果h2碰到本來應該在身後的h1說明環存在(也就是發生了套圈)。如果環不存在,一定是h2先碰到NULL:如果環存在,h2與h1一定會相遇,而且相遇的點在環內:h2比h1遍歷的速度快,一定不會在開始的那段非環的鍊錶部分相遇,所以當h1,h2都進入環後,h2每次移動都會使h2與h1之間在前進方向上的差距縮小1,最後,會使得h1和h2差距減少為0,也即相遇複製程式碼如
    2024-11-24
  • 基於java枚舉類別綜合應用的說明

    基於java枚舉類別綜合應用的說明

    如下面程式碼以交燈為範例:複製程式碼程式碼如下:public class Test {public static void main(String[] args) {Trafficlight light = Trafficlight.RED;System.out.println(light.time);System.out .println(light.nextLigth());// ordinal()方法傳回枚舉宣告的順序System.out.println(light.ordinal());// va
    2024-11-24
  • 深入Java7的一些新功能以及對腳本語言支援API的介紹

    深入Java7的一些新功能以及對腳本語言支援API的介紹

    1.switch條件語句中可以加入字串了,實現方法是利用了字串的hashcode()值作業真正的值2.增加了一種可以在字面量中使用的進制,二進制,透過在數字前面加上“0b”或“0B”3.在數字字面量中使用底線來分隔數字方便閱讀,不影響數值大小。基本原則是前後都是數字的才可以出現下劃線4.java7對異常做了兩個改動: 4.1.支持在一個catch子句中同時捕獲多個異常,另外一個是在捕獲並重新拋出異常時的異常類型更加精確。 java7中Throwable類別增加addSuppressed方法,當一個例外被拋
    2024-11-24
  • 深入Java分散式計算的使用分析

    深入Java分散式計算的使用分析

    如果所有組件都在同一台電腦的同一個Java虛擬機的同一個堆空間上執行是最簡單的,但實際中我們面對的往往不是如此單一的情況,如果用戶端只是個能夠執行Java的裝置怎麼辦?如果為了安全性的理由只能讓伺服器上的程式存取資料庫怎麼辦?我們知道,大多數情況下,方法的呼叫都是發生在相同堆上的兩個物件之間,如果要呼叫不同機器上的物件的方法呢?通常,我們從某一台計算機上面取得另一台計算機上的信息是通過socket的輸入/輸出流,打開另一台計算機的socket連接,然後獲取outputStream來寫入數據.但如果要調用
    2024-11-24
  • 基於Ajax使用者名稱驗證、服務條款載入、驗證碼產生的實作方法

    基於Ajax使用者名稱驗證、服務條款載入、驗證碼產生的實作方法

    Ajax(asynchronousjavascriptandxml)異步的javascript和xml.是為了解決傳統的web應用中"發送請求-等待響應"這種模式的弊端,(瀏覽器在發送完請求後,只能等待伺服器的響應,用戶不能做其他的操作,瀏覽器發送完請求,會拋棄整個頁面,等待伺服器返回新的頁面,也就是說,瀏覽器和伺服器之間交互的資料量很大,不能做到按需獲取資料)而創建的技術,該技術的本質是:透過一個瀏覽器內建的一個物件(XmlHttpRequest)異步地向伺服器發送請求.所謂非同步指
    2024-11-24
  • 使用Log4j為專案配置日誌輸出應用詳解以及範例示範的實作分析

    使用Log4j為專案配置日誌輸出應用詳解以及範例示範的實作分析

    Log4j元件構成Log4j由三個重要的元件構成:1.日誌資訊的優先權(Logger)2.日誌資訊的輸出目的地(Appender)3.日誌資訊的輸出格式(Layout)。摘要:日誌資訊的優先順序從高到低有ERROR、WARN、INFO、DEBUG,分別用來指定此日誌資訊的重要程度;日誌資訊的輸出目的地指定了日誌會列印到控制台還是文件中;而輸出格式則控制了日誌資訊的顯示內容。 Log4j介紹Log4j是Apache的一個開放原始碼項目,透過使用Log4j,我們可以控制日誌資訊傳送的目的地是控制台、檔案、G
    2024-11-24
  • 使用Java實現系統托盤功能的介紹(附源碼以及截圖)

    使用Java實現系統托盤功能的介紹(附源碼以及截圖)

    Java中如何,實現系統托盤功能.範例圖項目包結構圖系統運行截圖應用核心邏輯說明,隱藏到托盤實質就是講窗體隱藏.即setVisible(false),顯示窗體即就是講setVisible(true).專案程式碼如下:複製程式碼如下:package org.pdp.frame;import java.awt.AWTException;import java.awt.MenuItem;import java.awt.PopupMenu;import java.awt.SystemTray;import jav
    2024-11-23
  • 深入分析Java記憶體區域的使用詳解

    深入分析Java記憶體區域的使用詳解

    Java 記憶體劃分:在Java記憶體分配中,java將記憶體分為:方法區,堆,虛擬機棧,本地方法棧,程式計數器。其中方法區和堆疊對於所有執行緒共享,而虛擬機器棧和本機方法堆疊還有程式計數器對於執行緒隔離的。每個區域都有各自的創建和銷毀時間。程式計數器:作用是目前執行緒所執行的位元組嗎的行號指示器。 Java的多執行緒是透過執行緒輪流切換並分配處理器執行時間方式來實現的。因此,每個執行緒為了能在切換後能恢復到正確的位置,每個執行緒需要獨立的程式計數器。 Java 虛擬機器堆疊:每個放在執行的時候都會同時建
    2024-11-23
  • 基於Java字符編碼的使用詳解

    基於Java字符編碼的使用詳解

    1,什麼是字符編碼?字元(Character)是文字與符號的總稱,包括文字、圖形符號、數學符號等。一組抽象字元的集合就是字元集(Charset)。字符集的出現是為了資訊進行傳播儲存提供方便。目前常用到字元集有:ASCII,ISO 8859-1,Unicode,GB23122,各種編碼集有哪些特色? ASCII:ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基於拉丁字母的一套電腦編碼系統。包含內容:控製字元(回車,退
    2024-11-23