Time of Update: 2018-12-03
Java.util.Collections類包的學習 1. 描述: 1.1 概述 java.util.Collections類包含很多有用的方法,可以使程式員的工作變得更加容易,但是這些方法通常都沒有被充分地利用。Javadoc給出Collections類最完整的描述:“這一個類包含可以操作或返回集合的專用靜態類。” 1.2 所含方法 Iterator, ArrayList, Elements, Buffer, Map,Collections 列子: import
Time of Update: 2018-12-03
可變長參數: 底層就是一個數組,只能出現在方法的形參裡,不能定義1)可變長參數的方法只有在必須的時候才會調用,如果有確切匹配的不可變參數的方法,會優先選擇不可變參數的方法;2)如果兩個方法都是可變長參數,都能匹配時,會編譯通不過;編譯器不知道調用哪個;3)一個方法只能有一個可變長參數,並且這個可變長參數必須是該方法的最後一個參數;例子:main 方法就是將若干個字串封裝成數組String[] 與 String...
Time of Update: 2018-12-03
|--------TreeSet 資料結構是二叉樹,比較方式很優秀,遍曆的速度很快。TreeSet可以對集合中的元素進行排序:一、讓元素自身具有比較性: 實現Comparable介面,並且覆蓋裡面的compareTo方法。通過teturn 0判斷元素是否相同,來保證資料的唯一性。[java] view plaincopyprint?class Person implements Comparable{ private String name;private int age;public
Time of Update: 2018-12-03
由於工作需要,最近研究了下java事件監聽機制。有時候需要自訂事件監聽來完成特定的任務。下面介紹一下自訂事件監聽的建立和使用。(其實網上已有好多寫好的例子,這次只是記錄下自己的學習心得)java中的事件機制的參與者有3種角色: 1.event object:就是事件產生時具體的“事件”,用於listener的相應的方法之中,作為參數,一般存在於listerner的方法之中2.event source:具體的接受事件的實體,比如說,你點擊一個button,那麼button就是event
Time of Update: 2018-12-03
There are 2 types of IO stream1. Byte streams that are subclasses of InputStream or OutputStream2. Character streams that are subclasses of Reader and Writer InputStream/OutputStream and Reader/Writer are abstract class Their class hierarchy is show:
Time of Update: 2018-12-03
Volatile修飾的成員變數在每次被線程訪問時,都強迫從共用記憶體中重讀該成員變數的值。而且,當成員變數發生變化時,強迫線程將變化值回寫到共用記憶體。這樣在任何時刻,兩個不同的線程總是看到某個成員變數的同一個值。Java語言規範中指出:為了獲得最佳速度,允許線程儲存共用成員變數的私人拷貝,而且只當線程進入或者離開同步代碼塊時才與共用成員變數的原始值對比。這樣當多個線程同時與某個對象互動時,就必須要注意到要讓線程及時的得到共用成員變數的變化。而volatile關鍵字就是提示VM:對於這個成員變
Time of Update: 2018-12-03
學Java也有些年頭了,但無時無刻不深感Java基礎知識、Java的OO以及Java的API也就是所謂的Core Java之重要性,從來不敢放鬆對它們的反覆學習和提煉。並且事實證明在對它們的慢慢積累和深透的學習中悟出更多的編程之道,編程能力也在一步步見長。即使在轉而學其它語言的時候應用相應套路也會事半功倍(不過抓住不同語言之區別也至關重要,要不會走很多彎路)。最近決定重讀Core
Time of Update: 2018-12-03
Pipes in Java IO provides the ability for two threads running in the same JVM to communicate. As such pipes are a common source or destination of data.The pipe concept in Java is thus a bit different from the pipe concept in Unix / Linux, where two
Time of Update: 2018-12-03
記憶體配置策略 按照編譯原理的觀點,程式運行時的記憶體配置有三種策略,分別是靜態,棧式的,和堆式的. 靜態儲存分配是指在編譯時間就能確定每個資料目標在運行時刻的儲存空間需求,因而在編譯時間就可以給他們分配固定的記憶體空間.這種分配策略要求程式碼中不允
Time of Update: 2018-12-03
MD5 即Message-Digest Algorithm 5(資訊-摘要演算法5 ),是一種用於產生數位簽章的單項散列算 法,在1991年由MIT Laboratory for Computer Science(MIT電腦科學實驗室)和RSA Data Security Inc(RSA資料安全公司)的Ronald L.
Time of Update: 2018-12-03
run() 和start() 是大家都很熟悉的兩個方法。把希望平行處理的代碼都放在run() 中;stat() 用於自動調用run(),這是JAVA的內在機制規定的。並且run() 的存取控制符必須是public,傳回值必須是void(這種說法不準確,run() 沒有傳回值),run()不帶參數。閑話少說,我們要講的是join(),我們首先來看個例子:代碼:/*** @author QingHe* Creation on 2005-12-19*/public class ThreadTest
Time of Update: 2018-12-03
. java.net.InetAddress類的使用1.1.
Time of Update: 2018-12-03
在interface裡面的變數都是public static final 的。所以你可以這樣寫:public static final int i=10;或則int
Time of Update: 2018-12-03
【注】JAVA沒有unsigned類型 Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字元類型,還有一種布爾型。 1、整數:包括int,short,byte,long 2、浮點型:float,double 3、字元:char 4、布爾:boolean基本型別大小最小值最大值boolean----------------char16-bitUnicode 0Unicode 2^16-1byte8-bit-128+127short16-bit-2^15+2^1
Time of Update: 2018-12-03
abstract class和interface是Java語言中對於抽象類別定義進行支援的兩種機制,正是由於這兩種機制的存在,才賦予了Java強大的物件導向能力。 abstract class和interface之間在對於抽象類別定義的支援方面具有很大的相似性,甚至可以相互替換,因此很多開發人員在進行抽象類別定義時對於 abstract class和interface的選擇顯得比較隨意。其實,兩者之間還是有很大的區別的,對於它們的選擇甚至反映出對於問題領域本質的理解、對於設計意圖的理解是否正確、
Time of Update: 2018-12-03
【IT168 技術】當調用java命令運行某個Java程式時,該命令將啟動一條Java虛擬機器進程,同一個JVM的所有線程,所有變數都處於同一進程裡,它們都是用該JVM進程的記憶體區。程式運行到最後正常結束。 程式運行到使用System.exit()或Runtime().exit()代碼結束程式。 程式執行過程中遇到未捕獲的異常或錯誤而結束。
Time of Update: 2018-12-03
對於Java開發人員,多線程應該是必須熟練應用的知識點,特別是開發基於Java語言的產品。本文將深入淺出的表述Java多線程的知識點,在後續的系列裡將側重於Java5由Doug
Time of Update: 2018-12-03
總結在Java裡面Heap和Stack分別儲存資料的不同。 Heap(堆) Stack(棧) JVM中的功能 記憶體資料區 記憶體指令區 儲存資料 對象執行個體(1) 基礎資料型別 (Elementary Data Type), 指令代碼,常量,對象的引用地址(2) 1. 儲存對象執行個體,實際上是儲存對象執行個體的屬性值,屬性的類型和對象本身的類型標記等,並不儲存對象的方法(方法是指令,儲存在stack中)。
Time of Update: 2018-12-03
NaN就是一個常量值,表示某一個對象是非數量而已。不過,這個值只能存在於double,float這些浮點類型變數的值中。下面是轉載的文章,估計足以說明這個主題:今天偵錯工具時,意外的發現java的浮點數中也有NaN,留下來做個記錄。Java代碼 /** * 測試java浮點數中存在的NaN * @author ayis * * Feb 23, 2009 */ public class TestNaN {public staticvoid main(String args[]){ //
Time of Update: 2018-12-03
第一、演算法原理針對數組中的一個數(這個數叫做pivot),將這個數組劃分成兩個部分:左邊的每個元素都比pivot小;右邊的每個元素都比pivot大。然後,再分別在左右兩個部分遞迴地進行這種劃分的操作。如此說比較籠統,在這個大方向上實際上是隱含著兩個重要的地方:1、如何確定pivot2、如何劃分至於如何確定pivot這點先預設認為是取數組中的第一個元素,在下文將會針對取pivot,提出提高效率的方案。而至於如何劃分,這點需要在這裡馬上說明。在這裡的劃分,是基於兩個元素的位置交換實現的。而需要互換