原创 Java 多線程中 join 的作用

背景 在使用多線程操作時,有這樣的一個操作非常常見:當我們遇到一個任務比較繁重時,我們會分配一個子線程 t 去執行,從而使主線程仍然繼續處理當前事務。然而當主線程處理好好其他事務後,發現子線程仍然沒有結束,於是主線程就需要等待子線

原创 線程死鎖及一個通俗的示例

定義 死鎖是指兩個或兩個以上的進程在執行過程中,由於競爭資源或者由於彼此通信而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱爲死鎖進程。 舉例 辦公室有

原创 【置頂】本博客主要核心文章導航

文章目錄算法分析類C#程序設計類Java開發方法與工具Linux性能測試LatexPython其他 算法分析類 用蠻力法解決埃及分數問題 用蠻力法求圓周率PI 使用Java抓取指定CSDN博文的文章信息 使用Java 抓取 CSN

原创 深度優先搜索之八皇后問題

問題 八皇后問題,是一個古老而著名的問題,是回溯算法的典型案例。該問題是國際西洋棋棋手馬克斯·貝瑟爾於1848年提出:在8×8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多

原创 用蠻力法求圓周率PI

前言 蠻力法簡單粗暴,但是卻也通俗易用,充分利用計算機快速的優點,所以可以用來解決很多算法問題。本文通過使用蠻力法來求解圓周率。 算法設計 用蠻力法求PI的基本思想是: 將 xxx 軸上的區間[-1, 1] 劃分成 nnn 份

原创 Windows窗體設計之一:從快捷方式屬性窗體看微軟的設計技巧

Windows的窗體佈局非常簡潔大方,以至於我們習以爲常,都沒有感覺到設計師們的經驗的技巧。本文就以以Windows下快捷方式的屬性窗體爲例,讓我們深入學習一下,微軟設計師的設計經驗。PS,這個設計技巧可以使用C#進行設計,都可以

原创 使用Java抓取指定CSDN博文的文章信息

簡介 在之前的文章 《使用Java 抓取 CSND 中指定博主的所有文章列表》中,介紹了使用Java抓取文章的標題和鏈接信息。今天,又將應用推進了一步:指定網頁,抓取文章信息,如下所示: 92120238 使用Java 抓取 CS

原创 Java多線程安全的三大特性之有序性

定義 有序性是指,同一線程中的指令應該按順序執行,而多線程中的指令未必按順序執行。 示例 在下面的演示代碼中,我們做了這樣的事情: 首先,定義一個全局的靜態變量 singleton ,使用1000個線程對調用 getInstanc

原创 使用Java 抓取 CSND 中指定博主的所有文章列表

前言 最近想把自己的文章管理一下,結果發現使用這樣的格式: [Java多線程安全的三大特性之原子性](https://blog.csdn.net/weixin_43145361/article/details/92053874)

原创 Java多線程安全的三大特性之原子性

定義 原子性就是一個等執行的任務象原子一樣不可拆分(注:這是早期的觀點,現在物理學已經發現原子實際上也是可分的,不過原子性概念已經用了很久,大家都已經接受了,所以不再修改。),即要麼全部執行完不會被打斷,要麼會都不執行。以銀行轉賬

原创 利用哈夫曼樹進行編碼壓縮

前言 哈夫曼樹是上世紀50年代由哈夫曼提出的一種完全二叉樹,能夠用於很多算法當中。比較經典應用之一的就是利用哈夫曼樹進行數據壓縮。網上相關文章很多,請先自行查詢相關算法的文章進行預習。 題目:利用哈夫曼編碼進行字符串壓縮 算法輸入

原创 一個60秒超時導致調試失敗的BUG

問題 CLR無法從COM 上下文轉換爲COM上下文,這種狀態已持續60秒。 異常信息:CLR無法從COM 上下文0x645e18 轉換爲COM上下文0x645f88,這種狀態已持續60秒。擁有目標上下文/單元的線程很有可能執行的是

原创 一個完整的Java版的分數類

前言 分數的運算是常規的基礎數據的內容。網上有很多人寫,但是筆者在搜索了以後,發現幾乎所有的分數類都有都有不同的問題。在CDSN中,隨便搜索一下,同樣也有很多文章寫這個類。但是,一樣大多都有問題。於是筆者抽了點時間,建立了這個分數

原创 一個完整使用C#編寫的CSV讀寫類

源文件下載地址:https://gitee.com/hwaust/WindGoes6/blob/master/Windgoes6/Data/CSV.cs 簡介 網上有很多CSV的讀寫類,這些類要麼設計不合理,要麼功能簡單,要麼內容

原创 一個便於 Spire.XLS 操作的類 SpireXLSSheetHelper

Spire.XLS是一個非常好用的第三方EXCEL操作類庫。但是在使用的時候,需要做很多判斷,比如單元格是否超出範圍,內容是否有公式,或者判斷某行某列是否有內容等。爲了便於操作,特提供此 SpireXLSSheetHelper 類