Time of Update: 2017-01-13
下面是Java線程相關的熱門面試題,你可以用它來好好準備面試。1) 什麼是線程?線程是作業系統能夠進行運算調度的最小單位,它被包含在進程之中,是進程中的實際運作單位。程式員可以通過它進行多處理器編程,你可以使用多線程對運算密集型任務提速。比如,如果一個線程完成一個任務要100毫秒,那麼用十個線程完成改任務只需10毫秒。Java在語言層面對多線程提供了卓越的支援,它也是一個很好的賣點。2)
Time of Update: 2017-01-13
1.使用索引(index)來遍曆List2.使用Iterator來遍曆List。(for-each其實也是利用Iterator)注意:如果僅僅是遍曆,那麼可以可以使用索引或Iterator來遍曆。但是,如果你在遍曆的同時還要刪除元素,則最好使用Iterator來遍曆和刪除元素,這樣可以避免ConcurrentModificationException異常。下面是使用for、for-each和Iterator來遍曆執行個體代碼:import java.util.Arrays;import
Time of Update: 2017-01-13
記憶體回收演算法基本思想:1.枚舉根節點(GC Roots)在記憶體回收時,我們要想辦法找出哪些對象是存活的,一般會選取一些被稱為GC Root的對象,從這些對象開始枚舉。枚舉時要求所有對象停下來,也就是大家所稱的“Stop the world”。所有的演算法實現都會將虛擬機器停下來的,否則分析結果的準確性將無法保證。當執行系統停頓下來之後,虛擬機器不需要遍曆所有的根節點和上下文去確定GC
Time of Update: 2017-01-13
(問題一:什麼叫記憶體回收機制?) 記憶體回收是一種動態儲存裝置管理技術,它自動地釋放不再被程式引用的對象,按照特定的垃圾收集演算法來實現資源自動回收的功能。當一個對象不再被引用的時候,記憶體回收它佔領的空間,以便空間被後來的新對象使用,以免造成記憶體泄露。(問題二:java的記憶體回收有什麼特點?) JAVA語言不允許程式員直接控制記憶體空間的使用。記憶體空間的分配和回收都是由JRE負責在後台自動進行的,尤其是無用記憶體空間的回收操作
Time of Update: 2017-01-13
大家知道,Java中string.intern()方法調用會先去字串常量池中尋找相應的字串,如果字串不存在,就會在字串常量池中建立該字串然後再返回。字串常量池是一個固定大小的HashMap,桶的數量預設是1009, 從Java7u40開始,該預設值增大到60013。在Java6當中,字串常量池是放在Perm空間的,從Java7開始,字串常量池被移到 Heap空間。下面,我們通過測試程式來窺探字串常量池在Java6,Java7兩個不同版本底下的記憶體配置情況。測試程式
Time of Update: 2017-01-13
當我們僅僅需要a+b 的時候,兩個字串連結任何方法的效率基本一樣,都在0.0001毫秒內就可以完成。不過如果需要1萬次,10000萬次,就會發現string自身的join速度顯著下降 代碼如下複製代碼 package com.java.lang; public class StringTest { int MAX = 10000; //1萬次累加 public String Buffer(){ StringBuffer
Time of Update: 2017-01-13
首先文法定義上的區別:靜態變數前要加static關鍵字,而執行個體變數前則不加。在程式運行時的區別:執行個體變數屬於某個對象的屬性,必須建立了執行個體對象,其中的執行個體變數才會被分配空間,才能使用這個執行個體變數。靜態變數不屬於某個執行個體對象,而是屬於類,所以也稱為類變數,只要程式載入了類的位元組碼,不用建立任何執行個體對象,靜態變數就會被分配空間,靜態變數就可以被使用了。總之,執行個體變數必須建立對象後才可以通過這個對象來使用 代碼如下複製代碼 package
Time of Update: 2017-01-13
就是一個無法判斷的拼音,最後會變成這個比如 鐸 這個字 拼音為duo 會被誤判後來發現一個拼音包net.sourceforge.pinyin4j下載去這裡 http://pinyin4j.sourceforge.net/ 代碼如下複製代碼 package com.javaer.examples; import net.sourceforge.pinyin4j.PinyinHelper;import
Time of Update: 2017-01-13
RabbitMQ是一個很受歡迎的訊息中介軟體,通過它可以很方便地實現異構子系統之間的通訊,還可以將不同子系統之間進行解耦。它用erlang開發,基本上是實現了AMQP 1.0標準的訊息協議。瞭解RabbitMQ首先要瞭解以下一些概念:Message,Producer、Exchange、Queue、ConsumerMessage是一些簡單的字串,
Time of Update: 2017-01-13
java 自動裝箱拆箱實現方法什麼是自動裝箱拆箱基礎資料型別 (Elementary Data Type)的自動裝箱(autoboxing)、拆箱(unboxing)是自j2se 5.0開始提供的功能。 一般我們要建立一個類的對象的時候,我們會這樣:class a = new class(parameter);當我們建立一個integer對象時,卻可以這樣:integer i = 100; (注意:不是 int i = 100; )實際上,上面那句代碼相當於:integer i =
Time of Update: 2017-01-13
代碼如下複製代碼 package com.system.oss.common.util; /** * 動態產生隨機字元數組 * * @author 蘇持恒 */ public class ShortMessageCodeUntil { /** * 隨機產生4位元字字元數組
Time of Update: 2017-01-13
1. 說明本文檔是Java入門學習筆記,本文檔的所有例子都在window xp下編輯成功,即預設作業系統為window xp,並且認為JDK已成功安裝。如有不當之處,請一定指出(email: 828033@tzenet.com),共同進步。本文檔不介紹物件導向的基本思想,只記錄與Java有關的內容。2. Hello World按慣例寫一個hello world作為Java學習的入門。開啟文字編輯器,輸入以下代碼:class HelloWorld { public static void
Time of Update: 2017-01-13
java static 靜態變數初始化static final int NUMBER_OF_MONTHS = 12;static final float PI = (float) 22 / 7;如果你想使一個靜態變數在其它地方可以引用的話,如下public static final int NUMBER_OF_MONTHS = 12;public static final float PI = (float) 22 / 7;寫在函數中public class MainClass {
Time of Update: 2017-01-13
java 抽象類別與介面的定義Jvm :抽象規範;一個具體實現一個啟動並執行虛擬機器執行個體裝載器: 啟動類裝載器,自訂裝載器(繼承 java.lang.ClassLoader )解析的內型資訊放入方法區,對象放入堆,一個新線程,有自己 java 棧放中間資料, pc 計數器。介面與抽象類別深入java
Time of Update: 2017-01-13
最近學習java,發現在''u0000''居然在dos視窗中顯示成了a。對此百思不得其解,開始懷疑是電腦的問題,可是 換了幾點電腦後發現都顯示的是a,然後又覺得是系統的問題,又感覺是點陣顯示的問題········· &
Time of Update: 2017-01-13
Precedence Operator Description
Time of Update: 2017-01-13
java產生excel強制換行代碼首先在需要強制換行的儲存格裡使用poi的樣式,並且把樣式設定為自動換行 java代碼 1. hssfcellstyle cellstyle=workbook.createcellstyle(); 2. cellstyle.setwraptext(true); 3.
Time of Update: 2017-01-13
java 線上拍照代碼在數位相機的普及(尤其是在電話手機),導致其價格下降就像他們的規模大幅縮水。它現在越來越難找到,即使沒有網路攝影機的手機,和機器人裝置不可能例外。要訪問相機的硬體,你需要添加到您的照相機許可應用程式資訊清單,如下所示:<uses-permission
Time of Update: 2017-01-13
本文簡單介紹了JCE架構的核心應用!javax.crypto.Cipher此類為加密和解密提供密碼功能。它構成了 Java Cryptographic Extension (JCE) 架構的核心。為建立 Cipher 對象,應用程式調用 Cipher 的 getInstance 方法並將所請求轉換 的名稱傳遞給它。還可以指定提供者的名稱(可選)。 轉換
Time of Update: 2017-01-13
至今,毫無疑問你已經看過不止一篇網上文章列舉了Java5.0的偉大的語言新特性:泛型,標註,枚舉類型,自動裝箱,可變參數, for/in迴圈,甚至靜態引入。我也認為這些是偉大的特性,但是,你已經讀過他們了。因此,在此我將集中於你可能沒有聽說過的Java5.0的新API特性。 那麼,在下面,是我喜歡的Java5.0的五個新API特性。那些看完本文後的細心的讀者會發現額外的獎勵—第六個特性:很少有人知道的Java5.0支援的新語言文法,當然使用者就更少了。我非常喜歡它,因為它很新異。