Time of Update: 2018-07-27
先說下整體思路: 包含小數的十六進位,我們可以先把它分為整數和小數兩部分, 然後在進行字串比較,進行相應的替換。 包含二進位的小數,思路差不多,需要注意的是左邊整數不夠四位的補0,右邊也如此。 import java.math.BigDecimal;public class Test13 { public static void main(String[] args) {//十六-二 // TODO 自動產生的方法存根 String e =
Time of Update: 2018-07-27
public class ConversionAlphaNumericUtil { /** The logger. */ private static final Logger LOGGER = LoggerFactory.getLogger(ConversionAlphaNumericUtil.class); private static final String baseDigits =
Time of Update: 2018-07-27
Java有四種存取權限,其中三種有修飾詞,分別是:public、protected、private關鍵字。還有一種是沒有修飾詞時候的預設存取權限:包存取權限。 包存取權限:沒有修飾詞時候的預設存取權限,同一個包下面的類可以訪問,其他包下的類不可以訪問。 public:在任何地方都可以訪問。 private:只有在一個類內部的成員和方法可以訪問。
Time of Update: 2018-07-27
我們從市場對 Java 程式員的需求入手,分析了 Java 程式員的未來的發展道路。市場常常按照 3 年為一個界限,100offer 在這裡把工作經驗 3 年以下的程式員稱為初級工程師,3 年至 6 年的程式員為進階工程師,6 年及以上的則是資深工程師。我們瀏覽了大量的職位需求,這裡列舉三個比較典型的例子分別分析市場對他們的需求。 1. 初級 Java 程式員的核心考核要素 這個階段的候選人一般都剛加入工作,工作時間不超過 3
Time of Update: 2018-07-27
今天正式畢業了,在北京的某公司也順利結束了實習。從學校回北京後直接轉正了,雖然今天周六還是去公司轉悠轉悠,一直想好好看看《Thinking in Java》(第四版),畢業了,全身心投入到工作中,自然也有了時間,從今天開始好好翻看一邊這本書,將自己在Java方面的基礎打的結實些。以後就是開篇一點小廢話,然後直入本文。因為自身有一定的Java基礎,所以隨記會很草率,只記錄一些自己覺得相對的痛點和自己的知識漏洞,和大家一起分享下,所以這一系列的東西不適合沒有Java基礎的朋友咯。
Time of Update: 2018-07-27
序言 有時候,項目中會用到java動態載入指定的類或者jar包反射調用其方法來達到模組的分離,使各個功能之間耦合性大大降低,更加的模組化,代碼利用率更高。模式中的代理模式就用到java的這一機制。下邊就讓我們通過代碼來看看如何?此功能。 代碼詳細 package loadjarclass;import java.io.File;import java.lang.reflect.Method;import
Time of Update: 2018-07-27
在現實的辦公中,我們常常會有這樣一個要求:要求把報表直接用excel開啟。在實習中有這樣一個需求。根據所選擇的資源查詢使用者所提供附件的全部資訊並產生excel供下載。但是在查詢的時候我們需要來檢測使用者所提供的附件裡面的資訊是否有錯誤(身份證)。有錯誤的建置錯誤資訊excel。 Apache的POI項目,是目前比較成熟的HSSF介面,用來處理Excel對象。其實POI不僅僅只能處理excel,它還可以處理word、PowerPoint、
Time of Update: 2018-07-27
暫停Thread yield方法: 靜態方法Thread.yield() yield方法會讓Thread對象直接從執行(running)狀態進入等待執行(runnable)狀態。 這裡的“直接”是指沒有設定等待時間(沒有blocked pool等待池的概念),也就是yield方法沒有參數。 但是。 因為(running)狀態和(runnable)狀態之間的轉換,需要cpu調度的:可能延遲一點時間,也可能一點也不延遲。
Time of Update: 2018-07-27
需求:MultipartFile 檔案上傳,依賴包可百度自行下載 public static void uploadFile(MultipartFile file, HttpServletRequest request,String path) throws IllegalStateException, IOException { // String url = //
Time of Update: 2018-07-27
JDK 6.0 以及JDK 5.0 update 9 的 nio支援epoll (僅限 Linux 系統 ),對並發idle connection會有大幅度的效能提升,這就是很多網路伺服器應用程式需要的。 啟用的方法如下: -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider 在 Linux 下啟動並執行 Tomcat 使用 NIO Connector ,那麼啟用 epoll
Time of Update: 2018-07-27
java網路io編程,從傳統的BIO(同步阻塞)到NIO(同步非阻塞)再到AIO(非同步非阻塞). 情境:用戶端想服務端發送請求,服務端會為每個用戶端建立一個線程來響應,問題來了,如果用戶端出現了延時等異常,多是網路異常,這樣的話,服務端的為它建立的線程,一直處於等待狀態,這樣這個線程就會佔用很長時間(因為資料的準備和讀取都在這個線程上完成),更糟糕的情況是,如果此時有大量的並發訪問,伺服器就會為之建立大量的線程來響應,所以引起伺服器資源枯竭等。
Time of Update: 2018-07-27
這幾天,一直在為Java的“記憶體泄露”問題糾結。Java應用程式佔用的記憶體在不斷的、有規律的上漲,最終超過了監控閾值。福爾摩 斯不得不出手了。 分析記憶體泄露的一般步驟 如果發現Java應用程式佔用的記憶體出現了泄露的跡象,那麼我們一般採用下面的步驟分析 把Java應用程式使用的heap dump下來 使用Java heap分析工具,找出記憶體佔用超出預期(一般是因為數量太多)的嫌疑對象
Time of Update: 2018-07-27
第一部分
Time of Update: 2018-07-27
Java有記憶體流失嗎。有。雖然有人說這個說法不準確,但是在C/C++程式中,我們把由當前進程開闢但當前進程在邏輯上卻無法再管理的那些記憶體稱為被進程泄漏的記憶體。事實上java同樣會有這樣的情況。
Time of Update: 2018-07-27
《Java 源碼分析》:Java NIO 之 SelectionKey 在ServerSocketChannel源碼分析中我們知道當把一個channel註冊到指定的Selector上時, 實際上就是將(channel,selector)封裝成了一個SelectionKey對象,並將此對象儲存在了Selector對象中。 SelectionKeyImpl k = new SelectionKeyImpl((SelChImpl)ch, this); 在Java NIO
Time of Update: 2018-07-27
在說枚舉之前先來舉個例子,我們都知道發表的csdn部落格都需要審核,那麼審核的狀態就有這麼幾種:審核中、審核通過、審核不通過(假設目前的需求就要求有這麼三種狀態)。那麼我們可以在項目裡這麼寫 if(state == 1){ //1表示審核中 MethodA();}else if(state == 2){ //2表示審核通過 MethodB();}else if(state == 3){ //3表示審核不通過 MethodC();}
Time of Update: 2018-07-27
在java中如果調用了ArrayList中的remove方法,其本質上是將要remove的對象與list中的每一個對象進行比較,比較的方法是調用Object中的equals方法,本質上是比較2個對象的記憶體位址是否一樣。如下面的代碼:我們想刪除一個Employee對象,所以我們就new了一個和原來Employee對象內容完全一樣的對象,很顯然這樣是不能remove掉的,因為調用remove方法的時候其實是調用Employee中的equals方法,因為Employee類並沒有重寫Object的eq
Time of Update: 2018-07-27
Integer類中的四個靜態方法提供了10進位和其他進位之間的轉換 十進位轉成其他進位 10進位轉成16進位 Integer.toHexString(int i) 10進位轉成8進位 Integer.toOctalString(int i) 10進位轉成2進位 Integer.toBinaryString(int i) 其他進位轉十進位 轉化為Integer
Time of Update: 2018-07-27
在準備Amazon的面試,有一道題目是這樣的。 已知兩個樹A,B,求B是否是A的子樹。 其實題目並不難。不知道為什麼我就把自己困在建樹上了。我記得我上一次寫二叉樹也是把自己困在建樹上了。其實遍曆什麼的都很清晰。我也不記得我兩年前是怎麼建樹的了,這次重新寫了一個。 不知道在哪裡看的執行個體輸入裡面有0,從此0在我腦海裡面根深蒂固。我的輸入還蠻奇怪的。仔細想想其實還是不把0納入考慮,因為會影響結果。不過懶得改了。。。建樹建成我這樣也是。。。
Time of Update: 2018-07-27
大家都知道JDK 5以後引入了自動拆裝箱的機制,這對於寫代碼來說是一件很美好的事。Integer對象在-128~127之間比較這些老梗就不提了,自己看源碼就可以理解了,今天我們來說一些意外的事 //A.java有類A,A調了B的方法add(int i),這時傳的是個原始類型, 完美匹配class A { public static void main(String[] args) { B.add(1); }}//B.javaclass B {