原创 Mybatis源碼解析(二) 創建SqlSession

前言 上篇文章講到了SqlSessionFactory的創建,這篇文章繼續對Mybatis的會話進行解析,那什麼是會話? 會話就是客戶端與數據庫建立的對話,一個Client和一個Database必須有一個會話,才能相互之間進行數

原创 Mybati源碼分析(一) 創建SqlSessionFactory

簡介 Mybatis是一款優秀的ORM框架,是國內使用的ORM框架中的主流,它使用簡單,入們很快。對於有過幾年Java開發經驗的老司機,我相信都對它如何使用已經能夠輕車熟路了,但是,閱讀Mybatis的源碼的估計不多,如果各位朋友

原创 virtualbox安裝centos虛擬機教程

前言 做Java開發,常常需要用到linux,所以linux是後端程序員所必備的知識,在學linux之前,需要有學習的環境,條件充足的可以買雲服務器,如果不想花個幾百塊錢,也可以在自己本地環境安裝一下虛擬機. 前期準備 下載vir

原创 關於ThreadPool拋出OOM問題

關於ThreadPool拋出OOM問題案例爲什麼會OOM 案例 最近在學習Java調優,有個案例是ThraadPool導致OOM,在不瞭解線程池的情況很難看出問題來。 代碼片. package com.example.demo;

原创 讓宿主機能和Linux的虛擬機內部SNAT網絡互訪

前言 學習linux難免不接觸docker容器,它是一個和牛逼的容器技術,你可以在裏面裝各樣的軟件,就像在獨立的環境。比如我可以我的docker裏面裝了多個的Jdk,tomcat,mysql,甚至多個linux發行版。它的功能超級

原创 Linux虛擬機 sda分區擴容

Linux分區中涉及的概念 如果用標準分區在硬盤上創建了文件系統,爲已有文件系統添加額外的空間多少是一種痛苦的體驗。你只能在同一個物理硬盤的可用空間範圍內調整分區大小。如果硬盤上沒有地方了,你就必須弄一個更大的硬盤,然後手動將已有

原创 通過@ConfigurationProperties進行自定義配置

Spring boot一些屬性的配置通常可以通過application.properties或application.yml裏設置,例如啓動的服務端口的設置 像上面的設置我們都已經很熟悉了,idea對它支持也非常友好,會有智能提

原创 TheadLocal是否會導致內存溢出?

最近從網上看到一個關於ThreadLocal的問題, TheadLocal是否會導致內存溢出? 從理論上說是會的,但是要看怎麼使用,既然Java設計了這個東西,肯定是有考慮過它的很多使用場景的,所以大部分情況下其實還是可以放心使用

原创 紅黑樹 插入算法(一)

前言 紅黑樹在數據結構裏面,是一種能自動平衡的樹,它的查詢速度很快,因爲能夠用到二分法,二分法的查詢複雜度只有O(log2(N)),幾萬條的數據也就只需查十幾次,不過要維持那麼高的查詢速度也是有代價,它的添加和刪除節點都需要每次都

原创 virtualbox新加linux虛擬機硬盤

1.通過vitualbox,創建虛擬硬盤 一路下一步,最後點擊創建 2.爲硬盤分區 啓動虛擬機,打開終端輸入 fdisk -l 可以看到新增的硬盤,此時還沒有做分區 3.輸入 fdisk /dev/sdb,爲硬盤sdb分