Time of Update: 2018-07-26
轉載請註明出處 http://blog.csdn.net/pony_maggie/article/details/43897971 作者:小馬 先說說join的用法, 在某些情況下,如果子線程裡要進行大量的耗時的運算,主線程可能會在子線程執行完之前結束,但是如果主線程又需要用到子線程的處理結果,也就是主線程需要等待子線程執行完成之後再結束,這個時候就要用到join()。 看程式碼範例, class Thread1 extends
Time of Update: 2018-07-26
在某些情況下,主線程建立並啟動了子線程,如果子線程中需要進行大量的耗時運算,主線程往往將早於子線程結束之前結束,如果主線程想等待子線程執行完畢後,獲得子線程中的處理完的某個資料,就要用到join方法了,方法join()的作用是等待線程對象唄銷毀。 public class Test {public static class MyThread extends Thread {@Overridepublic void run() {try {int m = (int)
Time of Update: 2018-07-26
一、線程與進程 1、進程是程式(任務)執行過程,持有資源(共用記憶體,共用檔案)和線程,進程是動態性的,如果程式沒有執行就不算一個進程。 2、線程是系統中最小的執行單元,同一進程中有多個線程,線程共用進程的資源 Java中建立現成的方式就不再贅述了,有兩種:(1)繼承Thread類,重寫run()方法,(2)實現Runnable介面,重寫run()方法。 二、yield()方法
Time of Update: 2018-07-26
對線程優先順序的理解 對線程的優先順序的理解對於多線程的學習和yield()工作原理的理解非常有協助。 1、如果沒有具體指定優先順序,那麼所有線程優先順序都屬於普通優先順序。 2、優先順序分為1到10這十個等級,其中10是最高優先順序,1是最低優先順序,5屬於普通優先順序。 3、具有最高優先順序的線程將會優先被執行,但是這並不能保證它在啟動的時候就是運行狀態。 4、對於線上程池中等待被調度的線程來說,當前執行的線程可能有更高的優先順序。 5、決定哪個線程應該被執行的是線程調度者。
Time of Update: 2018-07-26
今天,我將討論程式員的常見任務之一,將String轉換為位元組數組。這樣做可能有多種原因(將內容儲存到檔案,通過網路發送或其他原因)。假設你有一個字串“abcd”,並且你想把它轉換成位元組數組,你會怎樣做。記住,String是由char數組構成的,所以它涉及到字元到位元組的轉換。值得慶幸的是,Java提供了一種方便的getBytes()方法來將String轉換為Java中的位元組數組,但不幸的是,許多開發人員使用方式不正確。大概近70%使用getBytes()方法沒有指定字元編碼,而是使用平台預
Time of Update: 2018-07-26
曆時兩周,終於把銀聯支付退款搞定了。由於沒人指導,走了不少彎路,博主在此貼出相關代碼,希望能幫到像我一樣沒人指導的小夥伴。 銀聯支付 1:支付,退款流程。 2:支付的相關準備 去官網下載sdk,官網相關地址會在本文結尾出提供
Time of Update: 2018-07-26
·在Hibernate中多對一關聯性,有時候不習慣使用debug,比較喜歡在控制台列印出來對象。這個時候就喜歡在兩個對象裡面都重寫toString方法。這個時候變報了下面的這個錯誤。 java.lang.StackOverflowErrorat java.lang.Integer.toString(Integer.java:113)at java.lang.String.valueOf(String.java:2931)at
Time of Update: 2018-07-26
(char)0+:表示數字0對應下的字元 應用迴圈語句:for(int i=0;i<127;i++){System.out.println((char)i+":"+i);} 輸出0~126對應的字元(nuicode碼) 轉譯符\n斷行符號 \t製表位字元 \\表示\ \' 表示‘ \“
Time of Update: 2018-07-26
Java是一門物件導向的程式設計語言,在Java程式啟動並執行過程中無時無刻都有對象被建立出來。 虛擬機器遇到一條new指令時,首先將去檢查這個指令的參數是否能在常量池中定位到一個類的符號引用,並且檢查這個符號引用代表的類是否已經被載入、解析和初始化過。如果沒有,那就先執行相應的類載入過程。在類載入檢查過後,虛擬機器就為新生對象分配記憶體。對象所需記憶體大小在類載入完成後便可完全確定,為對象分配記憶體等同於把一塊確定大小的記憶體從Java堆中劃分出來。一般通過指標碰撞和空閑列表兩種方式分配。
Time of Update: 2018-07-26
死結是指兩個或兩個以上的進程在執行過程中,由於競爭資源或者由於彼此通訊而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死結狀態或系統產生了死結,這些永遠在互相等待的進程稱為死結進程。 public class DeadLockDemo { static Book book1 = new Book(); static Book book2 = new Book(); public static void main(String[] args) {
Time of Update: 2018-07-26
圖片上傳功能在Controller層實現的完整方法如下: 方法一: @RequestMapping("toUploadImage.do") public String upload(@RequestParam MultipartFile uploadfile, HttpServletRequest request, HttpServletResponse response,String tid) {
Time of Update: 2018-07-26
本文首發於InfoQ 1. 什麼是Fork/Join架構 Fork/Join架構是Java7提供了的一個用於並存執行任務的架構, 是一個把大任務分割成若干個小任務,最終匯總每個小任務結果後得到大任務結果的架構。
Time of Update: 2018-07-26
今天,我們接著上篇文章,繼續來說我們的時時調度。前兩個例子我們調用的方法都是沒有傳回值得,可是實際應用中,一般的方法都是有傳回值得,我們這次來修改一下,看看有傳回值得方法如何做到時時調度。 一、時時調度變形 1、控制類 public class timeTest { /** * 時時調度 * 3秒後開始,每隔1秒列印一次 */ public static String
Time of Update: 2018-07-26
JPA 懶載入的一個坑 大神可繞路 package com.liuzm.controller;import com.liuzm.entity.UacRole;import com.liuzm.entity.UacUser;import com.liuzm.service.UacUserService;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.
Time of Update: 2018-07-26
java xml api 簡單使用例子 主要步驟: 1、建立 DocumentBuilderFactory 對象 2、讀取文檔,得到文檔對象 Document 3、解析xml元素,比如 doc.getElementsByTagName() java jdk 內建的 xml 解析方式是w3c標準,所以更 JS中的xml dom方法名稱差不多 package com.test;import
Time of Update: 2018-07-26
1、Api文檔的閱讀技巧,先讀主幹,瞭解功能,在看枝葉,英文也是如此 2、java api文檔再使用的時候,盡量少的使用搜尋,而是通過目錄尋找,這樣可以協助你熟悉目標類所在的具體位置 3、左側藍色的比較大的是包名,下面。列出來的是包下面的類和介面。包和繼承沒有關係,同一個包中的類可以有子類,也可以有父類。 一般一種類型的比如io等等都一個包就放了所有的類,極少數包裡還套著包。
Time of Update: 2018-07-26
在剛開始學java的時候,從dos命令列(這裡只針對Windows環境下)執行Java程式是一個很不錯的嘗試。現在大體總結下自己在嘗試後遇到的一些問題,及解決辦法。 首先,通過命令列查看是否安裝Java程式,以及列印classpath和java_home變數: 通過這三個,就可以得知你環境配置是否ok 如果執行java -version報錯 或者說找不到,那應該是沒有配置java path環境,請自行百度配置。 Java相關的術語說明
Time of Update: 2018-07-26
java語言是跨平台的,所謂一次編寫,到處運行。之所以是跨平台的,就是 java定義了一套與作業系統,硬體無關的位元組碼格式,這個位元組碼就是用 java class檔案來表示的, java class檔案內部定義了虛擬機器可以識別的位元組碼格式,這個格式是平台無關性的,在 linux系統或者在 windows系統上都是一致的。這個就好比 html檔案,我們定義好規範,
Time of Update: 2018-07-26
submit( ):該方法接收Runnable或Callable對象作為輸入參數(該方法輸入參數請參考上篇文章java線程池任務提交(Runnable、Callable、FutureTask),
Time of Update: 2018-07-26
方法execute()沒有傳回值,而submit()方法可以有傳回值(通過Callable和Future介面) 方法execute()在預設情況下異常直接拋出(即列印堆棧資訊),不能捕獲,但是可以通過自訂ThreadFactory的方式進行捕獲(通過setUncaughtExceptionHandler方法設定),而submit()方法在預設的情況下可以捕獲異常