有一道流傳廣泛的面試題:給你一臺 4G 內(nèi)存的機(jī)器,一組 20 億個無序正整數(shù),如何快速地判斷一個正整數(shù) N 是否在這組數(shù)字中?或者如何快速地對這組數(shù)據(jù)排重后排序逮栅?讓我們先算...
![240](https://cdn2.jianshu.io/assets/default_avatar/5-33d2da32c552b8be9a0548c7a4576607.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
有一道流傳廣泛的面試題:給你一臺 4G 內(nèi)存的機(jī)器,一組 20 億個無序正整數(shù),如何快速地判斷一個正整數(shù) N 是否在這組數(shù)字中?或者如何快速地對這組數(shù)據(jù)排重后排序逮栅?讓我們先算...
在分布式系統(tǒng)中,有一些場景需要使用全局唯一 ID 怒详,可以和業(yè)務(wù)場景有關(guān),比如支付流水號踪区,也可以和業(yè)務(wù)場景無關(guān)昆烁,比如分庫分表后需要有一個全局唯一 ID,或者用作事務(wù)版本號缎岗、分布...
并非引戰(zhàn)貼密强,就是希望 [培訓(xùn)班 && 非科班] 出身的程序員伙伴茅郎,不要狂妄自大,也不要妄自菲薄或渤,扎扎實(shí)實(shí)修煉編程功力系冗,會得到回報(bào)的;培訓(xùn)可以帶你入門薪鹦,但是請不要把培訓(xùn)當(dāng)做捷徑...
JAVA中的內(nèi)存溢出和內(nèi)存泄露分別是什么,有什么聯(lián)系和區(qū)別池磁,讓我們來看一看奔害。 內(nèi)存泄漏 & 內(nèi)存溢出 1. 內(nèi)存泄漏(memory leak ) 申請了內(nèi)存用完了不釋放,比如...
緩存擊穿和緩存雪崩的區(qū)別在于:雪崩針對很多 key,而擊穿只針對于某一個熱點(diǎn) key端考。 設(shè)置緩存永不過期雅潭,這個方法雖然很暴力,但是確實(shí)能解決大部分的問題却特,當(dāng)然扶供,大部分場景也不...
如果問到 == 和 equals 的區(qū)別裂明,相信很多程序員同學(xué)都能脫口而出:一個是判斷地址椿浓,一個是判斷內(nèi)容。但是如果繼續(xù)追問:“你重寫過 equals 么?”扳碍,“重寫 equa...
先讓我們看一個問題:如果要存一組有序的 int 型數(shù)據(jù)集合左腔,我們可以如何實(shí)現(xiàn)唧垦? 數(shù)組 可能大多數(shù)同學(xué)最先想到的是用數(shù)據(jù)實(shí)現(xiàn),將有序的數(shù)據(jù)集合存放在數(shù)據(jù)中液样,可以使用二分法進(jìn)行查...
先舉個例子,說明為什么要做“限流”鞭莽。 旅游景點(diǎn)通常都會有最大的接待量坊秸,不可能無限制的放游客進(jìn)入,比如故宮每天只賣八萬張票澎怒,超過八萬的游客褒搔,無法買票進(jìn)入,因?yàn)槿绻^八萬人喷面,景...
如果是 IT 老鳥,對于中間件惧辈、數(shù)據(jù)庫中間件這些名詞一定都不陌生琳状,但是如果是程序員新人,如果你向他解釋:“中間件就是和業(yè)務(wù)無關(guān)的技術(shù)組件”盒齿;有些新人可能依然會比較懵念逞,啥是組件...
大部分的企業(yè)級應(yīng)用從本質(zhì)上看翎承,都是在做增刪查改,但是有些公司的業(yè)務(wù)復(fù)雜而專業(yè)符匾,有些公司應(yīng)用的在線用戶很多叨咖,你做的增刪查改和別人做的增刪查改,可能會有極大的區(qū)別啊胶,舉個例子: 你...
關(guān)于 Redis 的使用,大家應(yīng)該已經(jīng)不陌生了南吮,我也介紹過 Redis 的使用琳彩、數(shù)據(jù)結(jié)構(gòu)、使用場景分析,既然 Redis 這個強(qiáng)大露乏,那么架構(gòu)中引入了 Redis 之后碧浊,是不是...
Redis 的數(shù)據(jù)架構(gòu)箱锐,可以參考下圖: Redis中的所有 value 都是以 Object 的形式存在的,其通用結(jié)構(gòu)如下: type:指類型劳较,String驹止、Hash、Lis...
簡單來說墓捻,Redis 就是一個數(shù)據(jù)庫抖仅。不同于傳統(tǒng)數(shù)據(jù)庫將數(shù)據(jù)保存在磁盤中,Redis 將數(shù)據(jù)存在內(nèi)存中砖第,所以它也經(jīng)常被叫做內(nèi)存數(shù)據(jù)庫撤卢;同時 Redis 存儲也被叫做 NoS...
數(shù)據(jù)分片 ?? 先讓我們看一個例子吧 我們經(jīng)常會用 Redis 做緩存放吩,把一些數(shù)據(jù)放在上面,以減少數(shù)據(jù)的壓力袱院。 當(dāng)數(shù)據(jù)量少屎慢,訪問壓力不大的時候,通常一臺Redis就能搞定忽洛,為...
分布式架構(gòu)下的 Session 共享欲虚,也稱作分布式 Session 一致性集灌;分布式架構(gòu)下 Session 共享有哪些問題,又有哪些解決方案复哆,讓我們一起看一下欣喧。 Session...
JVM 運(yùn)行時數(shù)據(jù)區(qū)域大致可以分為:程序計(jì)數(shù)器、虛擬機(jī)棧锈锤、本地方法棧驯鳖、堆區(qū)闲询、元空間、運(yùn)行時常量池浅辙、直接內(nèi)存等區(qū)域扭弧;就是下面這個樣子的: 其中有些區(qū)域,隨著 JDK 版本的升級...
關(guān)于 Java 字符串 String 有一道很基礎(chǔ)的面試題记舆,相信很多人都遇到過鸽捻,就是 String s = "a" 和 String s = new String("a") ...