亚洲人成电影院在线观看,国产精品亚洲精品青青青,亚洲精品成人网久久久久久http://m.tkk7.com/richardeee/category/17650.html<img src="http://services.nexodyne.com/email/icon/WphmJp1ivTWmlg%3D%3D/J8X3iEc%3D/R01haWw%3D/0/image.png " /><br/><img src="http://services.nexodyne.com/email/icon/vFcOyMOJoEGHLQ%3D%3D/ZoYsaEY%3D/SG90bWFpbA%3D%3D/0/image.png " />zh-cnTue, 25 Dec 2007 18:40:59 GMTTue, 25 Dec 2007 18:40:59 GMT60[轉]java面試筆試題整理 http://m.tkk7.com/richardeee/archive/2007/12/25/170202.htmlZou AngZou AngMon, 24 Dec 2007 23:14:00 GMThttp://m.tkk7.com/richardeee/archive/2007/12/25/170202.htmlhttp://m.tkk7.com/richardeee/comments/170202.htmlhttp://m.tkk7.com/richardeee/archive/2007/12/25/170202.html#Feedback0http://m.tkk7.com/richardeee/comments/commentRss/170202.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/170202.html閱讀全文

Zou Ang 2007-12-25 07:14 發表評論
]]>
使用Hessian開發C/S模式的小系統http://m.tkk7.com/richardeee/archive/2007/07/28/132940.htmlZou AngZou AngSat, 28 Jul 2007 02:48:00 GMThttp://m.tkk7.com/richardeee/archive/2007/07/28/132940.htmlhttp://m.tkk7.com/richardeee/comments/132940.htmlhttp://m.tkk7.com/richardeee/archive/2007/07/28/132940.html#Feedback2http://m.tkk7.com/richardeee/comments/commentRss/132940.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/132940.html之所以叫小系統,主要是因為Hessian不支持Hibernate的延遲加載,所以需要在DAO層使用Hibernate的同學請注意了。

Hessian其實是一種RMI技術,已經被集成在Spring Framework中,這樣就很方便了。

首先看客戶端

第一步:
先定義Client與Server交互的接口。  閱讀全文

Zou Ang 2007-07-28 10:48 發表評論
]]>
Which Programming Lanuguage Are You?http://m.tkk7.com/richardeee/archive/2007/05/07/115678.htmlZou AngZou AngMon, 07 May 2007 04:09:00 GMThttp://m.tkk7.com/richardeee/archive/2007/05/07/115678.htmlhttp://m.tkk7.com/richardeee/comments/115678.htmlhttp://m.tkk7.com/richardeee/archive/2007/05/07/115678.html#Feedback0http://m.tkk7.com/richardeee/comments/commentRss/115678.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/115678.html
http://www.bbspot.com/News/2006/08/language_quiz.php

You are Java.  You are very strong and sturdy, but this makes you a bit sluggish.


Zou Ang 2007-05-07 12:09 發表評論
]]>
遺傳算法示例程序http://m.tkk7.com/richardeee/archive/2007/04/29/114536.htmlZou AngZou AngSun, 29 Apr 2007 04:11:00 GMThttp://m.tkk7.com/richardeee/archive/2007/04/29/114536.htmlhttp://m.tkk7.com/richardeee/comments/114536.htmlhttp://m.tkk7.com/richardeee/archive/2007/04/29/114536.html#Feedback3http://m.tkk7.com/richardeee/comments/commentRss/114536.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/114536.html基于求函數f(x,y,z)=xyz*sin(xyz)最大值問題的演示程序:


截圖:








 

壓縮包:
genetic_algorithm.part1.rar
genetic_algorithm.part2.rar
genetic_algorithm.part3.rar
genetic_algorithm.part4.rar

運行方法:
解壓后在命令行輸入:java -jar genetic_algorithm.jar



Zou Ang 2007-04-29 12:11 發表評論
]]>
使用遺傳算法求解函數 xyz*sin(xyz)的最大值http://m.tkk7.com/richardeee/archive/2007/04/26/113912.htmlZou AngZou AngThu, 26 Apr 2007 13:41:00 GMThttp://m.tkk7.com/richardeee/archive/2007/04/26/113912.htmlhttp://m.tkk7.com/richardeee/comments/113912.htmlhttp://m.tkk7.com/richardeee/archive/2007/04/26/113912.html#Feedback7http://m.tkk7.com/richardeee/comments/commentRss/113912.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/113912.html閱讀全文

Zou Ang 2007-04-26 21:41 發表評論
]]>
利用JNI調用C/C++方法實現從控制臺輸入密碼http://m.tkk7.com/richardeee/archive/2007/02/24/100484.htmlZou AngZou AngSat, 24 Feb 2007 14:06:00 GMThttp://m.tkk7.com/richardeee/archive/2007/02/24/100484.htmlhttp://m.tkk7.com/richardeee/comments/100484.htmlhttp://m.tkk7.com/richardeee/archive/2007/02/24/100484.html#Feedback6http://m.tkk7.com/richardeee/comments/commentRss/100484.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/100484.html
本來以為是很簡單的問題,查了一下發現Java居然沒提供這樣一個方法。目前實現的方式有2個,一個是利用JNI來調用C/C++方法,另一個是使用多線程。
本文使用JNI調用C/C++的方法實現  閱讀全文

Zou Ang 2007-02-24 22:06 發表評論
]]>
[轉]JDK1.6.0新特性詳解與代碼示例http://m.tkk7.com/richardeee/archive/2007/02/09/98968.htmlZou AngZou AngFri, 09 Feb 2007 04:00:00 GMThttp://m.tkk7.com/richardeee/archive/2007/02/09/98968.htmlhttp://m.tkk7.com/richardeee/comments/98968.htmlhttp://m.tkk7.com/richardeee/archive/2007/02/09/98968.html#Feedback2http://m.tkk7.com/richardeee/comments/commentRss/98968.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/98968.html閱讀全文

Zou Ang 2007-02-09 12:00 發表評論
]]>
ContextLoaderListener 出錯解決辦法http://m.tkk7.com/richardeee/archive/2007/02/03/97703.htmlZou AngZou AngSat, 03 Feb 2007 01:33:00 GMThttp://m.tkk7.com/richardeee/archive/2007/02/03/97703.htmlhttp://m.tkk7.com/richardeee/comments/97703.htmlhttp://m.tkk7.com/richardeee/archive/2007/02/03/97703.html#Feedback0http://m.tkk7.com/richardeee/comments/commentRss/97703.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/97703.html這幾天突然遇到了一個問題:Tomcat跑不起來了!提示錯誤信息:
Error Listener Start
org.springframework.web.context.ContextLoaderListener
Error Listener Start
....
就這么2行,讓人一頭霧水。昨天檢查了一個下午也沒發現問題。今天突然在查看錯誤日志時發現:
Context initialization failed

org.springframework.beans.factory.BeanDefinitionStoreException: Line 14 in XML document from ServletContext resource [/WEB-INF/springctx-datareport.xml] is invalid; nested exception is org.xml.sax.SAXParseException: Element type "bean" must be followed by either attribute specifications, ">" or "/>".

仔細查看了一下配置文件,原來是同組的組員在寫配置文件的時候在class="...."后面多了一個引號!
這個Listener Start的問題太隱蔽,如果沒有做錯誤日志估計一直很難發現了
不過這次有了教訓,以后也有方向了



Zou Ang 2007-02-03 09:33 發表評論
]]>
Javascript噩夢-Ajax實現輸入提示的調整與配置http://m.tkk7.com/richardeee/archive/2007/02/01/97380.htmlZou AngZou AngThu, 01 Feb 2007 14:39:00 GMThttp://m.tkk7.com/richardeee/archive/2007/02/01/97380.htmlhttp://m.tkk7.com/richardeee/comments/97380.htmlhttp://m.tkk7.com/richardeee/archive/2007/02/01/97380.html#Feedback7http://m.tkk7.com/richardeee/comments/commentRss/97380.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/97380.html可重用的Ajax輸入提示類,功能類似Google的輸入提示  閱讀全文

Zou Ang 2007-02-01 22:39 發表評論
]]>
又談亂碼問題解決http://m.tkk7.com/richardeee/archive/2007/01/23/Chinese_encoding_problem_for_all.htmlZou AngZou AngTue, 23 Jan 2007 13:12:00 GMThttp://m.tkk7.com/richardeee/archive/2007/01/23/Chinese_encoding_problem_for_all.htmlhttp://m.tkk7.com/richardeee/comments/95604.htmlhttp://m.tkk7.com/richardeee/archive/2007/01/23/Chinese_encoding_problem_for_all.html#Feedback6http://m.tkk7.com/richardeee/comments/commentRss/95604.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/95604.html閱讀全文

Zou Ang 2007-01-23 21:12 發表評論
]]>
[轉帖]struts,ajax亂碼解決方案 http://m.tkk7.com/richardeee/archive/2006/12/11/86831.htmlZou AngZou AngMon, 11 Dec 2006 03:04:00 GMThttp://m.tkk7.com/richardeee/archive/2006/12/11/86831.htmlhttp://m.tkk7.com/richardeee/comments/86831.htmlhttp://m.tkk7.com/richardeee/archive/2006/12/11/86831.html#Feedback7http://m.tkk7.com/richardeee/comments/commentRss/86831.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/86831.html 原帖地址:
http://m.tkk7.com/errorfun/archive/2006/12/09/86584.html
亂碼問題好像跟我們中國程序員特別有緣,一直困擾著我們,從開始的JSP亂碼問題,STRUTS亂碼問題,到現在的AJAX亂碼問題,無一不是搞得許多程序員焦頭爛額的,整天罵XXX產品對中文支持不了,UTF-8無法使用中文啊什么的,其實這里面被罵的產品中其實99%以上是對中文支持非常好的,而出現亂碼的原因只是因為自身對國際化支持以及文件編碼等信息的認識不知造成的。要知道一個產品那么流行,怎么可能對中文支持不了呢,下面就開始一一幫大家解決這些問題。


1
、編碼
????? --
想要解決好中文問題,對編碼肯定是不能一概不懂了,編碼是解決中文亂碼問題的根本。
???? ?
編碼比較常用的有: UTF-8 GBK GB2312 ISO-8859-1 ,除了 iso-8859-1 之外的其它三個編碼都能很好的支持中文,但它們都兼容 ISO-8859-1 的編碼(就是說無論編碼怎么改變,只要是 ISO-8859-1 中的字符,永遠不會出現亂碼)。
?????
這四種編碼中, GB2312 是中國規定的漢字編碼,也可以說是簡體中文的字符集編碼 ; GBK GB2312 的擴展 , 除了兼容 GB2312 外,它還能顯示繁體中文,還有日文的假名 ; UTF-8 雖然也支持中文,但卻 GB 碼不兼容(編碼值不同) UTF-8 使用的是可變長的 UNICODE 編碼,編碼可能是 1 16 進制(即 ISO-8859-1 中的字符,其編碼也是相同的)也有可能是 2 位或 3 位的 16 進制。 UTF-8 的優點是: 1 CPU 字節順序無關 , 可以在不同平臺之間交流。 2 、容錯能力高 , 任何一個字節損壞后 , 最多只會導致一個編碼碼位損失 , 不會鏈鎖錯誤 ( GB 碼錯一個字節就會整行亂碼 ) ,所以在國際化處理中基本都是建議使用 UTF-8 作為編碼。

2、文件的編碼
????? --雖然說只要設置了正確的編碼就可以使字符正確顯示了,但如果忽略了文件保存時的編碼的話,那可是會讓你走進迷霧中的。
????? 文件編碼最常使用的有兩種:ANSI和UTF-8,光看名字估計你都可以猜到了,ANSI就是我們保存文件時使用的默認編碼,而UTF-8則需自己設置。對于編碼的改變,我使用的工具是NOTEPAD和ECLIPSE,NOTEPAD使用最簡單,只要打開文件后在另存為中選擇相應的編碼就行了,而且它對編碼的支持非常好;而在ECLIPSE中,只要稍微設置一下就行了,打開首選項,然后選擇:常規->內容類型(ContentType),在右邊選中你想改變保存編碼的文件類型,然后在下方的缺省編碼中改變其值,最后點擊更新(UPDATE)按鈕即可。



而在其它的編輯器中,默認保存的內容都是GB2312或者GBK(NOTEPAD中對應ANSI).而根據前面所說的UTF-8和GBK,GB2312等的編碼值是不同的這一點,可以知道,如果文件使用了UTF-8,那么字符編碼就必須使用UTF-8,否則編碼值的不同就可能造成亂碼。而這也就是為什么那么多的人使用了UTF-8編碼后還會產生亂碼的根本原因。(JS和JSP都是這個道理)

3、JSP,STRUTS等的中文亂碼解決方案
?????其實解決的方法只有一個:

?request.setCharacterEncoding(encoding);

???方法只有一種,但處理方式就多種多樣了,初學者會在JSP頁面上直接使用,而有經驗的程序員會使用過濾器。而現在所要說的方法也是過濾器。這里以統一使用UTF-8作為編碼作為例子說明。具體過程就不多說了,網上有很多教程。偷懶一點的,到TOMCAT中復制就行了。在TOMCAT的目錄下的\webapps\jsp-examples\WEB-INF\classes\filters\找到SetCharacterEncodingFilter.java 這個類,放到你的程序中并配置好映射路徑。配置好后基本上你的亂碼問題就解決了。但要映射路徑中需要注意的就是不能使用 '*'

?? < filter-mapping >
????
< filter-name > Set?Character?Encoding </ filter-name >
????
< servlet-name > * </ servlet-name >
??
</ filter-mapping >

像上面這樣配置的話(可能也是網上大多教程的做法,想當年也是害苦了我),可能你只有JSP的亂碼解決了,要解決STRUTS的亂碼需要映射 *.do 或者 servletActionName。然后在初始化參數中設置encoding的值就行了。

< init-param >
??????
< param-name > encoding </ param-name >
??????
< param-value > UTF-8 </ param-value >
</ init-param >

當然,最重要的是要記得根據前面所說的方法,改變你所使用的編輯器保存文件的編碼要與使用的字符編碼一致。
而在JSP內容中,還是使用如網上教程所說的那種技倆,在所有頁面的頁首加入:

<% @?page?language = "java"?contentType = " text / html;?charset = UTF - 8 "
????pageEncoding
= "UTF - 8 " %>

至此,相信JSP,ACTION都不太可能出現亂碼了。

4、資源文件的亂碼解決方案
????? 資源文件誰都知道是國際化支持不可或缺的一部分,如果資源文件都出現亂碼了那還了得?其實資源文件的亂碼是很好解決的,其原因也是因為使用了UTF-8做為JSP編碼后,沒有相應地改變資源文件的文件編碼造成的,所以只要對資源文件保存的編碼進行更正后,亂碼問題也就解決了。當然,你的中文要使用 native2ascii 命令進行正確的轉換。

5、調用JS時,JS內容亂碼的解決方案。
???? 其實JS的亂碼還是跟文件的編碼有關系的,如果JS中有中文的話,那JS文件保存的編碼就必須跟調用此JS的頁面編碼相同,否則,你的所有中文都要從JSP頁面傳給JS才會顯示正常。可以看出對于調用JS出現的亂碼是最容易解決的(也是建立在前面的辛苦之下的)。

6、AJAX提交數據亂碼,返回數據亂碼的解決方案
???? 隨著AJAX的流行,亂碼問題也開始困擾著許多剛開始使用它的程序員,幸好我之前對JSP亂碼有過一點研究,在遇到AJAX后,并沒有給我帶來多大的困擾,在此將我的一些心得共享給大家。
???? 萬變不離其宗,AJAX的亂碼問題自然跟編碼有關了,其實很多人跟我一樣想到了對文件編碼進行設置,并且在接數據時設置了requet的編碼,在返回的數據時設置了response的編碼一切都以為會很順利,可是這一切都是徒勞無功的,討厭的亂碼再一次出現在你眼前。在你試了N多種方法,包括JS自身的escape,unescape方法后,你發現亂碼仍然猖狂地出現在屏幕上。
??? 其實在試過這N多方法后,很多人都沒發現,解決的方法其實很簡單,而且其答案就在我們之前處理的JSP亂碼之中。讓我們先看一下AJAX的經典請求代碼

xmlhttp.open(?"post",?url,?async?);
xmlhttp.setRequestHeader(?
"Content-Type",?"text/html"
?);
xmlhttp.send(?params?);

通過前面的說明,不知道你現在看出端倪了沒有。不知道是受了網上教程的影響還是其它方面影響,setRequestHeader并是萬年不變的,也沒人想過去改它,而問題就正好出在這個地方。回想一個JSP頁面內容的編碼設置,其中有這么一節:
contentType="text/html;?charset=UTF-8"

現在知道問題了吧,所以我們要把第二句代碼改為:
xmlhttp.setRequestHeader(?"Content-Type",?"text/html;charset=UTF-8"?);

最后別忘了在返回數據時也設置上:
response.setContentType(?"text/xml"?);
response.setCharacterEncoding(?
"UTF-8"?);

是不是很簡單,一點都不麻煩呢?
如果要問為什么的話,其實我們可以把xmlhttp看成是一個臨時頁面,它由瀏覽器動態生成,主要作用是在后臺獲得請求的數據(可以看成是一個高級的iframe)。所以對于普通頁面設置的編碼,對它也要同樣設置。而在servlet中返回數據為什么要設置contentType和encoding其道理也是一樣的。眾所周知,jsp的最后形態就是servlet,而jsp頁首設置的那個內容其實也就是讓生成的servlet中生成這么兩句話:
response.setContentType(?"text/html"?);
response.setCharacterEncoding(?
"UTF-8"?);

而pageEncoding則是跟jvm說明了這個頁面的內容要使用什么編碼保存(這跟之后生成的CLASS有關系)。所以在servlet設置response的編碼也是理所當然的了。

一口氣把自己一年以來遇到的亂碼問題和解決的方案寫出來了,希望對你有所幫助。


Zou Ang 2006-12-11 11:04 發表評論
]]>
[轉]解析Java對象引用與JVM自動內存管理http://m.tkk7.com/richardeee/archive/2006/11/29/84340.htmlZou AngZou AngWed, 29 Nov 2006 06:08:00 GMThttp://m.tkk7.com/richardeee/archive/2006/11/29/84340.htmlhttp://m.tkk7.com/richardeee/comments/84340.htmlhttp://m.tkk7.com/richardeee/archive/2006/11/29/84340.html#Feedback0http://m.tkk7.com/richardeee/comments/commentRss/84340.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/84340.htmlJava基礎知識,打好基礎才能更好地學習!
原帖地址:http://www.linuxmine.com/44702.html
對象引用應用程序設計接口是JDKTM1.2中新定義的。該應用程序設計接口允許應用程序以對象引用的方式與JVM的內存管理器進行交互。當應用程序需管理大量內存對象或者在新的Java對象創建之前需刪除原有對象時,Java對象引用應用程序設計接口具有相當大的用途,例如:
  
  ● 基于Web的應用程序常常要求顯示大量圖片,當用戶離開某一Web頁時,往往不能確定是否能夠順利的返回。在這種程序中,應用Java對象引用API可以創建這樣一個環境,即當堆內存以最小程度運行時,內存管理器創建對象。當用戶返回時,應用程序就會重新載入已經創建的圖片。
  
  ● 應用對象引用隊列可以創建這樣一個環境,當通過對象引用獲得某一對象時,應用程序得到通知。然后,應用程序就可以對相關對象進行清除操作,同時使這些對象在內存管理器中合法化。
  
  內存管理器的工作機制
  
  下面將首先介紹未嵌入引用對象時內存管理器的工作機制,然后討論引用對象加入之后Java堆發生的變化。
  
  內存管理器的作用就是識別程序中不再使用的對象,并且回收其內存。
  
  一個Java應用程序由一系列線程組成,每個線程執行一系列方法,而每個方法通過參數或局部變量來引用對象。這些引用屬于引用集合中的一部分,直接進入應用程序。另外,引用集合中還包括類庫中定義的靜態引用變量,以及通過Java本地接口(JNI)API獲得的引用。引用集合中的所有引用對象都可以被當前應用程序獲取,而不必被回收。同樣地,這些對象可能包含對其它對象的引用,也可以被應用程序獲取,依此類推。Java堆中的其它對象視為不可獲取的,而所有這些不可獲取的對象在內存管理中也是合法的。如果一個不可獲取的對象使用finalize()方法,任務就交給了對象所調用的收尾器(finalizer)。在內存回收期間,不具有收尾器的不可獲取對象和已經調用收尾器的對象被簡單回收。
  
  內存回收的算法是不斷變化的,共性的方面是從引用集合中識別可獲取的對象以及回收被其它對象占據的內存空間。
  
  加入引用對象之后的引用與常規引用的區別在于,引用對象中的引用專門由內存管理器來處理。引用對象封裝了其它一些對象的引用,我們稱之為指示對象。在引用對象創建的同時,也就定義了該引用對象的指示對象。
  
  Java對象引用
  
  圖1所示為對象引用應用程序設計接口中定義的類層次。其中SoftReference類、WeakReference類和PhantomReference類中分別定義了三種引用對象以及相應的三種獲取對象的能力。因此按照由強到弱,對象可獲取程度可劃分為如下五種類型:強獲取(strongly reachable)、次獲取(softly reachable)、弱獲取(weakly reachable)、虛獲取(phantomly reachable)和不可獲取(unreachable)。
   
  圖1 對象應用類層次
  
  根據應用程序要求,對象可以是強引用(strong references)、次引用(soft references)、弱引用(weak references)、虛引用(phantom references)的任意組合。為了確定對象的可獲取程度,JVM內存管理器從引用集合出發遍尋堆中所有到對象的路徑。當到達某對象的任意路徑都不含有引用對象時,則稱該對象具有強獲取能力;當路徑中含有一個或幾個引用對象時,根據內存管理器所查詢的引用對象的類型分別歸為次獲取、弱獲取、虛獲取。
  
  另外,對象引用API中還定義了引用對象隊列(java.lang.ref.ReferenceQueue),這是內存管理器對引用對象進行管理的一種簡單數據結構。值得注意的是,在進行引用對象定義時,要求phantom reference對象必須產生于一個引用對象隊列,而soft reference和weak reference對象則無此限制,如:
  
  

ReferenceQueue?queue? = ? new ?ReferenceQueue();
  PhantomReference?pr?
= ? new ?PhantomReference(object,?queue);

  Soft References 應用實例
  
  下面以在基于web的應用程序中使用soft references為例,來說明Java對象引用與JVM的內存管理器進行交互的原理。
  
  當用戶打開某一web頁時,applet代碼獲得圖片并且得到顯示。如果在代碼中同時創建了該圖片對象的soft references,那么當用戶離開該web頁時,內存管理器對圖片所分配的內存是否回收做出選擇。當用戶返回該web頁時,在applet代碼中使用SoftReference.get方法就會得到圖片才內存中是否仍存在的消息。如果在內存管理器中未創建該圖片,在web頁上會很快得到顯示;否則,applet代碼就會重新獲取。
  
  下面是Example.java的完整源代碼。
  
  

import ?java.awt.Graphics;
  
import ?java.awt.Image;
  
import ?java.applet.Applet;
  
import ?java.lang.ref.SoftReference;
  
public ? class ?Example? extends ?Applet? {
    SoftReference?sr?
= ? null ;
    
public ? void ?init()? {
      System.out.println(
" Initializing " );
    }

    
public ? void ?paint(Graphics?g)? {
      Image?im?
= ?(sr? == ? null )? ? ? null ?:?(Image)(sr.get());
      
if ?(im? == ? null )? {
        System.out.println(
" Fetching?image " );
        im?
= ?getImage(getCodeBase(), " yundong.gif " );
        sr?
= ? new ?SoftReference(im);
     ?}

     ?System.out.println(
" Painting " );
     ?g.drawImage(im,?
25 ,? 25 ,? this );
     ?g.drawString(
" 運動之美 " , 20 , 20 );?
     im?
= ? null ; 
    
/* ?Clear?the?strong?reference?to?the?image? */
    }

  
    
public ? void ?start()? {
      System.out.println(
" Starting " );
    }

  
    
public ? void ?stop()? {
      System.out.println(
" Stopping " );
    }

  }


  
  在上面的代碼中,對象image是一個圖片對象,傳遞給一個SoftReference對象sr。其中image對象是sr的指示對象,sr中的引用域是從次引用(soft reference)到 image。
  
  Weak References分析
  
  對于一個穩定的對象,比如說線程類對象,當需要獲取外部數據時,在程序中應用weak references是非常理想的。如果利用引用隊列創建了某一線程的weak reference,那么當線程不再具有強獲取能力時,應用程序得到通知,根據此通知,應用程序才能執行相關數據對象的清除工作。
  
  當內存管理器未發現strong references 和 soft references 時,我們稱對象具有弱獲取能力,即在到達該對象的路徑中至少包含一個weak reference。程序中weak references被清除一段時間后,弱獲取對象被收尾器收集。由此也可以看出,soft reference和weak reference之間的區別在于,應用soft reference時,內存管理器利用算法決定是否創建弱獲取對象,而應用weak reference時,內存管理器必須創建次獲取對象。
  
  引用對象鏈
  
  當到達某一對象的路徑中含有多個引用對象時,就構成了引用對象鏈。內存管理器按照由強到弱的順序處理引用對象,具體處理步驟包括:Soft references、 Weak references、Finalization、Phantom references和創建對象五個部分。
  
  當內存管理器未發現前三種對象引用時,我們稱對象具有虛獲取能力,即在到達該對象的路徑中至少包含一個phantom reference。虛引用對象直接被收尾器收集,而不被重新創建。當內存管理器發現只有phantom references時,對象就將處于等候phantom reference狀態,應用程序向引用隊列發出通知,然后對虛引用對象調用clear()方法,將其引用域設置為null,最后對不可獲取對象執行收集清除處理任務。
  
  通常,對象所具有的獲取能力與引用對象集合直接路徑中的最弱連接者相同。據此可以看出:
  
  圖2(a)中,虛引用對象具有強獲取能力,其它對象均具虛獲取能力;
  
  (b)中虛引用對象和弱引用對象均具強獲取能力,故次引用對象和對象集合具有若獲取能力;
  
  (c)中虛引用對象、弱引用對象和次引用對象均具強獲取能力,那么對象集合則具次獲取能力。
   
  圖2 引用對象鏈
  小結
  ● 引用對象API是Java2平臺中的特色之一。
  
  ● 在程序中使用引用對象API不但可以在一定程度上控制內存管理器,實現內存自動管理,還可以提高程序的穩定性和安全性。
  
  ● 引用對象鏈中各個對象的獲取能力與整個鏈相關。



Zou Ang 2006-11-29 14:08 發表評論
]]>
Spring 與Hibernate的延遲加載和Dao模式 [翻譯]http://m.tkk7.com/richardeee/archive/2006/11/27/83870.htmlZou AngZou AngMon, 27 Nov 2006 12:03:00 GMThttp://m.tkk7.com/richardeee/archive/2006/11/27/83870.htmlhttp://m.tkk7.com/richardeee/comments/83870.htmlhttp://m.tkk7.com/richardeee/archive/2006/11/27/83870.html#Feedback1http://m.tkk7.com/richardeee/comments/commentRss/83870.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/83870.html閱讀全文

Zou Ang 2006-11-27 20:03 發表評論
]]>
使用AOP實現類型安全的泛型DAOhttp://m.tkk7.com/richardeee/archive/2006/11/26/83664.htmlZou AngZou AngSun, 26 Nov 2006 13:08:00 GMThttp://m.tkk7.com/richardeee/archive/2006/11/26/83664.htmlhttp://m.tkk7.com/richardeee/comments/83664.htmlhttp://m.tkk7.com/richardeee/archive/2006/11/26/83664.html#Feedback7http://m.tkk7.com/richardeee/comments/commentRss/83664.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/83664.html閱讀全文

Zou Ang 2006-11-26 21:08 發表評論
]]>
第3篇,嘗試使用JDOMhttp://m.tkk7.com/richardeee/archive/2006/11/24/83365.htmlZou AngZou AngFri, 24 Nov 2006 13:10:00 GMThttp://m.tkk7.com/richardeee/archive/2006/11/24/83365.htmlhttp://m.tkk7.com/richardeee/comments/83365.htmlhttp://m.tkk7.com/richardeee/archive/2006/11/24/83365.html#Feedback0http://m.tkk7.com/richardeee/comments/commentRss/83365.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/83365.html閱讀全文

Zou Ang 2006-11-24 21:10 發表評論
]]>
第2篇,Ricohttp://m.tkk7.com/richardeee/archive/2006/11/24/83295.htmlZou AngZou AngFri, 24 Nov 2006 08:17:00 GMThttp://m.tkk7.com/richardeee/archive/2006/11/24/83295.htmlhttp://m.tkk7.com/richardeee/comments/83295.htmlhttp://m.tkk7.com/richardeee/archive/2006/11/24/83295.html#Feedback0http://m.tkk7.com/richardeee/comments/commentRss/83295.htmlhttp://m.tkk7.com/richardeee/services/trackbacks/83295.htmlOpen Rico:OpenRico.org  閱讀全文

Zou Ang 2006-11-24 16:17 發表評論
]]>
主站蜘蛛池模板: 国产精品亚洲精品日韩电影| 精品亚洲成AV人在线观看| 亚洲AV无码专区国产乱码不卡| 久久精品免费一区二区| 亚洲视频在线观看免费| 99爱视频99爱在线观看免费| 亚洲国产一区国产亚洲| 91香蕉国产线在线观看免费 | aa级毛片毛片免费观看久| 亚洲男人的天堂一区二区| 免费亚洲视频在线观看| gogo全球高清大胆亚洲| 中文字幕免费视频精品一| 国产亚洲无线码一区二区| 午夜视频在线免费观看| 久久久久亚洲AV无码网站| 青青草免费在线视频| 日本亚洲欧美色视频在线播放| 国产免费久久精品| 久久国产美女免费观看精品 | 亚洲中文字幕乱码一区| 久久不见久久见免费影院| 国产亚洲精品美女| 亚洲国产婷婷六月丁香| 毛片免费全部播放无码| 国产精品亚洲精品爽爽| 亚洲人成77777在线播放网站| 免费无码中文字幕A级毛片| 亚洲高清中文字幕免费| 亚洲av日韩片在线观看| 亚洲免费观看视频| 狠狠色伊人亚洲综合网站色| 国产亚洲精午夜久久久久久| 97视频免费观看2区| 久久亚洲精品无码网站| 亚洲午夜国产精品无码老牛影视 | 91午夜精品亚洲一区二区三区| 日美韩电影免费看| 99热在线日韩精品免费| 亚洲国产精品一区二区三区在线观看 | 亚洲AV无码久久精品狠狠爱浪潮|