原创 JSONObject轉換

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.41</version> </

原创 演示調用sleep方法,鎖是否釋放

/** * 演示調用sleep方法,鎖是否釋放 */ public class SleepLock { private Object lock = new Object(); private class Threa

原创 演示AtomicInteger的使用

import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicInteger; /** * 演示AtomicInteger的

原创 allMatch用法

import com.it.vo.Student; import java.util.ArrayList; import java.util.List; /** * 方法allMatch(Predicate p) 傳入一個斷言型函數

原创 集合交集(判斷兩個集合是否有相同的元素)

import java.util.ArrayList; import java.util.List; /** * 有兩個集合A和B,判斷這兩個集合是否包含相同的元素, * 可以使用retainAll方法:A.retainAll(B

原创 Spring Bean的初始化與銷燬方式三

可以使用JSR250規則定義的(java規範)兩個註解來實現 @PostConstruct: 在Bean創建完成,且屬於賦值完成後進行初始化,屬於JDK規範的註解 @PreDestroy: 在bean將被移除之前進行通知, 在容器銷燬之前

原创 Spring Bean的初始化與銷燬方式,指定初始化initMethod和指定銷燬destroyMethod方法

1、pom.xml文件依賴 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId>

原创 拿到map對應節點的數據集合數據工具類

public static List selectNodesByPath(Map<String, Object> map, String path) { String[] split = path.split("/");

原创 Spring Bean的初始化與銷燬方式二

實現InitializingBean接口的afterPropertiesSet()方法,當beanFactory創建好對象,且把bean所有屬性設置好之後,會調這個方法, 相當於初始化方法;實現DisposableBean的destory

原创 IDEA 快捷鍵 持續更新

    1、Ctrl+F12:顯示當前文件的結構     2、Ctrl+N:查找類     3、Ctrl+P:方法參數提示顯示     4、Ctrl+F:在當前文件進行文本查找     5、Alt+Insert:生成構造器、Getter、

原创 實現一個自己的類ReentrantLock

import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.AbstractQueuedSynchronizer; import java.util.c

原创 三個線程,線程A不停打印A、線程B不停的打印B、線程C不停的打印C

/** * 三個線程,線程A不停打印A、線程B不停的打印B、線程C不停的打印C, * 如何通過synchronized、wait、notifyAll(或notify)的組合,使三個線程不停地且順序地打印出ABCABC */ p

原创 演示Callable Future FutureTask的使用

    get():獲取任務執行結果,如果任務還沒完成(state<=COMPLETING),則會阻塞等待直到任務執行完成;如果任務被取消,則會 拋出CancellationException異常;如果任務執行過程發生異常,則會拋出Ex

原创 用Arrays類截取路徑

import java.util.Arrays; import java.util.stream.Collectors; public class Test { public static void main(String [

原创 筆試題:子線程循環5次,接着主線程循環10次,接着又回到子線程循環5次,接着再回到主線程又循環10次,如此循環8次。

/** * 子線程循環5次,接着主線程循環10次,接着又回到子線程循環5次, * 接着再回到主線程又循環10次,如此循環8次。 */ public class UserThread { private static cl