原创 Redis和數據庫同步更新的正確方法

原文(緩存更新的套路):看到好些人在寫更新緩存數據代碼時,先刪除緩存,然後再更新數據庫,而後續的操作會把數據再裝載的緩存中。然而,這個是邏輯是錯誤的。試想,兩個併發操作,一個是更新操作,另一個是查詢操作,更新操作刪除緩存後,查詢操作沒有命

原创 面試——常用的設計模式

一、軟件設計模式的幾種分類: 1.1.  創建型 創建對象時,不再由我們直接實例化對象;而是根據特定場景,由程序來確定創建對象的方式,從而保證更大的性能、更好的架構優勢。創建型模式主要有簡單工廠模式(並不是23種設計模式之一)、工廠方法、

原创 Eclipse快捷鍵

1. ctrl+shift+r:打開資源 可以快速查找工作區中任何一個文件並打開 2、如何快速查詢一個類和方法在哪裏被引用 選中該類或者接口,右鍵選中References 選中聲明的方法名,右鍵,選擇Open Call Hierarch

原创 Synchronized深度解析

Java之戳中痛點 - (8)synchronized深度解析

原创 Tomcat啓動報錯Publishing failed with multiple errors

1、Publishing failed with multiple errors Error reading file D:\Repositories\Maven\\...\...\...\v2.4.3...\***.jar D:\Rep

原创 面試——final 在 java 中有什麼作用?

final作爲Java中的關鍵字可以用於三個地方。用於修飾類、類屬性和類方法。 特徵:凡是引用final關鍵字的地方皆不可修改! (1)修飾類:表示該類不能被繼承; (2)修飾方法:表示方法不能被重寫; (3)修飾變量:表示變量只能一次賦

原创 面試總結(二)——數據結構和算法

二叉樹 紅黑樹 排序算法總結 求最長不重複子串 兩個數組求交集(高效率) 矩陣中找最長上升子序列 面試中常見的算法之Java中的遞歸 落球問題

原创 如何將字符串反轉

原文鏈接:https://blog.csdn.net/meism5/article/details/89329699 1、使用 StringBuilder 或 StringBuffer 的 re

原创 面試——StringBuffer源碼淺析(大致結構和append方法)

原文鏈接:https://my.oschina.net/91jason/blog/304514 java的StringBuffer是通過char[]數組實現的。只有當調用stringbuffer

原创 面試——HashMap實現原理以及面試常見問題

原文鏈接:https://www.jianshu.com/p/444668ee2fbe 0. 前言 HashMap 是面試中面試官常問的問題之一,幾乎所有的程序員都用它,因爲HashMap考察的

原创 面試——hashCode()相同,equals() 也一定爲 true嗎?

原文鏈接:https://www.jianshu.com/p/17a02ad2f62b 結論:兩個對象equals相等,則它們的hashcode必須相等,反之則不一定。 hashCode是繼承自

原创 面試——算法:落球問題

一球從100米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在第10次落地時,共經過多少米?第10次反彈多高? public static void main(String[] args) { double tota

原创 面試——java異常

1. throw 和 throws 的區別? throws是用來聲明一個方法可能拋出的所有異常信息,throws是將異常聲明但是不處理,而是將異常往上傳,誰調用我就交給誰處理。而throw則是指拋出的一個具體的異常類型。 2. final

原创 面試總結

一、Java 基礎 1.JDK 和 JRE 有什麼區別? 2.== 和 equals 的區別是什麼? 3.兩個對象的 hashCode()相同,則 equals()也一定爲 true,對嗎? 4.final 在 java 中有什麼作用?

原创 面試——JDK 和 JRE 有什麼區別?

JDK(Java Development Kit) java開發工具包,包含JRE和java的基礎類庫和一堆java工具(javac/java/jdb) JRE(Java Runtime Environment) Java運行環境,包含J