原创 Mysql或Mariadb本地可以登錄無法遠程登錄

一、use mysql使用系統數據庫mysql。 二、查詢user表: SELECT user, host from user; 結果如下: root用戶對應的主機是127.0.0.1,說明只能本地訪問。 三、修改 update

原创 linux中bin和sbin目錄的主要區別

bin: bin爲binary的簡寫主要放置一些系統的必備執行檔例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。 /usr/bin:主 要放置

原创 JavaScript獲取url的參數

function getParam(keyName){ var currentPara = {} var hash = window.location.search.substr(1); var s

原创 jdk1.8前後的HashMap

一、jdk1.7以及以前的HashMap 首先舉個例子:假設現在有一所新建的幼兒園,校長要求要保留4個班級,馬上要到開學季,要迎來一批新生(相當於向HashMap中添加的元素)來報道,學校會爲他們分配班級,學校要保證這批新生被均勻的分

原创 Java中的hashCode方法以及對HashMap的影響

一、hashCode基本介紹 hashCode方法是Object類中方法,Java中的每一個對象都有該方法,該方法返回的是一個整數值。該方法是一個本地方法。hashCode返回的默認值是該對象在JVM中的地址值的十進制形式。 publ

原创 HashMap由併發引起的鏈表死循環

關於HashMap的結構介紹參考這篇文章 在java1.8之前的HashMap是基於數組+鏈表的形式實現,所以在併發時出現死循環的情況還是比較常見的。 重現死循環的情況 假設現在有兩個線程Thread1和Thread2,Thread1

原创 Java中String類部分源碼分析以及常見面試考點

Java面試中涉及到的面試題,最容易出錯的就是各種字符串和String對象之間以及與其自身的比較、拼接、==、equals等。如果沒有閱讀String的源碼,可能很多程序的運行結果與預想的結果不一致時,主要是因爲String類對equ

原创 Java併發偏向鎖、輕量級鎖、重量級鎖、synchronized和volatile的實現原理

偏向鎖、輕量級鎖和重量級鎖之間的關係,首先打個比方:假設現在廁所只有一個位置,每個使用者都有打開門鎖的鑰匙。必須打開門鎖才能使用廁所。 小明今天吃壞了東西需要反覆去廁所,如果小明每次都要開鎖就很耽誤時間,於是門鎖將小明的臉記錄下來

原创 Java NIO(一)從操作系統角度對比IO與NIO的對比

傳統IO 先來看一下FileInputStream調用read()方法後,底層都做了什麼操作。 FileInputStream in = new FileInputStream(file); byte bytes[] = new by

原创 ubuntu下啓動mariaDB或Mysql啓動異常

Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 解決辦法:ln -s /var/lib/mysql/mysql.sock /tmp

原创 Java併發之CPU原子操作、Java原子操作

原子(atomic)本意是不能被進一步分割的最小粒子,而原子操作(atomic operation)意爲不可被中斷的一個或一系列操作。無論是多核cpu的原子操作還是Java的原子操作,本質上都是多個操作去操作同一片內存的數據。首先整理

原创 ubuntu設置遠程無密碼登錄ssh祕鑰認證

例如:主機名爲node1無密碼登錄主機名爲node2 一、在node1上執行: cd ~/.ssh (若沒有該目錄,先執行ssh localhost) rm ./id_rsa* (刪除之前生成的公鑰) ssh-keygen -t

原创 深入理解Java虛擬機(四)Eden、Survivor、老年代、GC日誌

1. 年輕代 1.1 Eden區和Survivor區 新生代GC(Minor GC):指發生在新生代的垃圾收集動作,Minor GC非常頻繁,新生代採用複製算法,一般回收速度也比較快。因爲採用複製算法,所以年輕代分爲三部分:1個Ede

原创 深入理解Java虛擬機(七)字節碼執行引擎(棧幀、動態連接、方法調用)

執行引擎是Java虛擬機最核心的組成部分之一。“虛擬機”是一個相對於“物理機”的概念,這兩種機器都有代碼執行能力,其區別是物理機的執行引擎是直接建立在處理器、硬件、指令集和操作系統層面上的,而虛擬機的執行引擎則是由自己實現的,因此可以

原创 SpringBoot2.0.4配置多個數據庫

使用場景: 一個Spring Boot服務根據不同的業務邏輯需要對不同的數據庫進行操作。 一、舉例說明 假設需要處理的兩個數據庫是test1、test2,那麼必須要有的是: 兩個數據庫的配置參數(寫在配置文件application.