Time of Update: 2018-12-04
研磨Java源碼--集合架構之Map 本文不求大而全,只是實際開發的角度來看待Java 集合架構的設計,總結出關於Java API的一些使用要點。同時也希望通過源碼的分析,總結出其中的一些設計思想和編碼規範,也是研磨之意。 HashMap Java中Map的hash實現。 雜湊方法:獲得key.hashCode()後,使用一個靜態static int hash(int
Time of Update: 2018-12-04
事情的起因:這些日子在部署Java程式時發現一個很讓人受不了的事情,就是每次要重啟Java的APP程式時就必須先PS出來進程ID,然後再用Kill去殺死進程,但如果伺服器只部署一兩個Java程式的情況下,這種操作還是可以讓人接受的,但如果伺服器有幾個或者幾十個Java程式時就讓人很鬱悶了,又加上啟動Java程式時使用-cp來載入jar庫檔案,一ps就出來一大堆的java及jar。。。。。再怎麼grep也還是看了眼花。 尋找解決方案:平時用Linux有時會看到pid檔案,
Time of Update: 2018-12-04
java中浮點數的計算今天在數值計算時碰到一個問題.程式如下: double a = (3.3-2.4)/0.1; System.out.println(a);你可能認為結果很簡單,不就是9嘛,是事實上,結果為:8.999999998,為什麼呢?我翻閱了一些資料,終於找出了原因.為什麼浮點數會丟失精度?
Time of Update: 2018-12-04
在Windows8系統中進行JAVA環境變數的配置Windows8是微軟最新和最具有革命性變化的作業系統。該系統旨在讓人們的日常電腦操作更加簡單和快捷,為人們提供高效易行的工作環境。目前,微軟官方已經提供Windows8系統下載,相信許多嘗鮮的網友已經在體驗了。其實,Windows8系統下JAVA環境變數的配置與之前的Windows7/xp等
Time of Update: 2018-12-04
1.簡單原廠模式:我建立一個“上帝類”創造出所有的類。2.Factory 方法模式:將工廠類進行抽象,建立不是類型的工廠類。3.抽象原廠模式:建立一個抽象的工廠父類,適合一系列產品的建立。1.簡單原廠模式public interface Car {public void run();}public class Bmw implements Car {public void run() {System.out.println("Bmw run()...");}}public class Benz
Time of Update: 2018-12-04
1、 對象的初始化 (1) 非靜態對象的初始化 在建立對象時,對象所在類的所有資料成員會首先進行初始化。 基本類型:int型,初始化為0。 如果為對象:這些對象會按順序初始化。 ※在所有類成員初始化完成之後,才調用本類的構造方法建立對象。 構造方法的作用就是初始化。 (2) 靜態對象的初始化 程式中主類的靜態變數會在main方法執行前初始化。
Time of Update: 2018-12-04
問題在前一小節,介紹了在多線程編程中使用同步機制的重要性,並學會了如何?同步的方法來正確地訪問共用資源。這些線程之間的關係是平等的,彼此之間並不存在任何依賴,它們各自競爭CPU資源,互不相讓,並且還無條件地阻止其他線程對共用資源的非同步訪問。然而,也有很多現實問題要求不僅要同步的訪問同一共用資源,而且線程間還彼此牽制,通過相互連信來向前推進。那麼,多個線程之間是如何進行通訊的呢?解決思路在現實應用中,很多時候都需要讓多個線程按照一定的次序來訪問共用資源,例如,經典的生產者和消費者問題。這類問題描
Time of Update: 2018-12-04
Java中Ear、Jar、War檔案之間有何不同?2008-09-17 12:28在檔案結構上,三者並沒有什麼不同,它們都採用zip或jar檔案檔案壓縮格式。但是它們的使用目的有所區別: Jar檔案(副檔名為. Jar)包含Java類的普通庫、資源(resources)、輔助檔案(auxiliary files)等 War檔案(副檔名為.War)包含全部Web應用程式。在這種情形下,一個Web應用程式被定義為單獨的一組檔案、類和資源,使用者可以對jar檔案進行封裝,並把它作為小型服務程式(
Time of Update: 2018-12-04
摘要:有時候,在Java應用程式開發中,如:遠程監控或遠程教學,常常需要對電腦的螢幕進行截取,由於螢幕截取是比較接近作業系統的操作,在Windows作業系統下,該操作幾乎成了VC、VB等的專利,事實上,使用Java JDK1.4 的Robot對象,來完成"螢幕截取操作,更加簡單。Java JDK1.4
Time of Update: 2018-12-04
玩過市面上一些java手機遊戲,發現很多遊戲的按鍵處理有問題,不是不靈敏,就是不支援多鍵同步選取.作為一個骨灰級的遊戲職業玩家,我實在不能忍受這種不人性化的遊戲設計,所以小弟分析了一下具體原因: 1) 如果是用MIDP1.0來處理連續的按鍵訊息:按照要求,應該利用3個函數keyPressed(int keycode), keyReleased(int keycode), keyRepeated(int
Time of Update: 2018-12-04
Java對象及引用是容易混淆卻又必須掌握的基礎知識,本文闡述Java對象和引用的概念,以及與其密切相關的參數傳遞。 先看下面的程式: StringBuffer s; s = new StringBuffer("Hello World!"); 第一個語句僅為引用(reference)分配了空間,而第二個語句則通過調用類(StringBuffer)的建構函式StringBuffer(String
Time of Update: 2018-12-04
移位元運算符就是在二進位的基礎上對數字進行平移。按照平移的方向和填充數位規則分為三種:<<(左移)、>>(帶符號右移)和>>>(無符號右移)。 在移位元運算時,byte、short和char類型移位後的結果會變成int類型,對於byte、short、char和int進行移位時,規定實際移動的次數是移動次數和32的餘數,也就是移位33次和移位1次得到的結果相同。移動long型的數值時,規定實際移動的次數是移動次數和64的餘數,也就是移動66次和移動2次
Time of Update: 2018-12-04
javanull 指標異常的分析(1) JAVA語言中有“異常機制”來處理常式中的特殊情況,例如被除數為零就是一種“異常情況”。 null 指標異常java.lang.NullPointerException是很常見的一種異常,我們來談論一下它的分析方法。 使用基本的JAVA資料類型,變數的值要麼已經是預設值,如果沒有對其正常賦值,程式便不能通過編譯,因此使用基本的JAVA資料類型(double,float,boolean,char,int,long)一般不會引起null
Time of Update: 2018-12-04
layout下建立了XML檔案,但R.java中沒有產生id(已解決) 描述:方案1.xml出錯了,導致程式不能自動編譯,將大寫改成小寫,xml命名不能有大寫字母的。 2. 右鍵--》Android tools --> fix project properties 3.是不是你的代碼有語法錯誤,導致不能產生r.java clean一下 4.那就重新指定下sdk版本。 clear之後,就這兩種辦法 加上refresh,基本上都管用 不過有時候多試幾次才行
Time of Update: 2018-12-04
一、概述 Process類是一個抽象類別(所有的方法均是抽象的),封裝了一個進程(即一個執行程式)。 Process 類提供了執行從進程輸入、執行輸出到進程、等待進程完成、檢查進程的退出狀態以及銷毀(殺掉)進程的方法。 ProcessBuilder.start() 和 Runtime.exec 方法建立一個本機進程,並返回 Process 子類的一個執行個體,該執行個體可用來控制進程並擷取相關資訊。
Time of Update: 2018-12-04
本文列述了13個Java程式員應當學習Flex和BlazeDS的理由,討論了為什麼Flex結合BlazeDS是開發RIA的最佳組合之一。無論是高度互動的網站還是以Java為後端的公司專屬應用程式,這項組合都是最佳選擇之一。更重要的是,這項組合能同時為開發員和企業帶來高回報(ROI)。 在闡述Java程式員應當學習BlazeDS的13條理由時,我以一個假想的蘇打指派系統來展示如何讓已有的Java程式轉變為RIA應用。通過這個例子,我同時還會講解到BlazeDS在已有Java應用或建立Java應用中
Time of Update: 2018-12-04
http://www.2cto.com/kf/200609/13539.html由於java interface中聲明的欄位在編譯時間會自動加上static
Time of Update: 2018-12-04
R.java was modified manually! Reverting to generated version!進入 eclipse後,菜單 --> Project --> clean,這樣的操作就相當於把R檔案刪了,然後再自動產生R檔案。如果沒有自動產生R檔案,那麼就是程式中有錯誤,一般情況下是命名問題。我遇到的情況是:(1)layout檔案夾中,不同的
Time of Update: 2018-12-04
Java語言的一個重要特性是引入了自動的記憶體管理機制,使得開發人員不用自己來管理應用中的記憶體。C/C++開發人員需要通過malloc/free 和new/delete等函數來顯式的分配和釋放記憶體。這對開發人員提出了比較高的要求,容易造成記憶體訪問錯誤和記憶體泄露等問題。一個常見的問題是會產生“懸掛引用(dangling
Time of Update: 2018-12-04
此次培訓糅合了當今最新的Java思想、Java技術,以及眾多的Java新特性。為期半個月,半個月時間內帶領大家全面學習Java核心基礎、物件導向、設計模式、J2SE6新特性、Java反射、代理、註解、枚舉等Java進階開發技術、Eclipse開發環境、就業面試剖析。人手一機,邊講邊練。費用:免費講師:張孝祥詳情請查看:http://www.itcast.cn/itcast_static/javajz.htm