原创 事務方法內先提交事務,再進行其他操作

問題描述:有時候會有這種場景,一個事務方法中,有兩步操作,操作一爲插入數據庫操作,操作二把操作一插入數據的id發給其他系統,其他系統拿到id後來查詢數據,但是會發現有時候系統運行比較快的時候,查詢數據會查不到。 原因:因爲兩步操作都是

原创 JAVA後端如何保證業務操作的冪等性

JAVA後端如何保證業務操作的冪等性 說到冪等性,應該很多人都知道這個詞,顧名思義,就是無論操作多少次,產生的結果都是相等的。尤其是交易中,在開發過程中,時時刻刻要考慮交易的冪等性,例如,客戶端因爲網絡原因,發起了多次相同的交易請求,

原创 逆波蘭式實現四則運算(加減乘除)

最近做一個項目需要做表達式的解析,初想不難,仔細研究之後,發現做細點可能會涉及到編譯原理的詞法解析和語法解析。但是如果只做簡單的表達式計算,可以使用逆波蘭式。 何爲逆波蘭式,可以看這個鏈接:https://baike.baidu.com

原创 螞蟻金服筆試題

題目一: 提供一個懶漢模式的單實例類實現。 要求: 1.考慮線程安全。 2.提供測試代碼,測試線程安全性。 public class Singleton { public Singleton() {} /**

原创 Java spring非注入類訪問注入類方法

1、只需要定義一個SpringContextUtils工具類(需要注入到容器中,可以使用註解或者配置的方式),實現一下ApplicationContextAware接口,注入ApplicationContext,然後在工具類中定義一個靜態

原创 Java併發編程:線程池的使用

Java併發編程:線程池的使用   在前面的文章中,我們使用線程的時候就去創建一個線程,這樣實現起來非常簡便,但是就會有一個問題:   如果併發的線程數量很多,並且每個線程都是執行一個時間很短的任務就結束了,這樣頻繁創建線程就會大大

原创 Java設計模式之代理模式

分類 從分類上來說,代理模式分爲靜態代理和動態代理兩種: 靜態代理模式:需要人工編寫代理類,也就是在運行時已經存在代理類的class文件了,依賴目標類,代理類和目標類都實現同一接口類,調用時直接訪問代理類,通過代理類將請求轉化爲訪問目標

原创 深入淺出數據庫索引原理

轉載自:https://www.cnblogs.com/aspwebchh/p/6652855.html 使用索引很簡單,只要能寫創建表的語句,就肯定能寫創建索引的語句,要知道這個世界上是不存在不會創建表的服務器端程序員的。然而, 會

原创 java--二叉樹常見操作

二叉樹節點定義 public class BinaryNode<T> { /** * 左節點 */ private BinaryNode<T> leftNode; /** * 右節點

原创 Spring AOP詳解

一.前言     在以前的項目中,很少去關注spring aop的具體實現與理論,只是簡單瞭解了一下什麼是aop具體怎麼用,看到了一篇博文寫得還不錯,就轉載來學習一下,博文地址:http://www.cnblogs.com/xrq73

原创 JAVA設計模式之單例模式

最近發生的事   三月底,我辭去了大學畢業後在深圳的第一份工作,回到我的老家——中國最貧窮的直轄市,回來前,差不多猶豫了半年,一方面害怕回來工作不好找,同時加上在那邊的一些朋友,最後再三思量還是一咬牙一跺腳,回來了。 回來後,花了幾天時

原创 Java Double運算精度問題解決

Double精度丟失原因 先明白計算機在內部進行算術運算的一個流程:計算機會先把要計算的數轉化成二進制,然後通過二進制進行運算,運算好了之後,再轉化爲相應的進制輸出。然而,Double類型小數在轉化成計算機的二進制的時候,二進制不能完全表

原创 Java異常處理:錯誤信息trace方式顯示

Java中,當我們需要進行異常處理的時候,一般都是使用try catch來捕捉異常,然後進行處理,當出現異常時,我們一般使用日誌的方式打印異常信息。 可是,我們一般打印的異常信息,都只是一個異常名,卻不知道具體是哪個類的哪一行代碼報的錯誤

原创 TCP、UDP、IP 協議分析

互連網早期的時候,主機間的互連使用的是NCP協議。這種協議本身有很多缺陷,如:不能互連不同的主機,不能互連不同的操作系統,沒有糾錯功能。爲了改善這種缺點,大牛弄出了TCP/IP協議。現在幾乎所有的操作系統都實現了TCP/IP協議棧。

原创 Elasticsearch的備份和恢復

備份 Elasticsearch的一大特點就是使用簡單,api也比較強大,備份也不例外。簡單來說,備份分兩步:1、創建一個倉庫。2、備份指定索引。下面一步一步來: 1、創建一個倉庫(creating the reposito