Java介面與繼承的本質

電腦學院研二的兄弟與我討論Java,一見面,幾個問題全是關於介面,介面有什麼用?為什麼要用介面?什麼時候該使用介面?很慶幸他們不是問我Java如何串連SQL Server,或者是如何開發J2EE應用,這類問題有殺傷力,避之則吉。今年電腦學院本科有個畢業設計課題是做J2ME,選這個題目的學生在5月末都還在苦著臉研究java.util.*這個包,這個這個……唉。大多數人認為,介面的意義在於頂替多重繼承。眾所周知Java沒有c++那樣多重繼承的機制,但是卻能夠實作多個介面。

解析Java體繫結構對資訊安全的支援

Java語言擁有三大特徵:平台無關性、網路移動性和安全性,而Java體繫結構對這三大特徵提供了強大的支援和保證,本文著重介紹Java體繫結構對支援資訊安全的原理和使用方法。Java體繫結構Java的體繫結構如下圖所示,首先Java的原始碼Java檔案由編譯器編譯成Java的二進位位元組碼class檔案,然後class檔案由Java虛擬機器中的類裝載器進行載入,同時類裝載器還會載入Java的原始 API

Java資料對象技術JDO簡介

作為異軍突起的新型語言,Java定義了一個標準的運行環境,使用者定義的類在其中得到執行。這些使用者自訂類的執行個體代表了真實環境中的資料,包括儲存在資料庫、檔案或某些大型交易處理系統中的資料,而小型系統通常也需要一種在本地負責控制資料存放區的機制。由於資料訪問技術在不同的資料來源類型中是不一樣的,因此對資料進行訪問成了給程式開發人員的一種挑戰,程式員需要對每一種類型的資料來源使用特定的編程介面(API),即必須至少知道兩種語言來基於這些資料來源開發業務應用:Java語言和由資料來源所決定的資料訪

體驗Java 1.5中面向方面(AOP)編程

對於一個能夠訪問原始碼的經驗豐富的Java開發人員來說,任何程式都可以被看作是博物館裡透明的模型。類似線程轉儲(dump)、方法調用跟蹤、斷點、切面(profiling)統計表等工具可以讓我們瞭解程式目前正在執行什麼操作、剛才做了什麼操作、未來將做什麼操作。但是在產品環境中情況就沒有那麼明顯了,這些工具一般是不能夠使用的,或最多隻能由受過訓練的開發人員使用。支援小組和終端使用者也需要知道在某個時刻應用程式正在執行什麼操作。為了填補這個空缺,我們已經發明了一些簡單的替代品,例如記錄檔(典型情況下用

面向Java開發人員的Scala指南

在撰寫本文時,夏季即將結束,新的學年就要開始,Twitter 的伺服器上不 斷湧現出世界各地的網蟲和非網蟲們發布的更新。對於我們很多身在北美的人來 說,從海灘聚會到足球,從室外娛樂到室內項目,各種各樣的想法紛至遝來。為 了跟上這種形勢,是時候重訪 Scitter 這個用於訪問 Twitter 的 Scala 客戶 機庫了。如果 到目前為止 您一直緊隨 Scitter 的開發,就會知道,這個庫現在能夠 利用各種不同的 Twitter API 查看使用者的好友、追隨者和時間軸,以及其他內 容。但是,

深入淺出Java多線程(2)-Swing中的EDT(事件分發線程)

本文主要解決的問題是:如何使其Swing程式只能運行一個執行個體?拋開Swing,我們的程式是通過java 命令列啟動一個進程來執行的,該問題 也就是說要保證這個進程的唯一性,當然如果能夠訪問系統的介面,得到進程的 資訊來判斷是否已有進程正在運行,不就解決了嗎?但是如何訪問系統的介面呢 ?如何要保證在不同的平台上都是OK的呢?我的思路是用檔案鎖,當然我相信肯 定有更好的方法,呵呵,希望讀者能夠指出。檔案鎖是JDK1.4 NIO提出的,可以在讀取一個檔案時,獲得檔案鎖,這個鎖

用java多線程斷點續傳實踐

annegu做了一個簡單的Http多線程的下載程式,來討論一下多線程並發下載 以及斷點續傳的問題。這個程式的功能,就是可以分多個線程從目標地址上下載資料,每個線程負 責下載一部分,並可以支援斷點續傳和逾時重連。下載的方法是download(),它接收兩個參數,分別是要下載的頁面的url和編 碼方式。在這個負責下載的方法中,主要分了三個步驟。第一步是用來設定斷點 續傳時候的一些資訊的,第二步就是主要的分多線程來下載了,最後是資料的合

Java理論與實踐:平衡測試,第2部分:編寫和最佳化bug檢測器

這一簡短系列的 第 1 部分 介紹了如何進行有效測試,它構建了 FindBugs 外掛程式來尋找一個簡單的 bug 模式(只需調用 System.gc() 即可)。Bug 模式會 標識有問題的編碼實踐,它們常常位於 bug 所在的地區。當然,並不是所有出 現 bug 模式的地方都一定出現 bug,但這並不能抹殺 bug 模式檢測器的巨大作 用。一個有效 bug 模式檢測器的主要功能是發現更高百分比的可疑代碼,使該 模式具有更大的使用價值。建立 bug 模式檢測器可以提高使用價值;建立檢測

Java理論與實踐: 您的小數點到哪裡去了?

許多程式員在其整個開發生涯中都不曾使用定點或浮點數,可能的例外是, 偶爾在計時測試或基準測試程式中會用到。Java語言和類庫支援兩類非整數類型 ― IEEE 754 浮點( float 和 double ,封裝類(wrapper class)為 Float 和 Double ),以及任意精度的小數( java.math.BigDecimal )。在本月的 Java 理論和實踐中,Brian Goetz 探討了在 Java 程式中使用非整數類型時一

Windows系統巧用Rundll32卸載Java虛擬機器

在Windows系統中安裝和卸載程式是件非常容易的事情,一般使用者通過安裝和卸載程式嚮導就能很輕鬆地完成。但安裝和卸載Windows程式還有些鮮為人知的小技巧,使用Rundll32命令安裝和卸載Windows程式就是其中之一,可能你從來還沒接觸過,下面我們就一起領略它的神奇功能吧!提示:Rundll32.exe是

Java理論與實踐: 變還是不變?

不變對象是指在執行個體化後其外部可見狀態無法更改的對象。Java 類庫中的 String 、 Integer 和 BigDecimal 類就是不變對象的樣本 ― 它們表示在對象 的生命期內無法更改的單個值。不變性的長處如果正確使用不變類,它們會極大地簡化編程。因為它們只能處於一種狀態 ,所以只要正確構造了它們,就決不會陷入不一致的狀態。您不必複製或複製不 變對象,就能自由地共用和快取對它們的引用;您可以快取它們的欄位 或其方法的結果,而不用擔心值會不會變成失效的或與對象的其它狀態不一致。

Java理論與實踐: Web層的狀態複製

不管正在構建的是 J2EE 還是 J2SE 伺服器應用程式,都有可能以某種方式 使用 Java Servlet —— 可能是直接地通過像 JSP 技術、Velocity 或者 WebMacro 這樣的展示層,也可能通過一個基於 servlet 的 Web 服務實現,如 Axis 或者 Glue。Servlet API 提供的一個最重要的功能是會話管理 —— 通過 HttpSession 介面進行使用者狀態的認證、失效和維護。工作階段狀態幾乎每一個

Java理論與實踐: JVM 1.4.1中的垃圾收集

上個月,我們分析了引用計數、複製、標記-清除和標記-整理這些經典的垃 圾收集技術。其中每一種方法在特定條件下都有其優點和缺點。例如,當有很多 對象成為垃圾時,複製可以做得很好,但是有許多長壽對象時它就變得很糟(要 反覆複製它們)。相反,標記-整理對於長壽對象可以做得很好(只複製一次) ,但是當有許多短壽對象時就沒有那麼好了。JVM 1.2 及以後版本使用的技術稱 為 分代垃圾收集(generational garbage collection),它結合了這兩種技術

使用Java實現資料報通訊過程

資料報(Datagram)使網路層資料單元在介質上傳輸資訊的一種邏輯分組格式,它是一種在網路中傳播的、獨立的、自身包含地址資訊的訊息,它能否到達目的地,到達的時間,到達時內容是否會變化不能準確知道的。它的通訊雙方是不需要建立串連的,對於一些不需要很高品質的應用程式來說,資料報通訊是一個非常好的選擇。在Java的java.net包中有兩個類DatagramSocket和DatagramPacket,為應用程式中採用資料報通訊方式進行網路通訊。下面,我想詳細解釋在Java中實現用戶端與伺服器之間資料

Java中的包和文檔

什麼是包Java中的包(Package)其實指的就是目錄,它是為了更好地管理Java類(Class)和介面(Interface)。Java語言的包可以被另一個Java開發包所使用。如果我們要引用某個包中的類,用import關鍵字來標明即可。比如:import java.util.date=new Date提示:import java.util.表示java.util中的所有公有類和介面被引入到當前包。這裡的匹配符可以調入多個類名。常用的Java標準包JDK為我們提供了很多標準的Java類和介面,

Java程式長時間運行時自動結束可能的原因

我有一個Java程式,啟動了七個線程,這些線程都形如:public void run() {while (true) {try {......} catch (Throwable t)

Java操作Excel完美解決方案

只要有表格,就會有Microsoft Excel,用Microsoft Excel處理資料已成為不少人的習慣。Jakarta POI API就為Java程式員提供了一條存取Microsoft文檔格式的神奇之路,其中最成熟的就是能存取Microsoft Excel文檔的HSSF API。本篇文章就舉例示範如何利用Java 建立和讀取Excel文檔,並設定儲存格的字型和格式。為了保證樣本程式的運行,必須安裝Java 2 sdk1.4.0 和Jakarta POI,Jakarta

最大化J2EE和資料庫互動操作的效能

概述:大多數應用程式效能管理(APM)解決方案都只考慮和分析J2EE應用程式的某個層次的效能問題。這種方法不足以解決架構複雜的應用程式的效能問題。良好的APM工具應該能夠讓你從J2EE層深入到資料庫層以確保效能問題被快速地解決。情況並非越來越好,公司的網站效能下降到了極低點,失落的客戶開始尋找其它廠商了。IT調查機構開始調查並且認為J2EE應用程式是回應時間較差的罪魁禍首。這立即給J2EE開發小組帶來了很大的壓力,他們必須確定並解決這個問題。J2EE開發小組在進行了一些最初的調查之後,他們認為問

可擴充的Java應用程式開發模式

現在很多JAVA書籍,在介紹SWING的事件模型時,為了使JAVA初學者容易理解和上手,通常是在主類(自己的JFrame子類或JPanel)中做所有事情:要麼由主類作為監聽器,在介面的方法中通過判定事件來源來決定具體做何事;要麼在主類中使用內隱類來實現監聽器,(因為內隱類可以方便的訪問主類中的成員變數)。而很多JAVA初學者在往後的編程中也採用這種模式(至少我以前是這樣的)。其實,這種做法雖然簡單,卻缺乏可讀性、可擴充性和可維護性。之前我看到了一篇關於這個問題的文章(來自於《JavaPro》),

java api之實現(下)

封裝器實現封裝器實現是一種將它們的實際工作委託給一個特定對象集的實現,它在該 對象集 所提供的功能之上又增加了額外的功能。對design patterns(設計樣式)愛好者來說,這是一個 decorator(油漆工)樣式。雖然有點異國情調,但確實簡單明了。這些實現是匿名的:不是提供一個公用類,JDK 提供一個 static factory method(靜態方法)。所有這些都可以在僅包含靜態方法的Collections API 中找到。同步封裝器(Synchronization

總頁數: 4058 1 .... 1875 1876 1877 1878 1879 .... 4058 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.