原创 map、set、list的交集、並集、差集

map: MapDifference<String,String> difference = Maps.difference(map1,map2); //交集 Map<Object,Object> commonMap = differ

原创 Thread.join()

Thread.join():join()的作用是“等待該進程終止”,也就是在子線程調用了join()方法後,主線程後面的代碼要等到子線程結束了才能執行。一般應用於一個線程的輸入可能依賴於另一個或者多個線程的輸出,此時這個線程就需要等待依賴

原创 等待(wait)和通知(notify)

wait()方法和notify()方法不是Thread類中的,而是屬於Object類,這也意味着任何對象都可以調用這兩個方法。Object.wait()方法和Object.notify()方法不是可以隨便調用的,它們必須包含在對應的syn

原创 Thread.field()

Thread.field():field()的作用是“爲線程讓步”,就是當一個線程使用了這個方法後,該線程就會把自己的CPU執行的時間讓掉,讓自己或者其他的線程執行,注意的就是讓自己或者其他線程運行,並不是單純的讓給其他線程。 yield

原创 Spring 導入和混合配置

1、如果將兩個配置類合到一起,則使用@Import標籤,可以在某個配置類上使用@Import(Config.class)導入另一個配置類,或者另外創建一個配置類,該配置類沒有內容,在該配置類上加@Import({Config1.class

原创 Spring中獲取properties文件屬性值

1、使用@Value和@PropertySource獲取屬性值 (1)定義properties文件 redis.host=127.0.0.1 redis.port=6379 list=list1,list2,list3 maps={ke

原创 Spring的xml中依賴注入方式

一、構造器注入 構造器注入有兩種方式:<constructor-arg>和c-命名空間 將bean注入到構造器中: 1、使用<constructor-arg> 使用<constructor-arg ref="bean名稱">將bean名

原创 Spring的三種主要裝配方式

1、隱式的bean發現機制和自動裝配 @Component標記該類爲組件,@Autowired注入 這兩個註解是Spring中的註解,如果不想使用Spring的註解,可以分別用@Named和@Inject代替上述兩個註解 (1)在實現類上

原创 Mybatis 一級緩存和二級緩存

(1)如何清除一級緩存或不使用緩存 從源碼中可以看到解決辦法: public <E> List<E> query(MappedStatement ms, Object parameter, RowBounds rowBounds, Re

原创 Spring 應用上下文ApplicationContext

AnnotationConfigApplicationContext:從一個或多個基於java配置類中加載Spring應用上下文 AnnotationConfigWebApplicationContext:從一個或多個基於java配置類中

原创 判斷某值是否屬於枚舉類中的值

EnumUtils.isValidEnum(MyEnum.class, myValue)

原创 Spring、SpringMVC註解

1、@EnableAspectJAutoProxy 開啓對AspectJ自動代理的支持 2、@EnableAsync 開啓異步方法的支持  將@Async標籤放在類上面表示該類中的方法都是異步的,放在方法上表示該方法是異步的,使用方法可見

原创 Struts2的執行流程及其工作原理

該文章轉發自:https://www.cnblogs.com/mfmdaoyou/p/7189578.html 一、系統架構 Struts2的官方文檔附帶了Struts2的架構圖。 從這張圖能夠非常好的去理解Struts2 關於圖中的K

原创 標籤@EnableAsync和@Async實現異步操作

標籤@EnableAsync和@Async 通過@EnableAsync開啓對異步任務的支持,並通過在實際執行的Bean的方法中使用@Async註解來聲明其是一個異步任務,通過Spring提供的ThreadPoolTaskExecutor

原创 Executor、Executors、ExecutorService實現異步操作

  Executor:一個接口,定義了一個接受Runnable對象的方法executor,它用來執行一個任務,即執行一個實現了Runnable接口的類 ,executor.execute(new RunnableTask()); Exe