原创 java大廠面試題整理(六)JVM常用命令和參數

關於JVM的面試題由死鎖引出。 死鎖及定位 從宏觀上死鎖產生的原因:死鎖是指兩個或兩個以上的進程在執行過程中,因爭奪資源而造成的一種互相等待的現象。若無外力干涉他們都將無法推進下去。通俗點說:線程A持有鎖1想要獲取鎖2.線程B持有鎖2想要獲

原创 1000道互聯網java面試題(七)MySQL面試題

首先我個人屬於在mysql上卡死一次又一次的人。。。畢竟小項目中,又不涉及什麼高併發,所以什麼表鎖行鎖壓根不用想。甚至sql語句最多也就是個left join之類的,所以實際項目中sql優化近乎沒有。當然了數據庫設計更是可着怎麼方便怎麼來,

原创 leetCode進階算法題+解析(七十八)

數組中的最長山脈 題目:我們把數組 A 中符合下列屬性的任意連續子數組 B 稱爲 “山脈”:B.length >= 3 存在 0 < i < B.length - 1 使得 B[0] < B[1] < ... B[i-1] < B[i] >

原创 java大廠面試題整理(五)線程及線程池相關知識點

先從java開啓一個線程開始說。 首先常用的有四種方式:繼承+兩種實現+線程池獲取。 其實我們之前大量的demo都是new Thread(()->{}).start();這個就是繼承的方式。 這裏重點說下兩種實現: 這裏注意兩種方式的區

原创 leetCode進階算法題+解析(七十七)

安排工作以達到最大收益 題目:有一些工作:difficulty[i] 表示第 i 個工作的難度,profit[i] 表示第 i 個工作的收益。現在我們有一些工人。worker[i] 是第 i 個工人的能力,即該工人只能完成難度小於等於 wo

原创 leetCode進階算法題+解析(七十六)

知識像個⚪,裏面是我們所知的,外面是未知的。知道的越多,我們會發現未知的也越多。今日份自勉語句。 鏈表組件 題目:給定鏈表頭結點 head,該鏈表上的每個結點都有一個 唯一的整型值 。同時給定列表 G,該列表是上述鏈表中整型值的一個子集。返

原创 leetCode進階算法題+解析(七十五)

這周的刷題週記,從週三開始。 分湯 題目:有 A 和 B 兩種類型的湯。一開始每種類型的湯有 N 毫升。有四種分配操作: 提供 100ml 的湯A 和 0ml 的湯B。 提供 75ml 的湯A 和 25ml 的湯B。 提供 50ml 的湯A

原创 1000道互聯網java面試題(六)Redis面試題

1. 什麼是Redis? Redis是完全開源的免費的。遵守BSD協議。一個高性能的key-value數據庫。 Redis與其他kv緩存產品有以下三個特點: Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啓的時候可以再次加

原创 1000道互聯網java面試題(五)Memcached 面試題

這本書中間還有個4,是es面試題。仔仔細細讀了兩遍就勸退我了,分開來每個字都差不多認識,連在一起完全看不明白,而且我也沒實踐經驗,所以就不浪費時間了,直接跳到緩存這裏。下面開始一個題一個題整理: 1. Memcached是什麼,有什麼作用?

原创 java大廠面試題整理(四)阻塞隊列

隊列Queue本身其實就是一種數據結構。不管是學JVM還是學數據結構隊列都是一個必不可少的概念。 當然了一般多和棧Stack一起講。其區別就是隊列先進先出。棧先進後出。 這裏如果不是很明確的可以如我一般記:隊列的重點是隊,也就是排隊的隊。一

原创 java引用本地jar並且打包生效

這個因爲一直用maven倉庫,所以本來應該挺基本的技術但是我第一次用。其實挺簡單的,但是我還打算簡單的記錄一下: 首先:把本地的jar放到一個本地目錄(我習慣性和pom文件同級,這樣比較簡單)。 如下截圖: 其次,在項目的pom文件中引

原创 leetCode進階算法題+解析(七十一)

今天週三,這周的筆記纔開始。講真這周十點之前沒回過家。哎,閒話也不說了,直接開始刷題吧。 重構字符串 題目:給定一個字符串S,檢查是否能重新排布其中的字母,使得兩相鄰的字符不同。若可行,輸出任意可行的結果。若不可行,返回空字符串。 示例

原创 java大廠面試題整理(二)集合類不安全與java中的鎖

因爲這塊資料比較多,所以隨緣分篇。這篇主要講集合類不安全。 其實這個是常識,可能剛剛入門就背下來了:HashMap不安全,HashTable安全,ArrayList不安全,Vector安全。這些東西很容易背,但是爲什麼安全?爲什麼不安全?從

原创 leetCode進階算法題+解析(七十)

2月份最後一週的刷題筆記(ps:以後每一篇都會記錄一個日期,恐怕自己哪周沒堅持住或者忘記了)。 金字塔轉換矩陣 題目:現在,我們用一些方塊來堆砌一個金字塔。 每個方塊用僅包含一個字母的字符串表示。使用三元組表示金字塔的堆砌規則如下: 對於三

原创 leetCode進階算法題+解析(七十二)

哎,不知不覺這個進階算法的文集也到了第72篇。雖然leetcode中的未刷題目越刷越多(我當年入坑一共一千一百多道題。現在一共兩千道題,真.越刷越多.系列)。不過也算是從一個算法小白到了一個略有了解,運氣好還能搞定困難題目的地步了。對於快排