Time of Update: 2017-01-19
關鍵點 為什麼不能使用String.compareTo方法來比較用戶端版本號碼?
Time of Update: 2017-01-19
Wait-Notify情境典型的Wait-Notify情境一般與以下兩個內容相關:1. 狀態變數(State Variable)當線程需要wait的時候,總是因為一些條件得不到滿足導致的。例如往隊列裡填充資料,當隊列元素已經滿時,線程就需要wait停止運行。當隊列元素有空缺時,再繼續自己的執行。2. 條件斷言(Condition
Time of Update: 2017-01-19
概述對於多線程程式來說,生產者和消費者模型是非常經典的模型。更加準確的說,應該叫“生產者-消費者-倉庫模型”。離開了倉庫,生產者、消費者就缺少了共用的儲存空間,也就不存在並非協作的問題了。樣本定義一個情境。一個倉庫只允許存放10件商品,生產者每次可以向其中放入一個商品,消費者可以每次從其中取出一個商品。同時,需要注意以下4點:1. 同一時間內只能有一個生產者生產,生產方法需要加鎖synchronized。2.
Time of Update: 2017-01-19
前言 今天在看Android ContentProvider實現的時候,突然想到了Java類在new的過程中,靜態域、靜態塊、非靜態域、非靜態塊、建構函式的執行順序問題。其實這是一個很經典的問題,非常考察對Java基礎知識的掌握程度。很多面試過程中相信也有這樣的問題,趁著周末有時間複習一下。結論 這裡先把整理好的結論拋給大家,然後我在寫個程式來驗證我們的結論。在Java類被new的過程中,執行順序如下:
Time of Update: 2017-01-19
這個思路是我參考網上而來,代碼是我實現。採用Apache下面的OpenOffice將資源檔轉化為pdf檔案,然後將pdf檔案轉化為swf檔案,用FlexPaper瀏覽。ok,A、下載OpenOffice (轉換資源檔)B、下載JodConverter(調用OpenOffice)C、下載Swftools(Pdf2Swf)D、下載 FlexPaper(瀏覽swf檔案)下載之後,先別急安裝,請看完這篇博文1、先看我們的MyEclipse工程結構2、將我們下載下來的jodconverter-2.2.2.
Time of Update: 2017-01-19
final含義final是Java中的一個保留關鍵字,可以聲明成員變數、方法和類。一旦你將引用聲明為final類型,你將不能再改變這個引用了。編譯器會檢查代碼,如果你試圖將變數再次初始化的話,編譯器會報編譯錯誤。final變數凡是對成員變數或者本地變數(在方法中的或者代碼塊中的變數稱為本地變數)聲明為final的都叫做final變數。下面是final修飾變數的例子:final int constValue = 1;// constValue = 2; The final local
Time of Update: 2017-01-19
本文執行個體講述了Java實現二分尋找演算法。分享給大家供大家參考。具體如下:1. 前提:二分尋找的前提是需要尋找的數組必須是已排序的,我們這裡的實現預設為升序2.
Time of Update: 2017-01-19
本文執行個體講述了java使用ArrayList遍曆及效率比較。分享給大家供大家參考。具體如下:ArrayList arrL = new ArrayList();ArrayList arrLTmp1 = new ArrayList();ArrayList arrLTmp2 = new ArrayList();ArrayList arrLTmp3 = new ArrayList();ArrayList arrLTmp4 = new ArrayList();for (int i=0;i<100
Time of Update: 2017-01-19
package com.wa.xwolf.sblog.util; import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.InputStreamReader;import java.nio.charset.Charset; public class ProcessUtil { public static void main(String[] args) throws
Time of Update: 2017-01-19
引言垃圾收集技術並不是Java語言首創的,1960年誕生於MIT的Lisp是第一門真正使用記憶體動態分配和垃圾收集技術的語言。垃圾收集技術需要考慮的三個問題是:1、哪些記憶體需要回收2、什麼時候回收3、如何回收java記憶體運行時地區的分布,其中程式計數器,虛擬機器棧,本地方法區都是隨著線程而生,隨線程而滅,所以這幾個地區就不需要過多考慮回收問題。但是堆和方法區就不一樣了,只有在程式運行期間我們才知道會建立哪些對象,這部分記憶體的分配和回收都是動態。垃圾收集器所關注的就是這部分記憶體。一
Time of Update: 2017-01-19
短網址(Short URL) ,顧名思義就是看起來很短的網址。自從twitter推出短網址服務以後,各大互連網公司都推出了自己的短網址服務。短網址最大的優點就是短,字元少,便於發布、傳播、複製和儲存。通過網上的搜尋,感覺流傳了2種短網址演算法,一種是基於MD5碼的,一種是基於自增序列的。1、基於MD5碼 :
Time of Update: 2017-01-19
&&(短路與)、&、||(短路或)、|,這幾種運算子在Java程式開發中經常用到,下面小編主要給大家介紹下&和&&的區別。其中&&與&都表示邏輯與,當運算子兩邊的運算式的結果都為true時,其運算結構才是true。但是&&有短路的作用,如果第一個運算式為false,則不用判斷第二個運算式。複製代碼
Time of Update: 2017-01-19
Java實現SSH模式加密的實現原理思路分享給大家。一、SSH加密原理SSH是先通過非對稱式加密告訴服務端一個對稱式加密口令,然後進行驗證使用者名稱和密碼的時候,使用雙方已經知道的加密口令進行加密和解密,見下圖:解釋:SSH中為什麼要使用非對稱式加密,又使用對稱式加密,到底有什麼用處?到底安全不安全?既然後來又使用了對稱式加密,開始的時候為什麼還要用非對稱式加密?反過來,既然用非對稱式加密,為什麼又要使用對稱式加密呢?非對稱式加密,是為了將用戶端產生的256位隨機的口令傳遞到服務端,那麼在傳遞的
Time of Update: 2017-01-19
假設下面是你的視頻網站連結清單,如果別人想爬取你的資料十分輕鬆,看規則就知道資料庫是序列自增的http://www.xxxx.com/video/1http://www.xxxx.com/video/2http://www.xxxx.com/video/3那麼解決這一問題,我們可以使用短地址,不對外暴露真實連結,使用對稱式加密是一個很好的方案。Hashids是一個很好的選擇,它提供了JS/PHP/JAVA/PYTHON等程式設計語言的實現,這裡我使用的就是它。下面是我基於blade架構搭建的ja
Time of Update: 2017-01-19
本文執行個體講解了java實現http的Post、Get、代理訪問請求的詳細程式碼片段,分享給大家供大家參考,具體內容如下package com.snowfigure.kits.net; import java.io.BufferedReader; import java.io.IOException;import java.io.InputStream; import java.io.InputStreamReader; import
Time of Update: 2017-01-19
最近利用下班的時候看了看的think in java感覺再看 和第一次看大不一樣接下來說一下java中對象和引用的關係,以及內部類的概念。1、java中一切都是對象 在java中是什麼來操作者對象呢?答案是引用,這就好比C或者C++中的指標。如果用擁有一個引用,那麼此時你必須讓其和一個對象關聯在一起,否則這個引用並不會像你想象的那樣任由你的控制,例如你建立了一個String的引用:String s
Time of Update: 2017-01-19
在Java軟體的使用過程中,有時會莫名的出現奇怪的問題。而這些問題常常無法使用日誌資訊定位,這時我們就需要通過查看進程內部線程的堆棧調用關係來分析問題出在哪裡。 舉個例子,當我們在做某個操作時,莫名的會彈出多個警告框,其中有些資訊是正常的,有些則不是。對於這些錯誤的警告資訊,我們該如何定位是哪個位置的代碼出現了錯誤彈出的框呢? 我們就需要在彈框以後,去查看軟體的各個線程,去尋找究竟是哪個線程導致了該問題。可是有時因為環境、時間等問題,我們根本不能拿著IDE去調試,
Time of Update: 2017-01-19
本文為大家分享兩個執行個體,相信大家一定會喜歡。執行個體1:隨機產生驗證碼圖片並將之輸出為一個png檔案效果圖:import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.Random; import
Time of Update: 2017-01-19
首先給出一段代碼:public class AslistMethod { public static void main(String[] args) { String sentence = "i love you"; List<String> words = Arrays.asList(sentence.split(" ")); for (int i = 0; i < words.size(); ) { if (words.get(i).equals("love")
Time of Update: 2017-01-19
Hashtable類Hashtable繼承Map介面,實現一個key-value映射的雜湊表。任何非空(non-null)的對象都可作為key或者value。添加資料使用put(key, value),取出資料使用get(key),這兩個基本操作的時間開銷為常數。Hashtable通過initial capacity和load factor兩個參數調整效能。通常預設的load factor 0.75較好地實現了時間和空間的均衡。增大load