原创 java併發編程一一線程池原理分析(二)

2、線程池 1、什麼是線程池 Java中的線程池是運用場景最多的併發框架,幾乎所有需要異步或併發執行任務的程序都可以使用線程池。 在開發工程中,合理的使用線程池能夠帶來3個好處。 第一:降低資源的消耗,通過重複利用已創建的線程降低線程

原创 java併發編程一一線程池原理分析(三)

合理的設置線程池的大小 接着上一篇探討線程留下的尾巴。如果合理的設置線程池的大小。 要想合理的配置線程池的大小、首先得分析任務的特性,可以從以下幾個角度分析: 1、任務的性質:CPU密集型任務、IO密集型任務、混合型任務等; 2、任務

原创 java併發編程一一線程池原理分析(一)

1、併發包 1、CountDownLatch(計數器) CountDownLatch 類位於 java.util.concurrent 包下,利用它可以實現類似於計數器的功能。 比如有一個任務A,它要等待其他4個任務執行完成之後才能執

原创 java併發編程一一多線程之間通訊(一)

1.多線程之間如何實現通訊 多線程之間通訊,其實就是多個線程在操作同一個資源,但是操作的動作不同。 1.1什麼是多線程之間通訊? 需求:第一個線程寫入(input)用戶,另一個線程讀取(out)用戶。實現讀一個,寫一個操作。 1.2多

原创 java截取圖片截圖畫框

java圖片截圖 前言:上文中提到了圖片的合成,這篇文章中介紹的是圖片的截圖。 需求:一張圖片用鼠標畫框,然後截圖該圖片。並在截圖的框框劃線標識。 圖片合成:https://blog.csdn.net/qq_34846877/arti

原创 java併發編程一一多線程基礎快速入門

1.線程與進程的區別 每個正在系統上運行的程序都是一個進程。每個進程包含一到多個線程。線程是一組指令的集合,或者是程序的特殊段,他可以在程序裏獨立執行。也可以把它理解爲代碼運行的上下文。 所以線程基本是輕量級的進程,它負責在單個程序裏

原创 java併發編程一一多線程線程安全(三)

1.多線程的三大特性 1.1什麼是原子性 即一個操作或多個操作要麼全部執行並且執行的過程不會被任何因素打斷,要麼就都不執行。 一個很經典的例子就是銀行賬戶轉賬問題: 比如從賬戶A向賬戶B轉1000元,那麼必然包括2個操作:從賬戶A減

原创 java合併圖片合成多張橫向或豎向

java圖片合併 多張橫向或豎向合成圖片 前言:工作遇到需要把圖片合成一張圖片,在進行截圖。也遇到了很多問題,遇到的坑也分享出來。 圖片截取:https://blog.csdn.net/qq_34846877/article/detai

原创 linux系統elasticsearch、ELK 安裝、配置、排錯及示例

簡介 開始學習安裝elasticsearch時,出現過很多錯誤,導致無法進行安裝的操作。該文章是供自己安裝的總結及後面的小夥伴們能更好更快的解決問題。安裝中出現過問題會在下面描述。 一 、部署準備 文件準備 elk

原创 java併發編程一一多線程線程安全(四)

1.java重排序 1.1數據依賴性 如果兩個操作訪問同一個變量時,且這兩個操作匯中有一個爲寫操作,此時這兩個操作之間就 存在數據依賴性。數據依賴分下列三種類型。 名稱 代碼示例 說明 寫後讀 a=1; b=a; 寫一個變量

原创 java併發編程一一多線程線程安全(一)

1.什麼是線程安全? 1.1爲什麼有線程安全問題? 當多個線程同時共享同一個全局變臉或靜態變量,做寫的操作時,可能會發生數據衝突的問題, 也就是線程安全的問題。但是做讀操作是不會發生數據衝突問題。 舉例:現在有100張火車票,有兩個窗

原创 java併發編程一一多線程線程安全(二)

1.多線程死鎖 1.1什麼是多線程死鎖? 同步中嵌套同步,導致鎖無法釋放 代碼示例: class Thread009 implements Runnable { private int trainCount = 100;

原创 idea 基本操作教程

前言 該博文是隻是一個鏈接,收藏爲了自己不熟悉時翻看,也是剛入手idea工具,爲了更多小夥伴更好的知道該文章,少走彎路,一起相互學習,如果有好的文章鏈接歡迎去下面留言。 引用鏈接:https://blog.csdn.net/qq_3524

原创 oracle 表數據刪除後恢復還原

數據庫表還原到某時間點 還原語句 使用如下sql語句就可以還原整張表格數據到某個時間點,前提條件:該表的表格式沒有變動(如:字段的修改等) ALTER TABLE 表名 ENABLE ROW MOVEMENT; FLASHBACK TAB

原创 java excel表格導出

前言:該文章主要是利用poi去導出excel表格的總結。 導出excel核心代碼,大致分爲6步,可見代碼註釋。 public void exportRemarkExcel(IllegalWordVideoRemark videoRem