原创 sql語句正確mybatis查找不出結果不報錯----有別名的列在映射關係必須用別名

問題描述:  項目中需要多表查詢時相同的列起了別名, 在mybatis中查詢無法得到left join的表中對應信息, 只有主表的信息 在數據庫中直接測試sql語句排除了語句問題, 也沒有報錯, 所以不是哪裏敲錯了  最後關注在別名的問題

原创 網絡----TCP/IP協議結構

爲了把全世界的所有不同類型的計算機都連接起來,就必須規定一套全球通用的協議,爲了實現互聯網這個目標,互聯網協議簇(Internet Protocol Suite)就是通用協議標準。Internet是由inter和net兩個單詞組合起來的

原创 網絡----OSI模型

 OSI(Open System Interconnect),即開放式系統互聯。 一般都叫OSI參考模型,是ISO(國際標準化組織)組織在1985年研究的網絡互連模型。 它是由國際標準化組織提出的一種概念模型,是一個試圖使各種計算機在世界

原创 TCP三次握手與四次揮手及TCP各種細節

關於TCP的四層結構 參考上一篇博客: https://blog.csdn.net/q5706503/article/details/85641790 TCP三次握手 所謂三次握手(Three-way Handshake),是指建立一個T

原创 Java併發編程----ThreadLocal詳解

ThreadLocal是什麼 首先,它是一個數據結構,有點像HashMap,可以保存"key : value"鍵值對,但是一個ThreadLocal只能保存一個,並且各個線程的數據互不干擾。 ThreadLocal用於保存某個線程共享變量

原创 單例模式 的 雙重檢查鎖定 錯在哪?

在Java多線程程序中,有時候需要採用延遲初始化來降低初始化類和創建對象的開銷。雙重檢查鎖定是常見的延遲初始化技術,但它是一個錯誤的用法。本文將分析雙重檢查鎖定的錯誤根源 。 雙重檢查鎖定的由來 在Java程序中,有時候可能需要推遲一些高

原创 java中 Map, List與Set的 區別和聯繫

集合類存放於java.util包中。 集合類存放的都是對象的引用,而非對象本身,出於表達上的便利,我們稱集合中的對象就是指集合中對象的引(reference)。 集合的主要分爲三種類型: Set(集) List(列表) Map(映射) 三

原创 Java中 ( Iterator ) 迭代器 詳解 ( JDK8源碼 )

Java集合框架的集合類,我們有時候稱之爲容器。容器的種類有很多種,比如ArrayList、LinkedList、HashSet...,每種容器都有自己的特點,ArrayList底層維護的是一個數組;LinkedList是鏈表結構的;Ha

原创 Https的加密過程 / 對稱加密和非對稱加密

Https和Http區別 WEB服務存在http和https兩種通信方式,http默認採用80作爲通訊端口,對於傳輸採用不加密的方式,https默認採用443,對於傳輸的數據進行加密傳輸 目前主流的網站基本上開始默認採用HTTPS作爲通信

原创 HashMap詳解( JDK8 之前與之後對比)

HashMap簡介 HashMap 是一個散列表,它存儲的內容是鍵值對(key-value)映射。 HashMap 繼承於AbstractMap,實現了Map、Cloneable、java.io.Serializable接口。 HashM

原创 ConcurrentHashMap詳解 ( JDK6,7,8 區別 )

線程不安全的HashMap 因爲多線程環境下,使用Hashmap進行put操作會引起死循環(導致CPU利用率接近100%), 數據丟失等情況 , HashMap是線程不安全的 ,所以在併發情況下不能使用HashMap。 關於HashMap

原创 Java中Map的 entrySet() 詳解以及用法(四種遍歷map的方式)

Entry 由於Map中存放的元素均爲鍵值對,故每一個鍵值對必然存在一個映射關係。  Map中採用Entry內部類來表示一個映射項,映射項包含Key和Value (我們總說鍵值對鍵值對, 每一個鍵值對也就是一個Entry) Map.Ent

原创 深入理解 hashcode() 和 HashMap 中的hash 算法

前言 Java中的HashMap非常常用也非常重要, 提到HashMap是離不開hashcode()方法的, 整天嘴邊掛着HashMap、Hashtable、TreeMap、LinkedHashMap、IdentityHashMap、Co

原创 Java語言是" 解釋執行" 的語言嗎

本篇來自周志明的<<深入理解java虛擬機>> 許多Java虛擬機的執行引擎在執行Java代碼的時候都有解釋執行(通過解釋器執行)和編譯執行(通過即時編譯器產生本地代碼執行)兩種選擇,在本章中,我們先來探討一下在解釋執行時,虛擬機執行引擎

原创 JVM----重載 與 重寫的本質 : 分派

本篇來自周志明的<<深入理解java虛擬機>> 衆所周知,Java是一門面向對象的程序語言,因爲Java具備面向對象的3個基本特徵:繼承、封裝和多態。本節講解的分派調用過程將會揭示多態性特徵的一些最基本的體現, 如“重載”和“重寫”在Ja