原创 高併發架構1

前言       高併發經常會發生在有大活躍用戶量,用戶高聚集的業務場景中,如:秒殺活動,定時領取紅包等。       爲了讓業務可以流暢的運行並且給用戶一個好的交互體驗,我們需要根據業務場景預估達到的併發量等因素,來設計適合自己業務場景

原创 美團技術四面1

分享一位美團面試經歷: 美團我是在拉勾網上投的簡歷,之前也投過一次,簡歷都沒通過刪選,後來讓學姐幫我改了一下簡歷,重新投另一個部門,獲得了面試機會。10月23日中午HR打電話過來預約了下午4點半面試,說會在線寫代碼,讓我準備好網絡環境。

原创 目錄

1:mysql優化 2:sql查詢優化,sql寫入優化 3:分庫分表如何實現,使用什麼工具 4:數據庫分庫分表分區 5:有哪些索引 6:索引什麼情況下失效 7:什麼是索引,Oracle索引的數據結構 8:oracle索引建立時需要注意什麼

原创 1.什麼情況下發生GC

一:jvm運行時數據區的劃分         (1)程序計數器(Program Conuter Register)         程序計數器是一塊較小的內存空間,它是當前線程執行字節碼的行號指示器,字節碼解釋工作器就是通過改變這個計數

原创 5.concurrentHashMap的實現

  JDK1.7的實現 在JDK1.7版本中,ConcurrentHashMap的數據結構是由一個Segment數組和多個HashEntry組成,如下圖所示:   Segment數組的意義就是將一個大的table分割成多個小的table來

原创 6.linkedlist和arraylist的區別

ArrayList和LinkedList的大致區別如下: 1.ArrayList是實現了基於動態數組的數據結構,LinkedList基於鏈表的數據結構。  2.對於隨機訪問get和set,ArrayList覺得優於LinkedList,因

原创 9.btree結構和b+tree結構的區別

(1)B樹        即二叉搜索樹:        1.所有非葉子結點至多擁有兩個兒子(Left和Right);        2.所有結點存儲一個關鍵字;        3.非葉子結點的左指針指向小於其關鍵字的子樹,右指針指向大於其

原创 8.如何理解迭代器

一:概念 迭代器:對Collection進行迭代 二:源碼中的參數介紹 Collection接口的定義:        public interface Collection<E> extends Iterable<E> Iterable

原创 7.談談對集合的理解

         Java集合是java提供的一個工具包,全部繼承自java.util.*。主要包括兩大接口Collection接口和Map接口以及相關的工具類(Iterator迭代器接口、Enumeration枚舉類、Arrays和C

原创 3.hashMap的數據結構,源碼中的常用方法

一:hashMap的數據結構         HashMap儲存的是鍵值對,並允許使用null值和null鍵,不保證映射的順序。HashMap實際上是一個“鏈表散列”的數據結構,即數組和鏈表和紅黑樹的結合體。          數組:存

原创 1.jdk1.8中hashMap的原理,hash衝突如何解決

一:hashMap的工作原理        HashMap是基於鏈地址法的原理,使用put(key, value)存儲對象到HashMap中,使用get(key)從HashMap中獲取對象。        當我們給put()方法傳遞鍵和值

原创 2.hashMap如何保證線程安全

一:hashMap線程不安全表現 (1)在兩個線程同時嘗試擴容HashMap時,可能將一個鏈表形成環形的鏈表,所有的next都不爲空,進入死循環; (2)在兩個線程同時進行put時可能造成一個線程數據的丟失; 二:如何線程安全的使用has

原创 1.hashMap的原理,hash衝突如何解決

一:hashMap的原理        HashMap的主幹是一個Entry數組。Entry是HashMap的基本組成單元,每一個Entry包含一個key-value鍵值對。 //HashMap的主幹數組,可以看到就是一個Entry數組

原创 11.線程的狀態,線程池的構造方式,線程池的特性

一:線程的狀態 (1)初始狀態         實現Runnable接口和繼承Thread可以得到一個線程類,new一個實例出來,線程就進入了初始狀態。 (2) 就緒狀態       1)就緒狀態只是說你資格運行,調度程序沒有挑選到你,

原创 10.線程和線程池的區別,線程池有哪些,什麼情況下使用

一:線程和線程池的區別 (1)new Thread 的弊端       a. 每次new Thread時,新建對象性能差。       b. 線程缺乏統一管理,可能無限制新建線程,相互之間競爭,可能佔用過多系統資源導致死機或oom。