原创 2020年今日頭條外派的面試題(記錄面試過程)

其實一直有想離開原環境的問題,因爲不想和一幫不奮進,也沒有一個技術領導團隊模式的情況下工作,苦於沒有找到機會,直到今年疫情來臨,想試試水,投出的簡歷基本沒回(沒有大面積投,就看着差不多的投了),加上疫情嚴重,就讓這條路更加難走了,然後呢都

原创 高級排序算法-快速排序(Quick Sort)

1.含義 快速排序的基本思想:通過一趟排序將待排記錄分隔成獨立的兩部分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,則可分別對這兩部分記錄繼續進行排序,以達到整個序列有序。 快速排序使用分治法來把一個串(list)分爲兩個子串(su

原创 JVM篇--JAVA內存區域詳解

 前兩年有跟過免費視頻完整的學習完了jvm,轉瞬間就都忘光了,估計java虛擬機這個東西不背下來完全不理解爲什麼會這樣實現,這一陣又買了視頻重新學習下jvm,然後有時間記錄到博客裏。 那就先來說一下java內存區域的分佈的介紹把 目錄 1

原创 互聯網經典面試題TCP的三次握手和四次揮手

據說面試很愛問TCP的問題,我看了個學習視頻TCP的三次握手,然後記錄一下 1.再說三次握手之前說一下三次握手操作的字段 Seq:Seq序號,用來標識從TCP源端向目的端發送的字節流,發起方發送數據時對此進行標記。 確認號:Ack序號,只

原创 Java 實現樹結構計算各個節點數的和

之前有個需求就是樹結構展示需要計算每個節點的和,我就一直想怎麼實現,到最後有思路但是有些問題還是卡在那裏了,後來網上搜索給了靈感實現出來了,但是那個網址沒有保存關閉以後就找不到了,那麼我就就我的實現方式記錄在博客裏把,最後實現的功能如下圖

原创 一文帶你熟悉Redis的事務機制

Redis也是支持事務的,相對來說是要比MySQL這樣的數據庫簡單很多,那麼接下來講一下Redis的事務。 1Redis事務 1.1 MULTI與EXEC命令 MULTI:中文是多的意思,沒有明白爲什麼用這個單詞來表示開始事務,MULTI

原创 一看就會的java阻塞隊列與非阻塞隊列篇

1.隊列介紹 今天要來講一下java裏的隊列,隊列,顧名思義,排隊的列,既然按排隊形來做的話,生活中的銀行排隊啊,上車排隊啊,都是先到先辦理或者先上車,隊列存取數據列也一樣,這就是先進先出,使用隊列的規則是:使用隊素時,數據元素只能從表的

原创 生動有趣帶你看JDK1.8-HashMap的put源碼,看完直呼原來這麼簡單!

本博客不會大段大段的貼源碼,這樣誰看了都頭疼,會一步一步引導你的思路,然後一點一點展示源碼,讓你理解原來是這樣的感悟!那就開始把! 在說HashMap之前來梳理一下基本知識,如果我說數組和鏈表,你頭腦中的數組什麼樣子的?如果是以下這個樣子

原创 JVM篇(四)--垃圾收集器的講解

最近比較迷茫,除了想要多賺錢沒有別的方向,只知道需要學習的有很多,但是學的越多發現的盲點越多,學習的方式也不再單一,因爲覺得不夠了,時代發展的越來越快,想要埋怨也沒有辦法,能做的只有不浪費現有的時間去進行學習,最近看了一個免費的視頻是講h

原创 JVM篇--垃圾回收算法精講(嘔心瀝血整理)

爲什麼要垃圾回收?  答:java語言中一個顯著的特點就是引入垃圾回收機制,使C++程序員最頭疼的內存管理的問題影刃而解。由於有個垃圾回收機制,java對象不再有“作用域”的概念,只有對象的引用菜有“作用域”。垃圾回收可以有效的防止內存泄

原创 MySQL性能優化(四)--Explain執行計劃與show Profile分析

  MySQL的Explain執行計劃可以用來對Sql語句進行分析,是否進行全表掃描,是否用了索引,或者是sql語句先後執行計劃,有沒有用臨時表等等,由此來進行Sql優化,而show Profile和Explain一樣都是用來查看Sql語

原创 JVM系列學習目錄

1.JVM篇--JAVA內存區域詳解 2.JVM篇--詳解對象創建過程-對象結構-對象訪問方式 3.JVM篇--垃圾回收算法精講(嘔心瀝血整理)  4.JVM篇(四)--垃圾收集器的講解 後續還會進行相應的更進,感謝大家支持

原创 你不得不瞭解的JAVA線程池!

阿里巴巴規範說過,使用線程最好是用線程池,那就是說使用線程池有一定的好處,能夠管理線程連接,開啓用戶使用的線程數,用完迴歸池中,可以讓其他線程使用,減少連接線程的資源消耗。 那麼Java中有提供ThreadPoolExecutor線程池的

原创 劍指offer編程題--用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。

首先看圖大概知道考察的是隊列和棧基本知識,需要知道jdk的stack的方法的使用,以及棧先進後出,隊列先進先出的知識 棧先進後出,隊列先進先出 stack1.push(1); stack1.push(2); stack1.push(5

原创 SpringBoot自動裝載詳解

自動裝配前的瞭解階段 如果一上來就說這些註解是這樣的,那個註解是幹那個功能的,那麼就會完全不理解,肯定會懵,所以咱們邊實戰邊瞭解註解,帶着思考看這些問題。 首先在使用SpringBoot之前,我們還沒有開始寫業務代碼,搭建框架可能就需要很