Time of Update: 2017-01-13
使用環境: eclipse+maven+spring+quartz1使用目的:執行定時器完成掃描操作.疑惑點: 使用quartz2版本會出現莫名的錯誤,類似介面與類定義方面的不同.看了一下文檔,也沒有搞清楚.使用步驟:1. 配置maven的設定檔(配置使用的是quartz1版本),pom.xml加一下代碼: 代碼如下複製代碼 <!--添加Quartz架構
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
java.util.Arrays 類中提供了幾個靜態方法用來對數組進行排序。例如:使用Arrays.sort(),然後將數組作為參數傳入,然後返回排序完的數組。java中,我們也可以使用升序或降序,或者是自訂comparator來進行排序。對java數組進行升序排序對數組(String,int等類型)進行升序排序,我們可以直接使用Arrays.sort()方法,該方法會預設根據CompareTo方法實現的自然順序(natral
Time of Update: 2017-01-13
記憶體回收演算法基本思想:1.枚舉根節點(GC Roots)在記憶體回收時,我們要想辦法找出哪些對象是存活的,一般會選取一些被稱為GC Root的對象,從這些對象開始枚舉。枚舉時要求所有對象停下來,也就是大家所稱的“Stop the world”。所有的演算法實現都會將虛擬機器停下來的,否則分析結果的準確性將無法保證。當執行系統停頓下來之後,虛擬機器不需要遍曆所有的根節點和上下文去確定GC
Time of Update: 2017-01-13
這一小節概述了try-catch-finally
Time of Update: 2017-01-13
例子一 代碼如下複製代碼 package com.yq1012.fastjson;import java.util.ArrayList;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;public class TestListTojson { public static void
Time of Update: 2017-01-13
在Android系統中進行JSON解析時碰到以下問題:org.json.JSONException: Value  of type java.lang.String cannot be converted to JSONObject使用Notepad++設定檔案編碼時,採用utf8編碼,出現上面的問題。原因是檔案中包含了utf8 bom頭資訊。採用utf8無BOM格式編碼的形式即可。具體設定,查看下圖:補充: bom格式處理
Time of Update: 2017-01-13
1. 右鍵“電腦”->“屬性”->“進階系統設定”,在彈出的選項中點擊下方的“環境變數”,進入設定環境變數的選項卡。然後點擊建立,如圖4步所示,會彈出一個建立系統變數的設定框,變數名填JAVA_HOME變數值填寫你jdk的安裝目錄(我的是 D:\jdk7),填好之後,點擊確定按鈕即可,如下圖。 2.
Time of Update: 2017-01-13
HashMap中底層資料的長度總是2的n次方在某個元素存入HashMap底層數組時,為確定其位置,最直接的方式是對其模數,這樣能夠均勻的分布到數組中。這裡比較取巧的是,當數組長為2的n次方時,通過h&(length-1)能夠高效的算出hash值。/** * Returns index for hash code h. */static int indexFor(int h, int length) { // assert
Time of Update: 2017-01-13
我嘗試過把Lambda運算式融入到My
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
RabbitMQ是一個很受歡迎的訊息中介軟體,通過它可以很方便地實現異構子系統之間的通訊,還可以將不同子系統之間進行解耦。它用erlang開發,基本上是實現了AMQP 1.0標準的訊息協議。瞭解RabbitMQ首先要瞭解以下一些概念:Message,Producer、Exchange、Queue、ConsumerMessage是一些簡單的字串,
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
在switch語中,break語句用來終止switch語句的執行。使程式 switch語句後的第一個語句 開始執行。在Java中,可以為每個代碼塊加一個括弧,一個代碼塊通常 用大括弧{}括起來的一段 代碼。加標號的格式break語句有兩種形式:無標籤和有標籤。無標籤的break語句用來跳出單層switch、for、while、or do-while 迴圈,而有標籤的break語句則用來跳出嵌套的switch、for、while、or
Time of Update: 2017-01-13
Precedence Operator Description
Time of Update: 2017-01-13
本文簡單介紹了JCE架構的核心應用!javax.crypto.Cipher此類為加密和解密提供密碼功能。它構成了 Java Cryptographic Extension (JCE) 架構的核心。為建立 Cipher 對象,應用程式調用 Cipher 的 getInstance 方法並將所請求轉換 的名稱傳遞給它。還可以指定提供者的名稱(可選)。 轉換
Time of Update: 2017-01-13
import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;//圖片的拖動效果public class DragPictureDemo extends JFrame { JLabel jlPic; //圖片,用於拖動 public DragPictureDemo() { super("