原创 另一顆的子樹

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * T

原创 Linux部署項目,mvn package出現COMPILATION ERROR :package does not exist

出現這樣的情況可以看到它提醒的路徑是在Servlet.Java中,我們可以在本地打開IDEA環境裏,打開在Linux中報錯的這個Servlet,查看它倒入的包裏有灰色的沒有用的包,我們只需要刪除掉就好了。因爲在Linux中部署m

原创 測試複習第一站

面試問題: 1.什麼是軟件測試? 軟件功能是否滿足客戶的需求。 目的:找BUG,驗證是正確的 注意事項: 1.不要背答案 2.結合目前學習,寫代碼的一些體會 3.結合生活的一些案例 對本人來說:軟件測試就是在完成了自己的項目後,

原创 ConurrentHashMap

LinkedList 線程安全版本 class Node{ int val; Node next; } class LinkedList{ Node head = null; void pushFront(int val

原创 二叉搜索樹和哈希表

二叉搜索樹意思是: 若它的左子樹不爲空,則左子樹上所有節點的值都小於根節點的值 若它的右子樹不爲空,則右子樹上所有節點的值都大於根節點的值 它的左右子樹也分別爲二叉搜索樹。 二叉樹的一個插入: static class Node

原创 TCP連接爲什麼是三次握手,不是兩次?不是四次?

先上經典老圖3次握手: 我們討論四次握手和兩次握手的情況: 四次握手的過程: A發送同步信號SYN+A’s Initial sequence number B確認收到A的同步信號,並記錄A’s ISN 到本地,命名 B’s A

原创 堆-大堆樹

二叉樹的一個存儲結構: 使用數組保存二叉樹結構,方式即將二叉樹用層序遍歷方式放入數組中。 一般只適合表示完全二叉樹,因爲非完全二叉樹會有空間的浪費。 這種方式的主要用法就是堆的表示。 下標的一個關係 已知雙親(parent)的下標

原创 MySQL索引優化+事務

1.索引數據結構二叉樹,紅黑樹,Hash,B+樹 2.千萬級數據表如何用索引快速查找 3.如何基於索引B+樹精準建立高性能索引 4.聯合索引底層數據結構又是什麼樣的 5.MySQL索引優化最佳實踐 什麼是索引? 索引是幫助MySQ

原创 程序在JVM是如何執行?爲什麼要GC?垃圾回收算法

程序計數器: 程序計數器是一塊較小的內存空間,它可以看作是當前線程所執行的字節碼的行號指示器。 程序計數器處於線程的獨佔區。 如果線程執行的是java方法,這個計數器記錄的是正在執行的虛擬機字節碼指令的地址。如果執行的是nativ

原创 Linux上tomcat-8.5.51配置ssl證書

排坑10年 首先將證書下載:選擇tomcat:然後將裏面的文件放在tomcat的conf下 <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxTh

原创 多線程面試題總結+個人解答

1.進程和線程的關係和區別? 進程是表示資源分配的最小單位,但是因爲在創建,撤銷過程中資源開銷比較大。進程不宜頻繁切換。 爲了可以進行多個程序併發執行,又可以減少系統的資源開銷,所以產生了線程概念。 線程是進程的一個實體,是系統調

原创 紅黑樹+B樹

紅黑樹的概念: 紅黑數,是一種二叉搜索樹,但在每一個節點上增加一個存儲位表示節點的顏色,可以是Red或Black。通過對任意一條從根到葉子的路徑上各個節點着色方式的限制,紅黑樹確保沒有一條路徑會比其他路徑長出兩倍,因而是接近平衡的

原创 哈希如何處理海量數據問題

搜索(查找)使用的數據結構 平衡二叉樹: 內存中使用的——二叉平衡樹 AVL樹 紅黑樹 哈希表: 目的(查詢) 基本原理:1.哈希 2.衝突 3.數據(隨機訪問O(1) ) 對比 哈希 vs 加密 vs 壓縮 哈希:

原创 哈希表(HashMap)

(面試題)談談你理解的HashMap? HashMap本質上是一個用Key,Value結構做存儲的,內部是使用哈希表這種數據結構。 哈希表是非常適合用來做搜索的數據結構,因爲它可以實現插入/刪除/查找時間複雜度是O(1)。 哈希表

原创 Linux中top指令

1、簡介 top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。top顯示系統當前的進程和其他狀況,是一個動態顯示過程,可以自動或者通過用戶按鍵來不斷刷新當前狀態。