原创 高併發下,怎麼選擇最優的線程數?

最常見的說法應該是,採用線程池,他可以有效降低線程創建釋放的時間花銷及資源開銷,如不使用線程池,有可能造成系統創建大量線程而導致消耗完系統內存以及“過度切換”(在JVM中採用的處理機制爲時間片輪轉,減少了線程間的相互切換) 。 下

原创 索引是建的越多越好嗎

明顯不是,有以下幾點: 1.數據量小的表不需要建立索引,建立會增加額外的索引開銷 2.不經常引用的列不要建立索引,因爲不常用,即使建立了索引也沒有多大意義。對經常用於查詢的字段應該創建索引。 3.經常頻繁更新的列不要建立索引,因爲

原创 windows neo4j數據庫備份操作

先關閉neo4j 執行備份命令 graph01.db是數據庫名,自己指定的,默認是graph.db 重新導入數據庫,用 neo4j-admin load --from=E:\neo4jdata\graph01.db.dump -

原创 2020IDEA有個巨坑,這裏一定要勾選

2020IDEA有個巨坑,這裏一定要勾選,不然pom文件沒錯,但運行就各種找不到包,比如:連springboot啓動類都找不到

原创 是否線程池一定比單線程高效?

不一定, 比如Redis就是單線程的,但它卻非常高效,基本操作都能達到十萬量級/s。從線程這個角度來看,部分原因在於: 1.多線程帶來線程上下文切換開銷,單線程就沒有這種開銷; 2.採用單線程,避免了不必要的上下文切換和競爭條件,

原创 Java中的 volatile 關鍵字

說這個之前,要先說到cpu的運行,大家都知道,計算機在執行程序時,每條指令都是在 CPU 中執行的,而執行指令過程中,勢必涉及到數據的讀取和寫入。由於程序運行過程中的臨時數據是存放在主存(物理內存)當中的,這時就存在一個問題,由於

原创 Nginx爲什麼快,爲什麼好用

相信大家平時用的最多的地方應該是做反向代理。不過人家可是不止這些東西。Nginx 是以其高性能,穩定性,豐富的功能,簡單的配置和低資源消耗而聞名。以下是nginx的http連接和處理過程。 HTTP 連接建立和請求處理過程如下:

原创 筆試編程題:小Q的歌單(python實現),用itertools

小Q有X首長度爲A的不同的歌和Y首長度爲B的不同的歌,現在小Q想用這些歌組成一個總長度正好爲K的歌單,每首歌最多只能在歌單中出現一次,在不考慮歌單內歌曲的先後順序的情況下,請問有多少種組成歌單的方法。 輸入描述: 每個輸入包含一個

原创 python手動拆分數據集

def data(fileName, fileOut): f = open(fileName) w = open(fileOut, 'w') flag=False doc=f.readlines()

原创 通過裝飾模式來包裹被裝飾的函數可以用類@decorate_class,也可以用函數@decorate_function

def decorate_function(original_function): def wrapper_function(*args,**kwargs): print('original_functio

原创 python中的sorted函數和operator.itemgetter()函數

nameRank = sorted(rankList.items(), key = operator.itemgetter(1)) rankList 是一個字典,rankList.items() ,Python 字典 items(