原创 JDK源碼分析--ArrayList怎麼擴容

爲何將ArrayList的擴容單獨寫成一篇博客?         之前對ArrayList進行過源碼分析,對於擴容也有介紹,但考慮到文章寫得有點多,可能一些朋友根本沒興趣全部看完;基於此原因,將其擴容規則單獨列出。 源碼: privat

原创 JDK源碼分析--ArrayList深入理解

一、實現原理 以JDK1.8.0_74源碼爲基礎進行分析。 1、基於數組的實現,是一個容量能自動增長的動態數組。 2、ArrayList實現了Serializable接口,因此它支持序列化,能夠通過序列化傳輸,實現了RandomAcces

原创 牛客網題庫分享--final byte

代碼片段: byte b1=1,b2=2,b3,b6;  final byte b4=4,b5=6;  b6=b4+b5;  b3=(b1+b2);  System.out.println(b3+b6); 關於上面代碼片段,敘述

原创 牛客網題庫分享--字符串常量池

如下代碼,試問輸出分別爲____   _____? public class Test { public static void main(String[] args) { test(); } public static

原创 JDK源碼分析--HashMap深入理解

一、實現原理 以JDK1.7源碼爲例進行分析 (一)Hashing的概念         將字符串轉換成固定長度(一般是更短的長度)的數值或索引值的方法,也稱爲散列法或哈希法。常用於數據庫中建索引,或是用於各種加解密算法中。      

原创 JDK源碼分析--HashMap的擴容

面試時老生常談的問題:請問HashMap在什麼時候擴容? 稍稍看過源碼的立馬回答:默認裝載因子0.75,當size達到總容量的0.75時會擴容。 而事實如此嗎?經實驗證明,不一定,還需要看JDK的版本。 HashMap中有一個重要的屬性叫

原创 CentOS修改系統環境變量

  一、對所有用戶永久生效 1、編輯配置文件 vim /etc/profile 以jdk環境變量設置爲例,在最後面添加 : export JAVA_HOME=/opt/jdk1.7.0_67 export PATH=$JAVA_HO

原创 Linux服務器間信任關係建立方法[轉]

Linux兩臺服務器間建立信任關係的方法   在Linux服務器之間建立信任關係,是很多線上服務系統的基礎性工作,這樣能便於程序在多臺服務器之間自動傳輸數據,或者方便用戶不輸入密碼就可以在不同的主機間完成登錄或者各種操作。 網上關於建立L

原创 tomcat8啓動異常:APR/native library which is not available

cetos7.0環境下啓動tomcat8,報如下錯誤 Tomcat ans APR lib : requires the APR/native library which is not available 查看tomcat配置文件serv

原创 SpringMVC Controller控制頁面的重定向

場景:        客戶端(或B端)需要跳轉到某個第三方頁面, (1)但這個頁面並不是固定的,需要由後端來控制具體跳轉的頁面; (2)頁面需要後端來添加一些參數,比如Get請求:http://*******.com?id=12&serv

原创 判斷從輸入流中獲取的字符串是什麼編碼(UTF-8環境)

      當你從一個未知編碼的文件中,通過輸入流讀取內容時,假如是亂碼怎麼辦?       如果你不知道字符串的編碼,可能你只能靠嘗試常用的編碼的方式,將字符串處理成正確編碼格式。 舉個例子:“#鍑借喘鍚岃櫣嬈懼紡f” 這是從某文件中讀

原创 "#未知編碼的字符串".startsWith("#")爲什麼會是false UTF-8 BOM編碼的坑

"#未知編碼的字符串".startsWith("#")爲什麼會是false? 我都這麼命名標題了,那麼問題很顯然,編碼不統一導致。   發現這個問題的背景:       我在獲取別人的t配置信息(txt文件)時,如果遇到以“#”開頭,則說

原创 使用反射技術,實現XML與對象相互轉換(自己封裝的超類,相互學習)

       對於網上的各種將XML同對象相互轉換的方法比較多,但是如果對方給你提供的XML並非標準的XML格式,恐怕就只能自己封裝方法了。作者在調用某票務公司提供的接口時,由於其返回XML流存在不標準的結構,因此自己寫了個超類,繼承於這

原创 使用XMLSerializer報錯java.lang.NoClassDefFoundError: nu/xom/ParentNode

解決方案: 引入xom包; maven倉庫地址:https://mvnrepository.com/artifact/xom/xom 目前最新版本爲1.2.5,遺憾的是這個包在2010年月就已經停更了。 pom.xml中添加依賴如下: <

原创 project-clean、tomcat-clean、maven-clean、maven-update project 這些操作有什麼作用

       在開發Web項目(Maven構建)時,本地使用tomcat運行時經常會遇到一些問題導致啓動失敗,比如ClassNotFoundException、NoClassDefFoundException、找不到jar包等等。有些時候