當(dāng)我們有業(yè)務(wù)需求的時(shí)候,需要判斷當(dāng)前時(shí)間是否為節(jié)假日有3種方式 Jsoup 爬蟲爬取 (萬(wàn)年日歷查詢 或者 360日歷 百度日歷) 自己維護(hù)一套日歷數(shù)據(jù)表(成本較高) 調(diào)用開...
@[toc] 1. 什么是布隆過(guò)濾器 布隆過(guò)濾器(Bloom Filter)是一個(gè)叫做Bloom 于1970年提出的。我們可以把它看做由二進(jìn)制向量(或者說(shuō)位數(shù)組)和一系列隨機(jī)...
概念: 計(jì)數(shù)排序不是一個(gè)比較排序算法,該算法于1954年由 Harold H. Seward提出,通過(guò)計(jì)數(shù)將時(shí)間復(fù)雜度降到了O(N),利用數(shù)組下標(biāo)來(lái)缺的元素的正確位置 案例:...
1. 什么是堆 堆的本質(zhì)上是一種完全二叉樹,它分為兩個(gè)類型 最大堆: 最大堆的任何一個(gè)父節(jié)點(diǎn)的值,都大于或等于它左、右孩子節(jié)點(diǎn)的值 最小堆: 最小堆的任何一個(gè)父節(jié)點(diǎn)的值,都小...
概述 說(shuō)起垃圾收集器 (Garbage Collection,下文簡(jiǎn)稱GC),Java 內(nèi)存區(qū)域的各個(gè)部分,其中 程序計(jì)數(shù)器、虛擬機(jī)棧、本地方法棧3個(gè)區(qū)域隨線程而生,隨線程而...
放入隊(duì)列,直接返回成功,隊(duì)列 特點(diǎn) 先進(jìn)先出
支付寶是如何處理熱點(diǎn)賬戶高并發(fā)轉(zhuǎn)賬問(wèn)題的前言:方案設(shè)計(jì)前提 一般賬務(wù)系統(tǒng)對(duì)賬戶的沖扣需要滿足以下兩點(diǎn) 1:更新賬戶表中的賬戶余額。 2:記錄賬戶明細(xì)表中的賬戶更新前余額,賬戶更新后余額,操作金額。 其中對(duì)賬戶表中的...
前言:方案設(shè)計(jì)前提 一般賬務(wù)系統(tǒng)對(duì)賬戶的沖扣需要滿足以下兩點(diǎn) 1:更新賬戶表中的賬戶余額。 2:記錄賬戶明細(xì)表中的賬戶更新前余額,賬戶更新后余額,操作金額。 其中對(duì)賬戶表中的...
簡(jiǎn)介 同冒泡排序一樣,快速排序也屬于交換排序,通過(guò)元素之間的比較和 交換位置來(lái)達(dá)到排序的目的。 不同的是,冒泡排序在每一輪中只把1個(gè)元素冒泡到數(shù)列的一端,而快速排序則在每...
簡(jiǎn)介 雞尾酒排序是冒泡排序的一種,又稱為來(lái)回排序。它比冒泡排序要高級(jí)點(diǎn), 冒泡排序的每一個(gè)元素都可以像小氣泡一樣,根據(jù)自身大小,一點(diǎn)一點(diǎn)地向著數(shù)組的一側(cè)移動(dòng)。算法的每一輪都是...
簡(jiǎn)介 冒泡排序是一種非常主流的排序算法,冒泡排序的英文(Bubble sort),它是一種基礎(chǔ)的交換排序。 原理 : 比較兩個(gè)相鄰的元素,將值大的元素交換至右端。 思想:...
@[TOC] 一 概述 Java 與 C++之間有一堵由內(nèi)存動(dòng)態(tài)分配和垃圾收集技術(shù)所圍成的高墻,墻外面的人想進(jìn)去,墻里 面的人卻想出來(lái)。 ?? 對(duì)于從事 C、C++程序開發(fā)的...
@[TOC] Atomic 原子類 1. 原子類介紹 不可分割的 一個(gè)操作是不可中斷的,即使多線程的情況下也可以保證, 即使是在多個(gè)線程一起執(zhí)行的時(shí)候,一個(gè)操作一旦開始,就不...
@[toc] 一、什么是線程池 線程池就是創(chuàng)建若干個(gè)可執(zhí)行的線程放入一個(gè)池(容器)中,有任務(wù)需要處理時(shí),會(huì)提交到線程池中的任務(wù)隊(duì)列,處理完之后線程并不會(huì)被銷毀,而是仍然在線程...
@[TOC] 介紹 ThreadLocal,作者: Josh Bloch and Doug Lea ThreadLocal提高一個(gè)線程的局部變量,訪問(wèn)某個(gè)線程擁有自己局...
@[toc] 簡(jiǎn)介 HashMap 主要用來(lái)存放鍵值對(duì),它基于哈希表的 Map 接口實(shí)現(xiàn),是常用的 Java 集合之一。 JDK1.8 之前 HashMap 由 數(shù)組+鏈表 ...
@[TOC] 簡(jiǎn)介 LinkedList是基于鏈表實(shí)現(xiàn)的,從UML圖可以看出是一個(gè)雙向鏈表。除了當(dāng)做鏈表使用外,它也可以被當(dāng)作堆棧、隊(duì)列或雙端隊(duì)列進(jìn)行操作。不是線程安全的,繼...
@[TOC] 導(dǎo)語(yǔ) 在日常工作中,我們都需要遵守一定的規(guī)范,比如簽到大卡、審批流程等,這些規(guī)范雖然有一定等約束感覺(jué),卻是非常有必要等,這樣可以保證正確性和嚴(yán)謹(jǐn)性,但有些情況下...