原创 Docker Search 異常:Error response from daemon: Get https://index.docker.io/v1/search?xxx

docker search tomcat Error response from daemon: Get https://index.docker.io/v1/search?q=tomcat&n=25: dial tcp: loo

原创 MyBatis根據傳入字段排序

mybatis排序時使用order by 動態參數時需要注意,用$而不是# #{} ,會對自動傳入的數據加一個雙引號,導致排序失敗,如 order by #{age},解析結果 order by "age" ${},不會對傳入值

原创 你真的瞭解驗證碼嗎?

你真的瞭解驗證碼嗎? 在登錄某網站、App、註冊、提交表單時,絕大多數情況下,都會有驗證碼的功能。用戶只有在驗證碼輸入正確的情況下才可進行接下來的操作。 驗證碼的形式也多種多樣,有圖片、語音、短信等等。相信大多數人都體驗過123

原创 泛型接口和方法

泛型接口 定義泛型接口 在 JDK 1.5之後,不僅可以在接口上聲明泛型,聲明格式與之前類似,是咋接口名稱後面加上< T>即可。格式如下: 【訪問權限】 interface 接口名稱<泛型標識>{} 下面利用以上定義一個泛

原创 多線程如何從理論到實戰

一. 回顧 關於線程相關的一些基礎知識,本篇不再過多闡述,首先我們通過幾個簡單的問題,複習一下線程相關的一些基礎知識。 1.進程和線程分別是什麼? 進程:進程是一個具有一定獨立功能的程序關於某個數據集合的一次運行活動。它是操作系統

原创 線程操作的方法

從線程狀態 的圖中可以發現,在Java實現多線程的程序中,雖然Thread類實現了Runnable接口,但是操作線程的主要方法並不在Runnable接口中,而是在Thread類中。 Thread類中主要方法 方法名稱 類型

原创 Java中線程的實現

在Java中要想實現多線程操作有兩種方法: (1) 繼承Thread類 (2) 實現Runnable接口 一. 繼承Thread類 Thread類是在java.lang包中定義的,一個類只要繼承了Thread類,此類就稱

原创 線程操作的實例

在線程操作中有個經典的案例程序,即生產者和消費者問題,生產者不斷生產,消費者不斷消費生產者生產的產品。 生產者生產出的信息方法一個區域之中,消費者從區域中將數據取出來,但是本程序中因爲牽扯到線程運行的不確定性,所以會存在兩個問題

原创 線程的狀態

要想實現多線程,必須在主線程中創建新的線程對象。任何線程對象一般都有5中狀態,即創建、就緒、運行、阻塞、終止。線程狀態的轉移與方法之間的關係如下圖: Created with Raphaël 2.1.0開始就緒狀態阻塞狀態?阻塞解

原创 進程與線程

進程是程序的一次動態執行過程,它需要經歷從代碼加載、代碼執行到代碼執行完畢的一個完整過程,這個過程也是進程本身從產生、發展到最終消亡的過程。多進程操作系統能同時運行多個進行進程(程序),由於CPU具有分時機制,所以每個進程都能循環

原创 同步與死鎖

一個多線程的程序如果是通過Runnable接口實現的,則意味着類中的屬性將被多個線程享用,那麼就造成一個問題,如果這個多線程要同時操作同一資源時就有可能出現資源的同步問題。例如前面的賣票程序,多個線程同時執行時就會把票數賣爲負數(

原创 線程的生命週期

在Java中一個線程對象都有自己的生命週期,如果要控制好線程的生命週期,則首先應認識其生命週期。 從圖中可以看出,大部分的線程生命週期的方法基本上都學過了。 線程的操作方法 其中三個新的方法如下: 1. suspend

原创 線程操作範例

設計一個線程類。可以產生3個線程對象,並分別設置3個線程的休眠時間,具體如下: 線程 休眠 線程A 休眠10秒 線程B 休眠20秒 線程C 休眠30秒 從之前的學習應該可以知道,線程的實現有兩種方式,一種是

原创 爲什麼要使用泛型

在講解泛型之前,先看看下面一個實例。 現在要求設計一個可以表示出座標點的類,座標有X和Y組成,座標的表示方法有以下三種: 1. 整數表示法: X=10、Y=20 2. 小數表示法: X=10.5、Y=20.6 3. 字符串

原创 Java--jar命令的使用與java命名規範

jar命令的使用與Java命名規範 一.jar命令使用 當開發者爲用戶開發一整套Java類之後,肯定要把這些類交給用戶使用,但是如果交給用戶編譯好的class文件會十分不方便,所以一般情況下會將這些*.class文件壓縮成一個