Time of Update: 2018-12-04
轉帖說明:非常的好用,方便在進行Velocity和FreeMarker組建檔案時候處理要組建檔案的路徑問題package util;import java.io.File;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException; /** *//*** @author <a href="mailto:maryang@live.cn"
Time of Update: 2018-12-04
Semaphore可以維護當前訪問自身的線程個數,並提供了同步機制,使用Semaphore可以控制同時訪問資源的線程數,例如,實現一個檔案允許的並發訪問數. Semaphore實現的功能就類似廁所一共有5個茅坑(new
Time of Update: 2018-12-04
仔細回想一下,這段時間面試過兩三次,遇到過一些題目,有筆試也有口試的,趁著還有點印象以及電腦還有點電,把記得的先寫下來~~ 基本上都是些基礎的,當然都是關於java的 1,對物件導向的理解 2,java的三大特性 3. 對人事管理員模式的理解,當時一點都不知道。。。。 4. 寫出至少五種設計模式的名稱 5. list和set的關係 6. 寫一個方法實現把一個長度大於十的字串的最後兩位插到第三四位 7. 簡述類之間的關係 8.
Time of Update: 2018-12-04
利用timer和progressbar外加兩個按鈕製作的小程式,點擊start按鈕開始卸載,點擊stop停止。代碼如下:-----------------------------------------------以下是代碼區--------------------------------------------------------------------------import java.awt.BorderLayout;import
Time of Update: 2018-12-04
用於實現兩個人之間的資料交換,每一個人在完成一定的事務後想與對方交換交換資料,第一個先拿出資料的人將一直等待第二個人拿著資料到來時,才能彼此交換資料.也就是當兩個線程都到達了交換點.才能交換.public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); final Exchanger exchanger = new
Time of Update: 2018-12-04
JComponent的九大特性1、工具提示功能。 通過在setToolTipText方法制定字串,可以為一個組件提供一些協助。 button.setToolTipText("這是一個按鈕");2、繪畫和邊框功能。 當一個Swing的GUI需要繪製自身時,繪製將從需要繪製的最頂層組件開始,依據層次關係繪製。
Time of Update: 2018-12-04
阻塞隊列和非阻塞的區別:如果隊列裡面已經放滿了,如果是阻塞隊列那麼線程會一直阻塞,而非阻塞對壘則會拋出異常.隊列還包括固定長度的隊列和不固定長度的隊列.這個類實現了BlockingQueue這個介面有如下方法:拿Insert情況來說,如果隊列裡面已經滿了,使用add方法往裡放就會拋出異常,用offer放回false,用put()方法將會阻塞在那裡,知道有空間可以放.下面來看一個例子:public class BlockingQueueTest { public static void
Time of Update: 2018-12-04
System和Properties類: 主要介紹了System類的用法 通過java API可以很詳細瞭解System類的用法:API文檔使我們學習的最好幫手:System是final的 所以可以看出他不允許別人去修改的,如果不是final的別人就可以extends,就可以覆寫他的方法了.下面就對上面的javaAPI 片段做簡單的介紹這個System類包含了一些有用的服務類欄位和方法,他不能執行個體化,也就是說他的構造方法是私人的,System類提供了一些標準輸出輸入資料流和錯誤輸出資料流,
Time of Update: 2018-12-04
允許一系列的集合等待彼此,到達一個共同的障礙物點.表示大家彼此等待,大家集合好後才開始出發,分散活動後又在指定的地點集合碰面,這就好比整個公司的人員利用周末時間集體郊遊一樣,先各自從家裡出發到公司集合後,在同時出發到公園遊玩,在指定的地點後再同時開始就餐,...public static void main(String[] args) { ExecutorService service =
Time of Update: 2018-12-04
網上關於此類的討論非常多,發現對於該問題的理解各有各的說法,而各個說法中又相去甚遠。通過瀏覽這些討論以及對《O'Reilly - UML 2.0 In A Nutshell (2007)》的參考,發表一下自己的看法類間關係有很多種,在大的類別上可以分為兩種:縱向關係、橫向關係。縱向關係就是繼承關係,它的概念非常明確,也成為OO的三個重要特徵之一,這裡不過多的討論。橫向關係較為微妙,按照UML的建議大體上可以分為四種:依賴 (Dependency)關聯 (Association)彙總
Time of Update: 2018-12-04
詳細代碼如下:public class CountdownLatchTest { public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); final CountDownLatch cdOrder = new CountDownLatch(1); final CountDownLatch cdAnswer =
Time of Update: 2018-12-04
在JDK1.5之前沒有推出同步集合的時候,可以通過Conllections集合工具類的synchronized+集合名稱如:synchronizedSet(Set),現在不需要這種方式了使用ConcurrentHashMap,ConcurrentSkipListMap,ConcurrentSkipListSet,ConcurrentLinkedQueue等這些集合即可. 1>線程不安全的集合出現的問題,死迴圈.Race
Time of Update: 2018-12-04
1>Lock: Lock比傳統執行緒模式中的Synchronied方式更加物件導向,與生活中的鎖類似,鎖本身也應該是一個對象.兩個線程執行的程式碼片段要實現同步互斥的效果,它們必須用同一個Lock對象,鎖是在代表要操作的資源的類的內部方法中,而不是線程代碼中. 上面的輸出器Outputer類就可以這樣改寫:class Outputer2 { // 聲明一個鎖 Lock lock = new ReentrantLock(); public
Time of Update: 2018-12-04
本文以保留兩位小數為例子,若有其他需要可以輕鬆改掉。1.利用java.text.DecimalFormat實現(推薦)java.text.DecimalFormat df = new java.text.DecimalFormat("#.00"); df.format(number);eg:new DecimalFormat("#.00").format(3.1415926) // #.00 表示兩位小數 #.0000四位小數 以此類推.2.利用演算法實現double
Time of Update: 2018-12-04
首先,把對象序列化必須實現Serializable介面, 只有這樣才能把對象持久化到硬碟擷取其他地方. 對象序列化操作需要使用到ObjectOutputStream和ObjectInputStream兩個對象ObjectOutputStream(OutputStream out)建立一個ObjectOutputStream 把對象往OutputStream輸出資料流寫入ObjectOutputStream也是位元組輸出資料流的子類:java.lang.Object
Time of Update: 2018-12-04
很多人出現了java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{*****Activity}: java.lang.ClassNotFoundException: Didn't find class "*****Activity" on path:
Time of Update: 2018-12-04
網上大部分資料提供找到線程ID的方法多限於java程式內部線程對象的ID,而不是整個系統的線程ID,本來寄希望於 線程ID=進程ID+內部線程對象ID,
Time of Update: 2018-12-04
JAVA相關基礎知識1、物件導向的特徵有哪些方面
Time of Update: 2018-12-04
61、servlet的生命週期web容器載入servlet,生命週期開始。通過調用servlet的init()方法進行servlet的初始化。通過調用service()方法實現,根據請求的不同調用不同的do***()方法。結束服務,web容器調用servlet的destroy()方法。62、如何現實servlet的單線程模式<%@ page isThreadSafe=”false”%>63、頁面間對象傳遞的方法request,session,application,cookie等64
Time of Update: 2018-12-04
最近httpservletresponse 中的sendRedirect()的方法,測試其中文亂碼。測試方法是用一個簡單的登入介面Login.java(純servlet的),登入成功的話,在LoginDeal.java(純servlet的), 中使用 httpservletresponse 中的sendRedirect()方法的重定位,重定位的目的也是個servlet檔案叫MainFrame.java,要想不產生亂碼,設定如下:Login.java中:import