原创 java多線程和併發--java併發協作控制1

線程協作 Thread/Executor/Fork-Join – 線程啓動,運行,結束 – 線程之間缺少協作 synchronized 同步 – 限定只有一個線程才能進入關鍵區 – 簡單粗暴,性能損失有點大 如何做到線程之間的協

原创 java多線程-java併發數據結構

java併發數據結構 常用的數據結構是線程不安全的 – ArrayList,HashMap, HashSet非同步的,這些在多線程中是不適用的 – 多個線程同時讀寫,可能會拋出異常或數據錯誤 傳統Vector,Hashtable

原创 java多線程和併發編程(續)1- java併發框架Executor

java併發框架Executor 並行計算(1) 業務:任務多,數據量大 串行 vs 並行 – 串行編程簡單,並行編程困難 – 單個計算核頻率下降,計算核數增多,整體性能變高 並行困難(任務分配和執行過程高度耦合) – 如何控制

原创 java讀取xslx內容,內容轉換成docx和pdf,包括圖片

WPS創建或打開的文件有可能解析有誤 student.xslx文件如下: student.docx文件內容如下: 程序運行結果如下: 源碼示例: pom.xml <dependencies> <!-- https

原创 Java多線程信息共享及volatile關鍵字

多線程信息共享 線程類 – 通過繼承Thread或實現Runnable接口 – 通過start方法,調用run方法,run方法工作 – 線程run結束後,線程退出 粗粒度:子線程與子線程之間、main線程之間缺乏交流 細粒度:線

原创 請分成6個線程,計算m到n的值(以1到100000000爲例)的總和。要求每個線程計算的數字量之差不超過1.

示例1: package work4; /** * @ClassName:Work4 * @Description: * @author: Torey */ public class Work4 { publi

原创 多線程信息共享-synchronized

多線程信息共享-加鎖 關鍵步驟加鎖限制 – 互斥:某一個線程運行一個代碼段(關鍵區),其他線程不能同時運行這個代碼段 – 同步:多個線程的運行,必須按照某一種規定的先後順序來運行 – 互斥是同步的一種特例 互斥的關鍵字是sync

原创 java多進程-創建和啓動

Java多線程創建 java.lang.Thread – 線程繼承Thread類,實現run方法 java.lang.Runnable接口 – 線程實現Runnable接口,實現run方法 Java多線程啓動 啓動 – 調用

原创 java多線程生產者/消費者示例代碼

多線程管理 線程類 –通過繼承Thread或實現Runable – 通過start方法,調用run方法,run方法工作 – 線程run結束後,線程退出 粗粒度: 子線程與子線程之間、和main線程之間缺乏同步 細粒度:線程之間有

原创 java多線程和併發編程(續)2- java併發框架Fork-Join框架

並行計算 並行模式 – 主從模式(Master-Slave) – Worker模式(Worker-Worker) Java併發編程 – Thread/Runnable/Thread組管理 – Executor – Fork-J

原创 java-多線程管理-主動/被動停止,鎖

多線程管理-主動或被動停止線程 線程被動地暫停和終止 – 依靠別的線程來拯救自己 – 沒有及時釋放資源 – 在生產者/消費者示例中,線程wait的時候,需要靠別的線程來notify,只有notify了,其他線程才能從wait的狀

原创 1 spring AOP- 面向切面編程

編程範式概覽 面向過程編程 面向對象編程 函數式編程 事件驅動編程 面向切面編程 AOP是什麼 是一種編程範式,不是編程語言 解決特定問題,不能解決所有問題 是OOP的補充,不是替代 AOP的初衷 DRY: Don’t R

原创 spring集合裝配

pom.xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId>

原创 4-8 Spring Bean裝配之基於Java的容器-基於泛型的自動裝配

基於泛型的自動裝配 基於泛型的自動裝配是spring4中新增的內容。 泛型自動裝配例子: public interface Store<T> { } public class IntegerStore implements

原创 5-3 配置切入點Pointcut

在AOP中通知Advice和一個切入點表達式關聯 execution用於匹配方法執行的連接點 pointcut execution: AspectJ與Spring AOP 都支持: execution(public **(…)