問一下.Net的開發者,開發WebServices有多困難?他們會被你的問題逗樂,他們會告訴你所有步驟花費的時間不會超過一分鐘。再問一下Java開發者,運氣好的話你會碰到上面的回答,一般情況下,你會得到一個完全不同的答案。從WebServices引入到Java中至今已經5年了,然而它仍然被認為是一門較新的技術,一個主要的原因就是使用Java實現WebServices太困難了。現在,隨著新一代WebServices引擎XFire的發布,這種情況將會發生明顯的
系統 2019-08-29 23:20:40 1913
盡管Java?運行時能夠解決大量的內存管理問題,但對程序的內存占用情況保持警惕仍然是優化機器性能、測定內存泄露的關鍵。Windows上有很多工具可以監控內存的使用。但每種工具各有長短,都有特定的傾向性,常常沒有明確地定義自己測量的是什么。作者將澄清關于內存使用的一些常見誤解,介紹很多有用的工具,同時還將提供何時以及如何使用它們的指南。
背景由于現在開源框架日益豐富,好多開源框架使用的日志組件不盡相同。存在著在一個項目中,不同的版本,不同的框架共存。導致日志輸出異常混亂。雖然也不至于對系統造成致命傷害,但是明顯可以看出,架構不夠精良,追求極致略有不足。其中有一些標準通用接口,標準實現,各種橋接器的存在,下面就讓筆者樹立一下這些框架之間的關系。從上圖中,我們可以看到4部分。接口:將所有日志實現適配到了一起,用統一的接口調用。實現:目前主流的日志實現舊日志到slf4j的適配器:如果使用了slf
系統 2019-08-29 23:17:50 1913
Android中各種JAVA包的功能描述2009-09-2913:05在Android的應用程序開發中,通常使用的是JAVA語言,除了需要熟悉JAVA語言的基礎知識之外,還需要了解Android提供的擴展的JAVA功能。在一般的JAVA應用中,如果需用引用基礎類庫,通常需要使用如下的方式:importjavax.swing.*;以上代碼表示了引用JAVA的GUI組件Swing,javax.swing即JAVA中的一個包。android提供一些擴展的JAVA
系統 2019-08-29 23:17:33 1913
摘要雖然Java虛擬機(JVM)及其垃圾收集器(garbagecollector,GC)負責管理大多數的內存任務,Java軟件程序中還是有可能出現內存泄漏。實際上,這在大型項目中是一個常見的問題。避免內存泄漏的第一步是要弄清楚它是如何發生的。本文介紹了編寫Java代碼的一些常見的內存泄漏陷阱,以及編寫不泄漏代碼的一些最佳實踐。一旦發生了內存泄漏,要指出造成泄漏的代碼是非常困難的。因此本文還介紹了一種新工具,用來診斷泄漏并指出根本原因。該工具的開銷非常小,因
系統 2019-08-29 23:05:05 1913
StringbirthdayString="2006-04-05";java.util.Datebirthday=newjava.util.Date();try...{java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat("yyyy-MM-dd");birthday=sdf.parse(birthdayString);System.out.println(birthday);System.o
系統 2019-08-29 22:56:37 1913
ˉ理解封裝封裝(Encapsulation)是面向對象三大特征之一(封裝、繼承、多態),它指的是將對象的狀態信息隱藏在內部,不允許外部程序直接訪問對象內部信息,而是通過該類所提供的方法來實現對內部信息的操作和訪問。對一個類或對象實現良好的封裝,可以實現以下目的:μ隱藏類的實現細節。μ讓使用者只能通過事先預定的方法訪問數據,從而可以在該方法里加入控制邏輯,限制對屬性不合理訪問。μ可進行數據檢查,從而有利于保證對象信息的完整性。μ便于修改,提高代碼的可維護性。
系統 2019-08-29 22:55:54 1913
Java中assert和靜態導入的使用最近一直在做測試,發現了一些JDK1.5中的一些新的語法特性,在開發的時候確實省了不少時間,在此做簡要的記錄:assert的用法assertexpression1;assertexpression1:expression2;如果expression1為true,則不拋出錯誤,程序正常運行,expression2也不會執行。如果expression1為false,則拋出異常,程序中斷跳出,expression2執行。一般
系統 2019-08-29 22:53:31 1913
如果你曾經用過Perl或任何其他內建正則表達式支持的語言,你一定知道用正則表達式處理文本和匹配模式是多么簡單。如果你不熟悉這個術語,那么“正則表達式”(RegularExpression)就是一個字符構成的串,它定義了一個用來搜索匹配字符串的模式。許多語言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正則表達式處理文本,一些文本編輯器用正則表達式實現高級“搜索-替換”功能。那么Java又怎樣呢?本文寫作時,一個包含了用
系統 2019-08-29 22:51:55 1913
Java實用經驗總結--日期、數字篇1.日期部分對于像日期、時間和錢這樣的對象來說,不同的國家、地區都有不同的顯示格式。即便是同一地區,也可能存在差異。但是在不考慮國家化,時間格式相對固定的情形下,對于時間的處理還是相對比較簡單的。在我最近所作的一個小程序里面,遇到了一些與日期有關的且不考慮國際化和復雜格式的問題。例如如何求兩個日期所差的天數,所差的月數;將日期類轉化為規定格式的字符串,將規定格式的日期字符串轉成相應的日期類等等。下面我就以源碼的形式逐一介
系統 2019-08-29 22:44:17 1913
周末無聊啃ThinkinginJava,900多頁,受益良多JavaSwing跟Qt不少想法都差不多Java下用什么工具設計UI呢VE?VE1.4在eclipse3.6還裝不了,等1.5出來研究研究Java:JavaSwing?
系統 2019-08-29 22:39:49 1913
也許是個Bug吧,在這里我簡單說一下發現的過程。現在我上傳一個圖片:test.png然后將圖片插入編輯器:由于太大了,我需要利用編輯器上的“插入/編輯圖片”來修改尺寸。點擊更新。(其實這個地方無所謂點什么)然后直接點擊“提交”或者“存為草稿”,沒有反應了。最后我退出來并重新進入發現:并不是前臺沒有給響應,而是根本沒有提交成功。如何從這種狀態掙脫出來呢?點擊到文章的末尾輸入一些字符,就恢復正常了。也就是說如果在編輯完圖片后不能直接提交,而是要將編輯器狀態(這
系統 2019-08-29 22:17:12 1913
使用eclipse生成文檔(javadoc)主要有三種方法:1,在項目列表中按右鍵,選擇Export(導出),然后在Export(導出)對話框中選擇java下的javadoc,提交到下一步。在JavadocGeneration對話框中有兩個地方要注意的:javadoccommand:應該選擇jdk的bin/javadoc.exedestination:為生成文檔的保存路徑,可自由選擇。按finish(完成)提交即可開始生成文檔。2,用菜單選擇:File->
系統 2019-08-29 22:10:34 1913
如果您喜歡這些文章,歡迎點擊此處訂閱本Blog
volatile,用更低的代價替代同步為什么使用volatile比同步代價更低?同步的代價,主要由其覆蓋范圍決定,如果可以降低同步的覆蓋范圍,則可以大幅提升程序性能.而volatile的覆蓋范圍僅僅變量級別的.因此它的同步代價很低.volatile原理是什么?volatile的語義,其實是告訴處理器,不要將我放入工作內存,請直接在主存操作我.(工作內存詳見java內存模型)因此,當多核或多線程在訪問該變量時,都將直接操作主存,這從本質上,做到了變量共享.v
系統 2019-08-29 22:02:41 1913