原创 用戶態與內核態的切換與區別
內核態和用戶態的區別 當一個任務(進程)執行系統調用而陷入內核代碼中執行時,我們就稱進程處於內核狀態。此時處理器處於特權級 最高的(0級)內核代碼。當進程處於內核態時,執行的內核代碼會使用當前的內核棧。每個進程都有自己的內核 棧。當進程在
原创 left join,rigth join和inner join的區別比較
inner join 與 left join 之間的區別 關於inner join 與 left join 之間的區別,以前以爲自己搞懂了,今天從前端取參數的時候發現不是預想中的結果,才知道問題出在inner join 上了。 需求是
原创 第一範式、第二範式、第三範式、BC範式
1.1 第一範式(1NF)無重複的列 所謂第一範式(1NF)是指數據庫表的每一列都是不可分割的基本數據項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現重複的屬性,就可能需要定義一個新的實體
原创 JAVA中IO技術:BIO、NIO、AIO
1、同步異步、阻塞非阻塞概念 同步和異步是針對應用程序和內核的交互而言的。 阻塞和非阻塞是針對於進程在訪問數據的時候,根據IO操作的就緒狀態來採取的不同方式,說白了是一種讀取或者寫入操作函數的實現方式,阻塞方式下讀取或者寫入
原创 分庫分表?如何做到永不遷移數據和避免熱點?sharding-jdbc 和 mycat
一、前言 中大型項目中,一旦遇到數據量比較大,小夥伴應該都知道就應該對數據進行拆分了。首先介紹一下常用的分庫分表策略: 水平分表:把一個表拆分按某個字段拆分成多個表 (比如按照ID將原表拆成多個表) 垂直分表:把表的大字段,並且不是經常查
原创 Redis的哨兵機制 或者心跳機制 Redis常考的面試題
一.什麼是哨兵機制? 答:Redis的哨兵(sentinel) 系統用於管理多個 Redis 服務器,該系統執行以下三個任務: 監控(Monitoring): 哨兵(sentinel) 會不斷地檢查你的Master和Slav
原创 GC面試問題
衆所周知,在C++,內存的管理是程序員的任務,包括對象的創建和回收(內存的申請和釋放),而在java中,我們可以通過以下四種方式創建對象(面試考點): new關鍵字創建對象 clone方法克隆產生對象 反序列化獲得對象 通過
原创 JDK1.7和JDK1.8中的HashMap源碼比較
(1)執行put(K key,V value)操作時的比較: JDK1.7中的源碼如下 public V put(K key, V value) { if (table == EMPTY_TABLE) {
原创 修改idea下的maven repository總是變成默認的問題?
解決方式很簡單,只需要將maven->conf-seting.xml下的local repostory 修改成你自己的創建的倉庫位置即可。 點贊 收藏 分享 文章舉報 平頭小強
原创 mysql是怎麼實現四種隔離級別的
原文鏈接:https://mp.csdn.net/postedit 1.爲什麼要有隔離級別? MySQL是一個服務器/客戶端架構的軟件,對於同一個服務器來說,可以有若干個客戶端與之連接,每個客戶
原创 重寫equals()必須重寫hashCode()
如果不被重寫(原生Object)的hashCode和equals是什麼樣的? 不被重寫(原生)的hashCode值是根據內存地址換算出來的一個值。 不被重寫(原生)的equals方法是嚴格判斷一個對象是否相等的方法(object1
原创 徹底讓你明白 Integer 類和 int 基本數據類型的區別
原文鏈接:https://blog.csdn.net/Teacher_Lee_ZZSXT/article/details/79230501 淺談 Integer 類 目錄 1、Integer
原创 十道海量數據處理面試題與十個方法大總結
原文鏈接:https://blog.csdn.net/v_july_v/article/details/6279498/ 第一部分、海量數據處理面試題 1、海量日誌數據,提取出某日訪問百度次數最
原创 Redis緩存雪崩、緩存穿透、熱點Key解決方案和分析
原文鏈接:https://blog.csdn.net/xinzhongtianxia/article/details/81294922 今天又學到了很多,感覺雪崩和穿透很有意思理解起來也比較清晰
原创 如何設計一個系統的 Redis 緩存以提高吞吐量和防止緩存雪崩?
原文鏈接:https://kuaibao.qq.com/s/20180918G0CAGJ00?refer=cp_1026 對於一個業務複雜、高併發和大流量的系統,緩存是重要組成部分,提升系統性能