原创 阿里雲ECS服務器遠程連接和數據庫的配置踩坑記錄

1. ECS服務器的連接 2. mysql數據庫的配置 3. 在本地遠程連接服務器上的mysql數據庫 4. 在mysql中創建用戶名並賦予權限 前段時間進行阿里雲服務器的配置和在服務器上搭建mysql數據庫,在此過程中踩過不

原创 幾種遍歷集合方式的總結

元素在內存中的兩種存放方式 一種是順序存放,內存地址是連續的。順序存放的集合一般會實現RandomAccess接口,表示此集合中的元素可以隨即存取。讀取一個元素的時間複雜度爲O(1) 一種是隨即存放,內存地址是不要求連續的。每

原创 mybatis與spring整合詳解

1. 引言 2. 傳統JDBC代碼的弊端 3. 配置數據源 3.1. 使用spring自帶的數據源 3.2. 使用DBCP數據源 3.3. 使用c3p0數據源 3.4. 使用JNDI數據庫連接池 4. MyBatis-S

原创 MyBatis框架:核心組件+基本配置

1. 概要 2. MyBatis核心組件 2.1. SqlSesionFactoryBuilder(構造器) 2.2. SqlSessionFactory(工廠接口) 2.3. SqlSession(會話) 2.4. SQL

原创 Java併發編程 —— 同步工具類-閉鎖(CountDownLatch)、信號量(Semaphore)、柵欄(CyclicBarrier)

1. 引言 2. CountDownLatch 2.1. 理解 3. Semaphore 3.1. 公平信號量和非公平信號量 3.2. 構造方法 3.3. acquire():獲取許可證 3.4. release()釋

原创 關於Spring中的緩存機制與SpringBoot整合Redis作爲緩存的一些思路

更新以前的博客 最近在使用SpringBoot整合Redis,網上的整合項目千篇一律,對於細節問題和在實際的開發過程中如何進行配置和使用自己一直沒搞明白,再此將自己的一點思路整理下來,供後面參考。 關於註解:@SpringBoot

原创 Model、ModelMap和ModelAndView的用法總結

三者的區別 Model Model是一個接口,它的實現類ExtendModelMap繼承自ModelMap類 public class ExtendModelMap extends ModelMap implement

原创 在運行時識別對象和類的信息——傳統的RTTI和Java反射機制

1. 引言 2. 運行時識別對象和類的信息(RTTI) 2.1. 傳統的RTTI 3. 反射 3.1. Class 3.1.1. 如何獲取Class類的實例 3.2. Constructor 3.2.1. 在獲

原创 Java數據結構——線性表、隊列、棧、堆、集合、散列表、映射的概念

1. 合集Collection 2. 迭代器Iterator 3. 線性表List 3.1. 關於ListIterator接口 3.2. 數組線性表類ArrayList 3.3. Vector 3.4. 鏈表類LinkedL

原创 Java併發編程 —— Runnable和Callable

1. Runnable和Callable 2. Future和FutureTask 1. Runnable和Callable Java多線程有兩個重要的接口,Runnable和Callable,分別提供了一個call方法和

原创 LinkedHashMap中如何對雙向鏈表進行維護——從源碼角度進行分析

1. 簡介 2. 繼承體系 3. 源碼解析 3.1. 屬性 3.2. 構造方法 3.3. 內部類 3.4. afterNodeInsertion(boolean evict)方法 3.5. afterNodeAccess(N

原创 String字符串的創建與存儲機制 —— 關於常量池以及String到底創建幾個對象

1. Java中兩種創建字符串對象方式的分析 2. Intern()方法 3. 字符串的幾種操作 1. Java中兩種創建字符串對象方式的分析 第一種: String s1 = new String("abc"); Str

原创 面試時遇到的linux命令問題

引言 今天在面試一家大廠時,面試官問道會使用linxu系統,linux命令會用吧,在平時也就是在linux下搭建java web的開發環境,解決常用到的問題,對命令使用的廣度不夠,需要日積月累. 特此翻開以前的博客,進行更新. 問

原创 快速失敗(fail-fast)和安全失敗(fail-safe)的分析——以ArrayList和CopyOnWriteArrayList爲例

1. 引言 2. 簡介 3. 繼承體系 4. 源碼解析 4.1. Iterable接口 4.2. Iterator 4.3. ArrayList實現iterator()方法 5. 總結 1. 引言 對於快速失敗(fa