Time of Update: 2017-01-19
對於Java程式員來說,null是令人頭痛的東西。時常會受到null
Time of Update: 2017-01-19
在Java編程中,使用private關鍵字修飾了某個成員,只有這個成員所在的類和這個類的方法可以使用,其他的類都無法訪問到這個private成員。上面描述了private修飾符的基本職能,今天來研究一下private功能失效的情況。Java內部類在Java中相信很多人都用過內部類,Java允許在一個類裡面定義另一個類,類裡面的類就是內部類,也叫做嵌套類。一個簡單的內部類實現可以如下複製代碼 代碼如下:class OuterClass { class
Time of Update: 2017-01-19
在處理大檔案時,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 來進行頻繁的讀寫操作,都將導致進程因頻繁讀寫外存而降低速度.如下為一個對比實驗。複製代碼 代碼如下:package test; import java.io.BufferedInputStream; import java.io.FileInputStream; import
Time of Update: 2017-01-19
1. 闡述對於Java中Map的遍曆方式,很多文章都推薦使用entrySet,認為其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,針對每個key,都要去Map中額外尋找一次value,從而降低了總體效率。那麼實際情況如何呢?為瞭解遍曆效能的真實差距,包括在遍曆key+value、遍曆key、遍曆value等不同情境下的差異,我試著進行了一些對比測試。2.
Time of Update: 2017-01-19
在實踐中,異常處理不單單是知道文法這麼簡單。編寫健壯的代碼是更像是一門藝術,在本文中,將討論Java異常處理最佳實務。這些Java最佳實務遵循標準的JDK庫,和幾個處理錯誤和異常的開原始碼。這還是一個提供給java程式員編寫健壯代碼的便利手冊。Java 編程中異常處理的最佳實務這裡是我收集的10個Java編程中進行異常處理的10最佳實務。在Java編程中對於檢查異常有褒有貶,強制處理異常是一門語言的功能。在本文中,我們將盡量減少使用檢查型異常,同時學會在Java編程中使用檢查型VS非檢查型異常。
Time of Update: 2017-01-19
芬蘭數學家因卡拉花費3個月設計出了世界上迄今難度最大的數獨遊戲,而且它只有一個答案。因卡拉說只有思考能力最快、頭腦最聰明的人才能破解這個遊戲。今日,一則騰訊的新聞稱中國老頭三天破解世界最難九宮格,雖然最後老人是改了一個數字,但是引起本人一時興趣,想通過電腦程式求解該問題,於是在宿舍呆了一下午,終於成功求解,程式源碼如下。複製代碼 代碼如下:package numberGame;public class Point { private int col;//
Time of Update: 2017-01-19
本文執行個體講述了如何計算(或者說,估算)一個Java對象佔用的記憶體數量的方法。分享給大家供大家參考。具體分析如下:通常,我們談論的堆記憶體使用量的前提是以“一般情況”為背景的。不包括下面兩種情形: 某些情況下,JVM根本就沒有把Object放入堆中。例如:原則上講,一個小的thread-local對象存在於棧中,而不是在堆中。被Object佔用記憶體的大小依賴於Object的目前狀態。例如:Object的同步鎖是否生效,或者,Object是否正在被回收。我們先來看看在堆中單個的Ob
Time of Update: 2017-01-19
本文執行個體講述了java實現清理DNS Cache的方法。分享給大家供大家參考。具體分析如下:一、測試環境OS:Windows7 x64JDK:1.6.0_45二、本人找到四種方式清理jvm的DNS緩衝,大家可以根據自己的情況選用。1. 在首次調用InetAddress.getByName()前,設定java.security.Security.setProperty("networkaddress.cache.ttl", "0");2.
Time of Update: 2017-01-19
本文執行個體講述了Java權重隨機的實現方法。分享給大家供大家參考。具體分析如下:權重隨機在項目中經常用到,所以我把它抽象到一個工具類中。一般實現隨機權重有兩種方式:1. 使用一個數組存放權重對應的實際目標,比如A的權重是2,B的權重是3,那麼數組長度為5, 數組前兩個存放A,後三個存放B。然後隨機一個[0-資料長度)的數字,直接取數組對應下標的值就可以了。優點:資料結構簡單,演算法高效,實現簡單缺點:當權重值比較大同時資料又比較多的時候,會浪費記憶體2. 使用區間演算法,從前到後依次疊加權重,
Time of Update: 2017-01-19
本文執行個體分析了Java中的傳值調用。分享給大家供大家參考。具體分析如下:Java以引用的方式操作對象執行個體可以確認的是Java中操作對象的方式是以引用的方式操作對象。為了更深刻的瞭解這點我寫了如下代碼:首先定義一個自訂類型複製代碼 代碼如下:public class Person { String name;
Time of Update: 2017-01-19
本文執行個體講述了Java對時間的簡單操作方法。分享給大家供大家參考。具體分析如下:這裡所用的Date指的是java.util.Date。ps:使用java操作時間感覺真真蛋疼,還是我大C#舒服,一個DateTime全部搞定擷取目前時間:複製代碼 代碼如下:// 建立一個目前時間的Date對象Date time = new Date();蛋疼的地方,對時間增、減操作:複製代碼 代碼如下:// 使用Calendar類對時間增、減操作Calendar c =
Time of Update: 2017-01-19
本文執行個體分析了java中成員變數與局部變數區別。分享給大家供大家參考。具體分析如下:成員變數:在這個類裡定義的私人變數,屬於這個類。建立以及使用成員變數複製代碼 代碼如下:public class Person { String name; String Sex; int age; double Height; &
Time of Update: 2017-01-19
本文執行個體講述了java中javamail發送帶附件的郵件實現方法。分享給大家供大家參考。具體分析如下:JavaMail,顧名思義,提供給開發人員處理電子郵件相關的編程介面。它是Sun發布的用來處理email的API。它可以方便地執行一些常用的郵件傳輸,JavaMail是可選包,因此如果需要使用的話你需要首先從java官網上下載。目前最新版本是JavaMail1.5.0,下面我們來看看javamail發送帶附件的郵件執行個體mail.java 代碼:複製代碼 代碼如下:package
Time of Update: 2017-01-19
本文執行個體講述了JAVA流控及超流控後的延遲處理方法。分享給大家供大家參考。具體實現方法如下:流控檢查(每半秒累計,因此最小留空閥值只能做到每秒2條):複製代碼 代碼如下:import java.text.SimpleDateFormat;import java.util.Date;import java.lang.Thread; /** * 流量控制 * * @author chenx */public class
Time of Update: 2017-01-19
本文執行個體講述了Java基於Tcp協議的socket編程方法,分享給大家供大家參考。具體分析如下:以下是一對一的通訊編程實現,後續會繼續學習一個伺服器監聽多個用戶端的實現。這裡用到的主要步驟如下:第一步:以特定連接埠(如4800)建立socket對象第二步:以系統輸入裝置構造BufferedReader對象,該對象用於接收系統鍵盤輸入的字元第三步:以socket對象 得到輸出資料流來構造PrintWriter第四步:以socket對象得到輸入資料流來構造相應的BufferedReader對象,
Time of Update: 2017-01-19
本文執行個體匯總了Java的System.getProperty()方法擷取資訊的用法。分享給大家供大家參考。具體如下:複製代碼 代碼如下:System.out.println("java版本號碼:" + System.getProperty("java.version")); // java版本號碼System.out.println("Java供應商名稱:" + System.getProperty("java.vendor")); //
Time of Update: 2017-01-19
本文執行個體講述了Java判斷時間段內檔案是否更新的方法。分享給大家供大家參考。具體實現方法如下:1.定時器複製代碼 代碼如下:private Timer timer; /** * 簡易定時器 * @param delay 多久後開始執行。毫秒 * @param period 執行的間隔時間。毫秒 */ public void test(long delay, long period) {
Time of Update: 2017-01-19
沒有用Java寫過程式,做為一個Java新手,在寫第一個Hello,world程式之前,先在Ubuntu中搭建Java開發環境。一、JDK安裝好吧,我選擇JDK1.6,是不是有點out了?1、下載JDK1.6,你可以到官網去下載,下載時請看清自己的系統版本,記得一定要下載相應的版本。http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html2、
Time of Update: 2017-01-19
通過java的File類建立臨時檔案,然後在程式退出時自動刪除臨時檔案。下面將通過建立一個JFrame介面,點擊建立按鈕在目前的目錄下面建立temp檔案夾且建立一個以mytempfile******.tmp格式的文字檔。代碼如下:複製代碼 代碼如下:import java.io.*;import java.util.*;import javax.swing.*;import java.awt.event.*;/** * 功能:
Time of Update: 2017-01-19
一、運行class檔案執行帶main方法的class檔案,命令列為:java <CLASS檔案名稱>注意:CLASS檔案名稱不要帶檔案尾碼.class例如:複製代碼 代碼如下:java Test如果執行的class檔案是帶包的,即在類檔案中使用了:package <包名>那應該在包的基路徑下執行,命令列為:java <包名>.CLASS檔案名稱例如:PackageTest.java中,其包名為:com.ee2ee.test,對應的語句為:package