原创 spring cloud 學習- zuul 微服務網關

https://www.cnblogs.com/yjmyzz/p/spring-cloud-zuul-demo.html 給微服務中的所有api添加一層過濾。  

原创 阻塞隊列 LinkedBlockingQueue

1 api     java.util.concurrent包下的新類。LinkedBlockingQueue就是其中之一,是一個阻塞的線程安全的隊列,底層採用鏈表實現。             LinkedBlockingQueue構造

原创 等待返回結果:Callable、Future和FutureTask

https://www.cnblogs.com/xiaoxi/p/8303574.html

原创 計數器功能CountDownLatch、迴環柵欄CyclicBarrier和同時控制訪問的線程個數Semaphore

https://www.cnblogs.com/dolphin0520/p/3920397.html  

原创 定時器Timer和TimerTask

https://www.cnblogs.com/dolphin0520/p/3938991.html 實現定時器的功能 。 

原创 docker-compose下管理的docker是如何相互通訊的

docker-compose下的docker之間通訊不能直接使用ip的方式通訊,因爲ip會因爲server端的變化而變化.所以一般都是用compose file中的container_name來進行通訊. 下面是docker-compos

原创 java中對文件和目錄的操作

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; pub

原创 Android如何監聽開機廣播和關機廣播

項目背景:在錄像過程中,遇到關機事件,想要監聽關機操作,從而停止錄像,退出程序。 一、監聽開機廣播 Android系統啓動完成後會發出啓動完成廣播(android.intent.action.BOOT_COMPLETED),所有註冊了接收

原创 PostgreSQL命令行常用命令psql

注意:除sql語句外的命令大小寫敏感!!!sql語句要加上分號結束!!! 1、以dbuser的身份連接數據庫exampledb: $ su - dbuser Password:  Last login: Wed Mar 1 11:52:0

原创 java 反射機制之 getDeclaredMethod()獲取方法,然後invoke執行實例對應的方法

關於反射中getDeclaredMethod().invoke()的學習,來源於項目中的一行代碼: subjectService = new SubjectService(); subjectService.getclass().get

原创 Android應用在未啓動的情況下接受指定廣播

最近項目中遇到一個這樣的需求,如何使App在接收到指定廣播的時候,做特定的事情(啓動APP或者做某些數據收集操作) 思考:如果APP已經啓動,只需註冊相應的廣播就可以實現這個需求,但是如果APP從未啓動過呢? 問題原因 Android

原创 使用Spring Cloud Feign作爲HTTP客戶端調用遠程HTTP服務

如果你的項目使用了SpringCloud微服務技術,那麼你就可以使用Feign來作爲http客戶端來調用遠程的http服務。當然,如果你不想使用Feign作爲http客戶端,也可以使用比如JDK原生的URLConnection、Apach

原创 springCloud 微服務的錯容性保護:Hystrix

在微服務架構中,我們將系統拆分爲很多個服務,各個服務之間通過註冊與訂閱的方式相互依賴,由於各個服務都是在各自的進程中運行,就有可能由於網絡原因或者服務自身的問題導致調用故障或延遲,隨着服務的積壓,可能會導致服務崩潰。爲了解決這一系列的問題

原创 spring cloud 學習(6) - zuul 微服務網關

微服務架構體系中,通常一個業務系統會有很多的微服務,比如:OrderService、ProductService、UserService...,爲了讓調用更簡單,一般會在這些服務前端再封裝一層,類似下面這樣: 前面這一層俗稱爲“網關層”

原创 封裝sharePreference實現本地存儲key/value

實現一個工具類 SharePreferenceUtil package com.adv.client.utils; import android.content.Context; import android.content.Shar