原创 【每日一題】劍指 Offer 11. 旋轉數組的最小數字

把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。輸入一個遞增排序的數組的一個旋轉,輸出旋轉數組的最小元素。例如,數組 [3,4,5,1,2] 爲 [1,2,3,4,5] 的一個旋轉,該數組的最小值爲1。 示例

原创 HashMap源碼,句句註釋,如果這樣都看不懂HashMap源碼,那你就真沒救了

看源碼之前首先要知道HashMap底層存儲結構 默認參數,構造方法 //默認的table大小,左移4位等於16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // a

原创 自建博客(用了一天時間整合-shiro可視化管理)

昨天沒有時間刷領釦的題,一天都在shiro權限分配管理 先說一下之前,之前我也有權限管理的數據庫,但僅限於有數據庫,以及MD5+n次鹽的數據加密操作。但是沒有可視化界面操作,之前的權限更該,我只是簡單的從數據庫進行更改,但是沒

原创 【每天一題】Leetcode-2兩數相加

給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式存儲的,並且它們的每個節點只能存儲 一位 數字。 如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。 您可以假設除了數字 0

原创 【JVM學習】jvm與java的體系結構

你是否也遇到過這些問題? ●運行着的線上系統突然卡死,系統無法訪問,甚至直接0OM! ●想解決線上JVM GC問題,但卻無從下手。 ●新項目上線,對各種JVM參數設置- -臉茫然, 直接默認吧,然後就JJ了 ●每次面試之前都要重新

原创 【每天一題】Leetcode-3無重複字符的最長子串

給定一個字符串,請你找出其中不含有重複字符的 最長子串 的長度。 示例 1: 輸入: "abcabcbb" 輸出: 3 解釋: 因爲無重複字符的最長子串是 "abc",所以其長度爲 3。 示例 2: 輸入: "bbbbb"

原创 多線程 常見的線程方法

sleep()線程暫停 Thread.sleep(1000); 表示當前線程暫停1000毫秒 ,其他線程不受影響 Thread.sleep(1000); 會拋出InterruptedException 中斷異常,因爲當前線程sle

原创 多線程 java編寫窮舉法破解字符串密碼

生成一個長度是3的隨機字符串,把這個字符串當作 密碼 創建一個破解線程,使用窮舉法,匹配這個密碼 創建一個日誌線程,打印都用過哪些字符串去匹配,這個日誌線程設計爲守護線程 提示: 破解線程把窮舉法生成的可能密碼放在一個容器

原创 多線程 使用wait和notify進行線程交互

線程之間有交互通知的需求,考慮如下情況: 有兩個線程,處理同一個英雄。 一個加血,一個減血。 減血的線程,發現血量=1,就停止減血,直到加血的線程爲英雄加了血,纔可以繼續減血 不使用wait和notify的解決方式 故意設計減

原创 多線程 synchronized 同步解決髒數據問題

多線程的同步問題指的是多個線程同時修改一個數據的時候,可能導致的問題 多線程的問題,又叫Concurrency 問題 演示Concurrency 問題 假設蓋倫有10000滴血,並且在基地裏,同時又被對方多個英雄攻擊,就是有多

原创 【每天一題】劍指 Offer 03. 數組中重複的數字

找出數組中重複的數字。 在一個長度爲 n 的數組 nums 裏的所有數字都在 0~n-1 的範圍內。數組中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出數組中任意一個重複的數字。 示例 1: 輸

原创 多線程 面試會問到的線程安全類

1. HashMap和Hashtable的區別 HashMap和Hashtable都實現了Map接口,都是鍵值對保存數據的方式 區別1: HashMap可以存放 null,Hashtable不能存放null 區別2: HashMa

原创 面試被問到TCP IP問題 終於被我弄的明明白白的了

目錄原理講解1.TCP報文格式2.TCP三次握手3.TCP四次揮手面試題爲什麼要TIME_WAIT 等待2MLS呢?講一下對tcp/ip協議的理解爲什麼連接的時候是三次握手,關閉的時候卻是四次握手?爲什麼TIME_WAIT狀態需要

原创 多線程 死鎖的產生以及解決方案

當業務比較複雜,多線程應用裏有可能會發生死鎖 死鎖產生的原因 線程1 首先佔有對象1,接着試圖佔有對象2 線程2 首先佔有對象2,接着試圖佔有對象1 線程1 等待線程2釋放對象2 與此同時,線程2等待線程1釋放對象1 就會。

原创 多線程 自己開發一個線程池

每一個線程的啓動和結束都是比較消耗時間和佔用資源的。 如果在系統中用到了很多的線程,大量的啓動和結束動作會導致系統的性能變卡,響應變慢。 爲了解決這個問題,引入線程池這種設計思想。 線程池的模式很像生產者消費者模式,消費的對象是