原创 OAuth2.0認證流程原理

導讀 大家也許都有過這樣的體驗,我們登錄一些不是特別常用的軟件或網站的時候可以使用QQ、微信或者微博等賬號進行授權登陸。例如我們登陸豆瓣網的時候,如果不想單獨註冊豆瓣網賬號的話,就可以選擇用微博或者微信賬號進行授權登錄。這樣的場景還有很多

原创 基礎排序算法

public class Sort { public static void quickSort(Integer[] arr, int low, int high) { int temp = arr[low]

原创 MySQL面經

  面試中經常是由淺及深順着一條線問下去 , 下面僅列出我遇到過的面試問題: 1.基礎三連問 關係型數據庫與非關係型數據庫有什麼區別? MySQL有哪些存儲引擎?有什麼區別? InnoDB支持事務,MyISAM不支持 對於InnoDB每一

原创 PHP是單線程還是多線程?

PHP 從設計之初到流行起來都沒有出現明顯需要用多線程才能解決的需求。某些需要用到多線程的地方也有相應的解決方案和替代方案。多線程並不總是比單線程優,多線程可能會引入其他問題(例如:兩個線程同時調用一個類裏的同一個方法時,可能出現死鎖的情

原创 有效的字母異位詞

給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是否是 s 的字母異位詞。 示例 1: 輸入: s = "anagram", t = "nagaram" 輸出: true 思路:哈希映射 首先判斷兩個字符串長度是否相等,不相等則直接

原创 Java單鏈表基本操作

單鏈表的結構 單鏈表的存儲原理圖,head爲頭節點,他不存放任何的數據,只是充當一個指向鏈表中真正存放數據的第一個節點的作用,而每個節點中都有一個next引用,指向下一個節點,就這樣一節一節往下面記錄,直到最後一個節點,其中的next指

原创 日誌管理Rsyslog

日誌管理Rsyslog   [TOC] 背景 有一個4臺機器的分佈式服務,不多不少,上每臺機器上查看日誌比較麻煩,用Flume,Logstash、ElasticSearch、Kibana等分佈式日誌管理系統又顯得大材小用,所以想到了cen

原创 實時判斷數據流中的第K大元素

int k = 3; int[] arr = [4,5,8,2]; KthLargest kthLargest = new KthLargest(3, arr); kthLargest.add(3);   // returns 4 kth

原创 用棧實現隊列

使用棧實現隊列的下列操作: push(x) -- 將一個元素放入隊列的尾部。 pop() -- 從隊列首部移除元素。 peek() -- 返回隊列首部的元素。 empty() -- 返回隊列是否爲空。 import java.util.

原创 輸出滑動窗口最大值(雙端隊列)

給定一個數組 nums,有一個大小爲 k 的滑動窗口從數組的最左側移動到數組的最右側。你只可以看到在滑動窗口內的 k 個數字。滑動窗口每次只向右移動一位。 返回滑動窗口中的最大值。 示例: 輸入: nums = [1,3,-1,-3,5,

原创 Mac/Homebrew查找nginx安裝目錄和nginx.conf配置文件目錄

Mac/Homebrew查找nginx安裝目錄和nginx.conf配置文件目錄 1. nginx安裝目錄 2.nginx.conf配置文件目錄 3. 啓動/暫停/重載 1. nginx安裝目錄 $ ps -ef | grep nginx

原创 三數之和

給定一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組。 注意:答案中不可以包含重複的三元組。   示例: 給定數組 nums =

原创 兩數之和

給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。 示例: 給定 nums = [2

原创 優先隊列

堆就是用數組實現的二叉樹,所有它沒有使用父指針或者子指針。堆根據“堆屬性”來排序,“堆屬性”決定了樹中節點的位置。 堆的常用方法: 構建優先隊列 支持堆排序 快速找出一個集合中的最小值(或者最大值) 堆屬性 堆分爲兩種:最大堆和最小堆(小

原创 事務詳解

一、事務概述   二、事務的特性   三、事務的隔離問題 一、事務概述   事務很好理解,就是要做的事情,而這件事情是由一系列的動作完成,這些動作要麼全部完成,要麼全部不起作用。也就是說如果一個動作沒有完成,其他所有的動作都將回到初始狀