原创 Java 鎖分類

前言 Java提供了種類豐富的鎖,每種鎖因其特性的不同,在適當的場景下能夠展現出非常高的效率。本文旨在對鎖相關源碼(本文中的源碼來自JDK 8和Netty 3.10.6)、使用場景進行舉例,爲讀者介紹主流鎖的知識點,以及不同的鎖的

原创 Linux的五種IO模型(BIO,NIO,AIO)

漫話:如何給女朋友解釋什麼是Linux的五種IO模型? Java NIO淺析 BIO,NIO,AIO 總結

原创 數組和List區別

Array和List都屬於順序表。 因爲Array 長度不可變,所以有了List。 存儲結構 1、Array Array是一段連續的存儲結構 int[] array = new int[3] array其實記錄的是數組的首地址,

原创 爲什麼Mysql用B+樹做索引而不用B-樹或紅黑樹

B+樹只有葉節點存放數據,其餘節點用來索引,而B-樹是每個索引節點都會有Data域。 所以從Mysql(Inoodb)的角度來看,B+樹是用來充當索引的,一般來說索引非常大,尤其是關係性數據庫這種數據量大的索引能達到億級別,所以爲

原创 TCP/IP(六)應用層(DNS和HTTP協議)

閱讀目錄(Content) 一、應用層概述     1.1、應用層簡介     1.2、應用層中的應用軟件分兩種:客戶/服務器和P2P體系結構 二、應用層協議之DNS協議      2.1、DNS協議概述     

原创 什麼是HashMap

漫畫:什麼是HashMap? 衆所周知,HashMap是一個用於存儲Key-Value鍵值對的集合,每一個鍵值對也叫做Entry。這些個鍵值對(Entry)分散存儲在一個數組當中,這個數組就是HashMap的主幹

原创 MyBatis常見面試題整理

MyBatis 面試題 1、什麼是 Mybatis? 2、Mybaits 的優點: 3、MyBatis 框架的缺點: 4、MyBatis 框架適用場合: 5、MyBatis 與 Hibernate 有哪些不同? 6、#{}和${}

原创 String,StringBuffer與StringBuilder的區別??

String 字符串常量 StringBuffer 字符串變量(線程安全) StringBuilder 字符串變量(非線程安全) 簡要的說, String 類型和 StringBuffer 類型的主要性能區別其實在於 String

原创 設計模式學習

首先學習繼承與多態,學習接口與抽象類的作用和區別,理解什麼是設計模式及設計模式的六大原則。最後學習具體設計模式。 java基礎 1、接口和抽象類 設計模式 設計模式六大原則 1、單一職責模式 裝飾者模式[1、2、3、4] 橋

原创 java錯誤:找不到或無法加載主類

原文鏈接:https://www.cnblogs.com/wangxiaoha/p/6293340.html 使用java命令運行class文件提示“錯誤:找不到或無法加載主類“的問題分

原创 MyBatis學習筆記1

MyBatis 簡介 mybatis是一個優秀的基於java的持久層框架,採用ORM思想解決了實體和數據庫映射的問題。 持久化 :(Persistence) 即把數據(如內存中的對象)保存到可永久保存的存儲設備中(如磁盤)。持久

原创 @PathVariable 註解詳解

在Spring MVC中你可以在方法參數上使用@PathVariable註解,將其與URI模板中的參數綁定起來, 如下代碼: @RequestMapping(path="/owners/{ownerId}", method=Req

原创 spring IOC和DI詳解

原文鏈接:https://www.cnblogs.com/xdp-gacl/p/4249939.html 學習過Spring框架的人一定都會聽過Spring的IoC(控制反轉) 、DI(

原创 MyBatis學習筆記2--創建逆向工程

逆向工程 mybatis的一個主要的特點就是需要程序員自己編寫sql,那麼如果表太多的話,難免會很麻煩,所以mybatis官方提供了一個逆向工程,可以針對單表自動生成mybatis執行所需要的代碼(包括mapper.xml、map

原创 pageContext.setAttribute用法

原文鏈接:https://blog.csdn.net/qq_28643437/article/details/53705514 Servlet作用域從小到大是這樣排列的,page,req