原创 java集合類(四)ArrayList與LinkedList比較

概述   ArrayList與LinkedList均實現了List接口,所以從用戶使用的角度來看是區別不大的。但是由於其底層實現的不同,對用戶來講無差異的操作(如:get,add,remove)底層所做的事情完全不一樣,從而使得他

原创 java集合類(一)綜述

java集合類,在我們開發過程中經常用到。因爲接口很多,所以現在做一下總結。   java集合類圖(僅僅列出了常用的一些、concurrent包中相關子類未列出):   從上圖可以看出,集合類有兩個分支:Collection與Map。L

原创 java集合類(五)Vector與ArrayList比較

概述   爲何將Vector和ArrayList做比較呢?原因是他們底層都是基於數組的,主要區別是Vector是線程安全的,而ArrayList是非線程安全的。從源碼可以看出Vector大部分方法都加了synchronized關鍵

原创 java集合類(二)List之ArrayList

ArrayList概述:   ArrayList是List接口基於數組的實現。它允許包括 null 在內的所有元素。每個ArrayList實例都有一個容量,該容量代表可以存儲元素的多少。每個ArrayList實例都有一個初始大小,

原创 java集合類(三)List之LinkedList

LinkedList概述   LinkedList是基於鏈表的list,與C++中的鏈表是相同的,它是一個雙向鏈表。先來看下LinkedList的定義: public class LinkedList<E> extends

原创 Eureka集羣複製策略問題

前言 我們都知道,Eureka可以很簡單的配置高可用,只需要在Eureka server指定該server的其他小夥伴們就可以很簡單的實現。但是在實際使用的過程中,也有一些需要注意的點。本文會說明。 本文測試用例我們是兩個實例來模擬集

原创 idea使用maven下載不了依賴包問題

在測試spring-boot應用的時候,由於網絡不太好,導致使用idea一直下載不了相關依賴jar。pom.xml中一直有錯誤提示。 控制檯會報錯類似 如下: Non-resolvable parent POM for spring

原创 一生產者多消費者 --- 操作棧問題

一生產者多消費者 — 操作棧問題 本文是想通過棧的方式來進行線程間通訊。 1. 異常情況 看如下代碼: package entity; import java.util.ArrayList; import java.util.Lis

原创 Mybatis運行原理及源碼解析

Mybatis源碼解析 一、前言 本文旨在mybatis源碼解析,將整個mybatis運行原理講解清楚,本文代碼地址: https://github.com/lchpersonal/mybatis-learn 本文使用的mybatis

原创 日誌框架那點事

日誌框架介紹 一、簡介 日誌框架 市場上存在非常多的日誌框架。JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback、SLF4j、jboss-lo

原创 百層高塔扔雞蛋問題新思路

百層高塔扔雞蛋問題新思路 題目 兩個軟硬程度一樣但未知的雞蛋,它們有可能都在一樓就摔碎,也可能從一百層樓摔下來沒事。有座100層的建築,要你用這兩個雞蛋確定哪一層是雞蛋可以安全落下的最高位置。可以摔碎兩個雞蛋。 最少需要幾次測試,才能

原创 分佈式緩存學習筆記

分佈式緩存 1. 開場白 1.1 爲啥在項目裏要用緩存呢? 用緩存,主要是倆用途,高性能和高併發 1)高性能 假設這麼個場景,你有個操作,一個請求過來,吭哧吭哧各種亂七八糟操作mysql,半天查出來一個結果,耗時600ms。但是這個結

原创 分佈式系統學習筆記

分佈式系統 一、什麼是分佈式系統? 二、爲什麼要進行分佈式系統的拆分? 1)要是不拆分,一個大系統幾十萬行代碼,20個人維護一份代碼,簡直是悲劇啊。代碼經常改着改着就衝突了,各種代碼衝突和合並要處理,非常耗費時間;經常我改動了我的代

原创 MQ學習筆記整理

MQ學習筆記 一、爲什麼要使用MQ? 其實這裏要講的就是使用MQ的好處,MQ的的使用場景有很多,但是比較核心的有3個:解耦、異步、削峯 1. 解耦 例如:A系統要發送數據到B、C、D三個系統,通過接口調用發送。假如現在又添加了一個E系

原创 JVM內核學習筆記

一、補充知識 補碼: 正數的補碼是其本身,負數的補碼是反碼加1 例如:-6 原碼:10000110 反碼:11111001 補碼:11111010 爲什麼要有補碼的存在? 無歧義的表示零:0; 0既不屬於正數,也不屬於負數 用正數