原创 redis知識點

1.什麼是redis? 可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。 2.redis中的數據類型? Redis支持五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)

原创 Linux常用命令大全

Linux常用命令大全(非常全!!!) 原文地址:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html 系統信息  arch 顯示機器的處理器架構(1)  uname -m 顯示機器的

原创 Mongodb面試

1.什麼是NOSQL? NoSQL,指的是非關係型的數據庫。NoSQL有時也稱作Not Only SQL的縮寫,是對不同於傳統的關係型數據庫(RDBMS)的數據庫管理系統的統稱。NoSQL用於超大規模數據的存儲。 2.什麼是MongoDB

原创 MongoDB集羣搭建(分片+副本集)

MongoDB集羣搭建(分片+副本集) 分片則指爲處理大量數據,將數據分開存儲,不同服務器保存不同的數據,它們的數據總和即爲整個數據集。追求的是高性能。 副本集是在多個服務器上存儲數據副本,提高了數據的可用性, 並可以保證數據的安全性。在

原创 數據庫面試

一、數據庫問答題 1. SQL語言包括哪些類型? 數據定義DDL:Create Table,Alter Table,Drop Table, Create/Drop Index等 數據操縱DML:Select ,insert,update,

原创 關於SQL優化

在開始之前我們首先需要明白我們查詢效率低下的原因可能有哪些? 1.SQL質量太差 2.數據庫表設計不合理,導致某些查詢需要關聯很多表,這裏就可以看出,數據庫表適當的增加一些冗餘字段會減少使用關聯查詢的機率。 3.沒有合理的利用索引 4.如

原创 分佈式和集羣到底是什麼?

原文鏈接:https://www.zhihu.com/question/20004877/answer/393868688 不得不說,分佈式和集羣都是爲了解決兩個問題: 高吞吐量(throughput) 高可用(availabilit

原创 讀寫鎖ReentrantReadWriteLock解析

概要 讀寫鎖中,讀與寫、寫與寫是互斥的,而 讀與讀 不是互斥的,所以讀寫鎖在執行寫操作的線程沒有獲得鎖的情況下,執行讀操作的線程可以多個線程都擁有鎖。因此讀寫鎖在存在大量讀操作的情況下比普通鎖的效率要好。讀寫鎖的讀鎖的實現主要依賴於AQS

原创 AQS內部類ConditionObject解析

概述 ConditionObject是AQS中定義的內部類,實現了Condition接口,ConditionObject是基於Lock實現的,在其內部通過鏈表來維護等待隊列(條件隊列)。Contidion必須在lock的同步控制塊中使用,

原创 顯式鎖Lock解析

顯式鎖Lock與隱式鎖synchronized比較: 可重入鎖:都是可重入鎖 可中斷鎖:隱式鎖不可中斷,而顯示鎖可以中斷。 公平鎖:隱式鎖不是公平鎖,顯示鎖在new一個對象的時候可以設置是否生成公平鎖,如:new ReentrantLoc

原创 實現顯式鎖的關鍵類——AbstractQueuedSynchronizer隊列同步器(AQS)

概述 同步器內部其實就是用雙向鏈表來存儲線程,關於鎖的相關操作都可以通過操作這個鏈表實現。 同步器依賴內部的同步隊列(FIFO)來完成同步狀態的管理,當前線程獲取同步狀態失敗時,同步器會將當前線程以及等待狀態等信息構造成一個節點並將其加入

原创 線程的同步狀態

線程的各個流程之間轉換的關係圖: 說明 : 線程的同步狀態主要包含5種狀態的轉換: 1. 初始狀態(New)         : 也就是線程對象被新建後就進入初始狀態。例如,Thread thread = new Thread()。 2

原创 volatile關鍵字

相關的概念: 1.可見性:當一個線程修改了共享變量後,另一個線程能夠馬上得到修改後的變量。 2.原子性:一個操作或多個操作要麼全部執行,要麼都不執行,並且執行的過程不會被任何因素中斷。 3.有序性:Java內存模型中,允許編譯器和處理器對

原创 多線程——CyclicBarrier循環屏障

概述 CyclicBarrier是一個同步工具類,可以翻譯成循環屏障,也叫障礙器或同步屏障。 CyclicBarrier內部有一個計數器count,調用障礙器的await方法會使計數器count的值減一,當計數器count的值爲0時,表明

原创 Java中反射的使用

反射機制的定義: 在運行狀態中,對任意一個類,我們都可以通過類名知道這個類所有的方法和屬性;對於任意一個對象,我們都能調用它的任意方法和屬性(包括私有的方法和屬性)。這種動態獲取類信息以及動態調用對象方法的功能成爲Java語言的反射機制。