原创 JS快速學習之 head和body的中變量初始化問題

js script放在head跟body裏面的區別 在head中時,所代表的functions只加載而不執行,執行是在某一事件觸發後纔開始。 在body中時,直接加載並執行 典型區別:如果有不在函數中的執行語句,比如變量初始化,如

原创 Java 效率提升系列之 Optional對象

Optional 類(java.util.Optional) 它是一個容器類,代表一個值存在或不存在,原來用 null 表示一個值不存在,現在 Optional 可以更好的表達這個概念。並且可以避免空指針異常。 常用方法:

原创 JS快速學習之 innerHTML className display

innerHTML 屬性用於獲取或替換 HTML 元素的內容 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; ch

原创 Mysql 終極中文解決方案

查看數據庫編碼格式 mysql> show variables like 'character_set_database'; 查看數據表的編碼格式 mysql> show create table <表名>; 創建數

原创 JS快速學習之 confirm prompt open

任務 新窗口打開時彈出確認框,是否打開 提示: 使用 if 判斷確認框是否點擊了確定,如點擊彈出輸入對話框,否則沒有任何操作。 通過輸入對話框,確定打開的網址,默認爲 http://www.imooc.com/ 打開的

原创 梳理時間線 Spring data JPA 到底是個啥 能爲我們做什麼?

首先, 什麼是spring data jpa? spirng data jpa是spring提供的一套簡化JPA開發的框架,按照約定好的【方法命名規則】寫dao層接口,就可以在不寫接口實現的情況下,實現對數據庫的訪問和操作。同時提

原创 版本控制三大天王 CVS SVN GIT 優劣對比

首先上一張圖: Git與SVN 的區別 Git 不 僅僅是個版本控制系統,它也是個內容管理系統(CMS)、工作管理系統等。如果你曾是一個使用過SVN背景的人,那麼你可以很容易的做一定的思想轉換,來 適應Git提供的一些概念和特徵

原创 J.U.C-AQS框架同步組件之可重入鎖ReentrantLock詳解

ReentrantLock? synchronized是託管給JVM執行的,Lock的鎖定是通過代碼實現的。所以Lock比較靈活,可以便於開發人員根據合適的場景進行操作,Lock是一個接口,需要實現它來進行使用,ReetrantL

原创 Junit 4 + 5,@before, @beforeClass, @after, @afterClass的執行順序

這幾個註解在junit4和junit5版本不同的寫法 junit4 junit5 特點 @BeforeClass @BeforeAll 在當前類的所有測試方法之前執行。註解在【靜態方法】上。 @AfterClas

原创 ConcurrentHashMap爲什麼比HashTable性能好?

ConcurrentHashMap爲什麼比HashTable性能好? 答:ConcurrentHashMap裏使用了Segment分段鎖+HashEntry,而HashTable用的是Syncronized鎖全部,所有線程競爭一把

原创 一文搞懂HashMap工作原理和擴容機制(深度對比JDK1.7和JDK1.8)

HashMap簡介 HashMap基於哈希表的Map接口實現,是以key-value存儲形式存在. 系統會根據hash算法來計算key-value的存儲位置,可以通過key快速存取value. HashMap使用鏈表來解決碰撞問

原创 硬核講解JDK1.8的ConcurrentHashMap爲何放棄分段鎖改用CAS + synchronized

jdk1.7分段鎖的實現 和hashmap一樣,在jdk1.7中ConcurrentHashMap的底層數據結構是數組加鏈表。和hashmap不同的是ConcurrentHashMap中存放的數據是一段段的,即由多個Segment

原创 Redis之Hash類型詳解

數據結構 其實 redis的 hash類型就是一個嵌套map的結構, 其實就像一個小號的redis 可以看作是一張表 user:n 爲key, 但是表的列可以不同 hash的常用命令 hset hset key field

原创 cpu亂序執行優化與多級緩存一致性MESI算法帶來的後遺症

一、指令亂序執行 對於CPU性能有以下公式 處理器性能=主頻∗IPC處理器性能 = 主頻 *IPC處理器性能=主頻∗IPC 由上述公式我們可以知道,提高CPU性能要麼就提高主頻,要麼就提高IPC(每週期執行的指令數).提升IPC有

原创 時區導致IDEA關聯MySQL時報錯 解決方案

Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezone’ property manually. 使用IDEA關聯MySQL時報錯