原创 Jenkins報project_id do not exit

你可能選錯分支了,去git上看一下分支是否存在選擇存在的分支即可

原创 java線程安全問題,CAS

什麼是線程安全問題 答:當多個線程同時共享一個全局變量,做寫的時候,可能會受到其他線程的干擾,導致數據有問題,這種現象叫做線程安全問題。做讀的時候,不會產生線程安全的問題。對局部變量不會發生線程安全問題。 線程如何實現同步

原创 Calendar工具類的日常使用--保持持續更新中

package com.alipay.airbops.common.service.integration.util; import java.util.Calendar; import java.util.Date; impo

原创 ThreadPoolExecutor的簡單實踐

創建 //創建阻塞隊列 BlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>(); //創建線程池 ThreadPoolExecutor execu

原创 List對象集合的排序:比較器Comparator

這種方法不需要實體類實現Comparable接口,比較靈活。 /** * 根據時間戳進行倒序排序 * * @param list * @return */ priv

原创 Java8雙冒號(::)運算符的使用

在java8中引入了很多新特性,其中最有亮點的就是函數式編程,例如lambda表達式,簡化書寫等. 我們先看一個關於Lambda的使用: /** * 輸出list */ @Test public void test() { S

原创 併發情況下的單例模式實現

常見的單例模式是針對一個線程的情況下實現沒問題,但是當多個線程去請求資源的時候,可能出現產生多個對象,採用synchronized上鎖可以解決99.9%這一問題,但是仍可能存在指令重排的情況(數據之間沒有依賴性,底層編譯的時候可能

原创 單向循環鏈表應用場景

Josephu(約瑟夫、約瑟夫環)問 題: Josephu問題爲: 設編號爲1, 2, … n的n個人圍坐一圈,約定編號爲k (1<=k<=n) 的人從1開始報數,數到m的那個人出列,它的下一位又從1開始報數,數到m的那個人又出列

原创 併發編程ABC循環打印問題實現,JUC

參考文檔:https://www.cnblogs.com/linkworld/p/7819270.html 參考視頻: https://www.bilibili.com/video/BV14W411u7gB?from=search

原创 爲什麼MySQL用B+樹做索引?

索引這個詞,相信大多數人已經相當熟悉了,很多人都知道MySQL的索引主要以B+樹爲主,但是要問到爲什麼用B+樹,恐怕很少有人能把前因後果講述的很完整。本文就來從頭到尾介紹下數據庫的索引。 索引是一種數據結構,用於幫助我們在大量數據

原创 log4j.xml配置打印指定數據到指定文件中

1. 指定某個特殊功能的日誌打到獨立的日誌文件 <?xml version="1.0" encoding="GBK"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <!-

原创 單鏈表的實現及實現鏈表的反轉、逆序、倒數查詢

鏈表是有序的列表,但它在內存中的存儲如下: 小結: 鏈表是以節點的的方式來存儲,是鏈式存儲 每個節點包含data域,next域:指向下一個節點 鏈表各個節點不一定是連續存儲 鏈表分爲帶頭節點的鏈表和沒有頭節點的鏈表,根據實際的

原创 Builder模式和工廠模式的區別

1、Builder模式 Builder模式的定義是“將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。”,它屬於創建類模式,一般來說,如果一個對象的構建比較複雜,超出了構造函數所能包含的範圍,就可以使用工廠

原创 Spring定時任務的實現方式(程序啓動後運行)--ScheduledExecutorService

本方式會在程序啓動後單獨開啓一個線程去執行,慎用 建立一個Java類,並實現Runnable接口 import java.util.Date; public class StartupTask implements Runna

原创 集合實現先歸類再排序

實現思路:先將數據轉換成對象,再將數據通過Map歸類,最後通過實現集合的compare方法實現排序 import java.text.SimpleDateFormat; import java.util.*; public cl