原创 docker安裝--官方操作教程

官方文檔網址:https://docs.docker.com/engine/install/centos/ 本文以centos7爲例: 打開網址,如圖: 根據文檔輸入命令: Install using the repository(安裝

原创 Hashset和Treeset的區別

Set中元素不可以重複,是無序的(這裏的無序是指存入元素的先後順序與輸出元素的先後順序不一致) HashSet:   ①內部的數據結構是哈希表,是線程不安全的。   ②HashSet中保證集合中元素是唯一的方法:通過對象的hashCode

原创 Sentinel 對比 Hystrix

先來看一下 Hystrix 的官方介紹: Hystrix is a library that helps you control the interactions between these distributed services b

原创 Java面試---MyBatis

一、MyBatis 與 JDBC 的區別 【1】JDBC 是 Java 提供操作數據庫的 API;MyBatis 是一個持久層 ORM 框架,底層是對 JDBC 的封裝。 【2】使用 JDBC 需要連接數據庫,註冊驅動和數據庫信息工作量大

原创 分佈式中的一致性hash算法

|0業務場景 近年來B2C、O2O等商業概念的提出和移動端的發展,使得分佈式系統流行了起來。分佈式系統相對於單系統,解決了流量大、系統高可用和高容錯等問題。功能強大也意味着實現起來需要更多技術的支持。例如系統訪問層的負載均衡,緩存層的多實

原创 java面試---String

1、什麼是String,它是什麼數據類型? String是定義在 java.lang 包下的一個類。它不是基本數據類型。 String是不可變的,JVM使用字符串池來存儲所有的字符串對象。 2、創建String對象的不同方式有哪些? 和

原创 TCP三次握手和四次揮手的流程,斷開連接如果只有兩次握手,會出現什麼。

TCP三次握手: 爲了對每次發送的數據量進行跟蹤與協商,確保數據段的發送和接收同步,根據所接收到的數據量而確認數據發送、接收完畢後何時撤消聯繫,並建立虛連接。 第一次握手:Client將標誌位SYN置爲1,隨機產生一個值seq=J,並將該

原创 synchronized 鎖的升級

synchronized 的基本認識 在多線程併發編程中 synchronized 一直是元老級角色,很 多人都會稱呼它爲重量級鎖。但是,隨着 Java SE 1.6 對 synchronized 進行了各種優化之後,有些情況下它就並不

原创 java面試---SpringCloud

一.微服務的優點缺點?說下開發項目中遇到的坑? 優點: 1.每個服務直接足夠內聚,代碼容易理解 2.開發效率高,一個服務只做一件事,適合小團隊開發 3.鬆耦合,有功能意義的服務。 4.可以用不同語言開發,面向接口編程。 5.易於第三方集成

原创 從輸入URL到獲取頁面的過程

1,域名解析,找到IP地址;  2,建立tcp連接(三次握手);  3,http響應與請求;     http請求報文四個部分:請求行,請求頭部,空行,請求數據       a.請求行包含:請求方法,資源位置,以及協議版本,例如:GET

原创 CPU百分百排查

實戰分析:原生工具 1、找到最耗CPU的進程  命令:top –c,顯示進程運行信息列表。實例:top -c。交互1:按1,數字1,顯示多核CPU信息。交互2:鍵入P (大寫p),進程按照CPU使用率排序。如下圖所示結果,已經在交互過程

原创 java序列化的方式

目錄   一、認識序列化 2、序列化的使用場景 二、序列化實現的方式 三、序列化版本號serialVersionUID 四、總結 一、認識序列化 1、從網絡通信認識序列化 爲了很好的理解序列化,先不講概念,而是先從網絡通信談起,我們知道現

原创 ArrayList、Vector 和 LinkedList 有什麼區別

ArrayList、Vecotr、LinkedList 類均爲 java.util 包中,均爲可伸縮數據,既可以動態改變長度的數組。都是 list 接口的實現類; 【1】ArrayList 和 Vector都是基於存儲的 Object[]

原创 Kafka如何保證消息的順序性

1. 問題 比如說我們建了一個 topic,有三個 partition。生產者在寫的時候,其實可以指定一個 key,比如說我們指定了某個訂單 id 作爲 key,那麼這個訂單相關的數據,一定會被分發到同一個 partition 中去,而且

原创 Java 傳值和傳引用的區別

傳值:傳遞的是值的副本。方法中對副本的修改,不會影響到調用方。傳引用:傳遞的是引用的副本,共用一個內存,會影響到調用方。此時,形參和實參指向同一個內存地址。對引用副本本身(對象地址)的修改,如設置爲null,重新指向其他對象,不會影響到調