原创 [JAVA] 請你講講數組(Array)和列表(ArrayList)的區別?什麼時候應該使用Array而不是ArrayList?

Array和ArrayList的不同點: Array可以包含基本類型和對象類型,ArrayList只能包含對象類型。 Array大小是固定的,ArrayList的大小是動態變化的。 ArrayList提供了更多的方法和特性,比如:

原创 你知道java8的新特性 Lambda

你知道java8的新特性嗎,請簡單介紹一下 Lambda 表達式 − Lambda允許把函數作爲一個方法的參數(函數作爲參數傳遞進方法中。 方法引用− 方法引用提供了非常有用的語法,可以直接引用已有Java類或對象(實例)的方法或

原创 HTTPS加密的原理

加密的方式 對稱加密:加密和解密都使用同一個密匙 非對稱加密:加密使用的密匙和解密使用的密匙不相同的 哈希算法:將任意長度的信息轉換爲固定長度的值,算法不可逆 數字簽名:證明某個消息或者文件是某人發出/認同的 HTTP數據傳輸流程

原创 面試題 如何設計一個關係型數據庫 和索引相關

下面是我們對數據庫索引的整理 1、首先要明白無名無實莫要用索引:因爲數據中的記錄很多,爲了方便我們查找,提高查詢的效率; 2、索引的原理:對要查詢的字段建立索引其實就是把該字段按照一定的方式排序;建立的索引只對該字段有用,如果

原创 socket通信流程

原创 【HTTP】 在瀏覽器輸入url後的流程

整體過程 在這整個過程中,大致可以分爲以下幾個過程 DNS域名解析 TCP連接 HTTP請求 處理請求返回HTTP響應 頁面渲染 關閉連接 詳細點的 1. 首先嘛,你得在瀏覽器裏輸入要網址 2. 瀏覽器查找域名的IP地址 導航的第

原创 [JAVA] 線程安全的集合

線程安全概念: 如果你的代碼所在的進程中有多個線程在同時運行,而這些線程可能會同時運行這段代碼。如果每次運行結果和單線程運行的結果是一樣的,而且其他的變量的值也和預期的是一樣的,就是線程安全的。 線程安全問題都是由全局變量及靜態變

原创 [java]內存的分配策略

來源牛課網 整理 補充Java內存管理知識: 1. 內存分配策略 按照編譯原理的觀點,程序運行時的內存分配有三種策略,分別是靜態的,棧式的,和堆式的。 靜態存儲分配是指在編譯時就能確定每個數據目標在運行時刻的存儲空間需求,因而在編

原创 OSI七層協議

應用層 表示層 會話層 傳輸層 網絡層 數據鏈路層 (如何讓格式化數據,提供錯誤檢測 交換機在這一層) 物理層 (主要作用傳輸比特流 網卡在這層)

原创 Redis 分佈式鎖

SETNX key value 可用版本: >= 1.0.0 時間複雜度: O(1) 只在鍵 key 不存在的情況下, 將鍵 key 的值設置爲 value 。 若鍵 key 已經存在, 則 SETNX 命令不做任何動作。 SET

原创 【JAVA】 abstract class抽象類和interface接口有什麼區別?

含有 abstract 修飾符 class 即爲抽象類,抽象類不能創建實際對象,含有抽象方法的抽象類必須定義爲 abstract class。 接口可以說成是一種特殊的抽象類,接口中的所有方法都必須是抽象的,接口中的方法定義默認爲

原创 【JAVA】捕獲異常類常用註解

捕獲類可以定義在hander包下 @ControllerAdvice public class ExceptionHandle{ @ExceptionHandle(value = Exception.class) @Respo

原创 【壓測工具】Apache ab 模擬併發

ab -n 100 -c 100 url -n 100個請求 -c 100個併發 ab -t 60 -c 100 url 60秒內連續發出請求 自己想要做壓測的工具

原创 【Mysql】數據庫引擎

面試題經常會問一些mysql相關的問題,很多時會問你mysql引擎,並且詢問你對引擎懂得多少,下面我來簡單整理下 再寫這篇文章之前我特意上服務器查了下自己的引擎,當時也沒特意選,但是現在默認都是Innodb的,所以Innodb肯定

原创 【JAVA】 String StringBuffer StringBuilder

String是Java中基礎且重要的類,並且String也是Immutable類的典型實現,被聲明爲final class,除了hash這個屬性其它屬性都聲明爲final,因爲它的不可變性,所以例如拼接字符串時候會產生很多無用的中