原创 LoadingCache簡單實例,使用google緩存機制緩存每天數據庫第一條數據並保存

使用LoadingCache緩存每天數據庫第一條數據並保存 private LoadingCache<String, Integer> minId = CacheBuilder.newBuilder().expireAfterW

原创 SpringAOP(面向切面編程)和動態代理的總結

1、AOP概念: 主要功能:日誌記錄 2、AOP特點: 採用橫向抽取機制,取代了傳統縱向繼承體系重複性代碼。 3、AOP底層實現: AOP底層使用動態代理實現。包括兩種方式: 使用JDK動態代理實現。 使用cglib來實現  jdk和

原创 設計模式-3.策略模式的學習總結

在策略模式(Strategy Pattern)中,一個類的行爲或其算法可以在運行時更改。這種類型的設計模式屬於行爲型模式。 在策略模式中,我們創建表示各種策略的對象和一個行爲隨着策略對象改變而改變的 context 對象。策略對象改變 c

原创 仿微博社交平臺系統設計[三]--使用redis的zset存儲好友關係的實現

Redis 有序集合(sorted set) Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重複的成員。 不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來爲集合中的成員進行從小到大的排序

原创 使用ScheduledExecutorService實現延時任務——延時發佈視頻

使用ScheduledExecutorService可以實現定時任務(例如定時發佈的功能) 先在類中定義局部變量 ScheduledExecutorService service = Executors.newScheduled

原创 設計模式-1.工廠模式的學習總結

工廠模式 它提供了一種創建對象的最佳方式。 介紹 意圖:定義一個創建對象的接口,讓其子類自己決定實例化哪一個工廠類。 主要解決:主要解決接口選擇的問題 關鍵代碼:創建過程在其子類執行。 應用實例:Hibernate 換數據庫只需換方言和驅

原创 什麼是併發編程的原子性、可見性、有序性

摘要 併發程序正確地執行,必須要保證原子性、可見性以及有序性.只要有一個沒有被保證,就有可能會導致程序運行不正確. 原子性:一個操作或多個操作要麼全部執行完成且執行過程不被中斷,要麼就不執行。 可見性:當多個線程同時訪問同一個變量時

原创 仿微博社交平臺系統設計[四]--使用springevent事件驅動模型(觀察者模式)結合redis bitmap 運用 實現每日數據統計

觀察者模式 當對象間存在一對多關係時,則使用觀察者模式(Observer Pattern)。比如,當一個對象被修改時,則會自動通知它的依賴對象。觀察者模式屬於行爲型模式。 主要解決:一個對象狀態改變給其他對象通知的問題,而且要考慮到易用和

原创 面試進階問題總結

1.rpc通信協議http和thrift之間的區別 使用thrift等工具可以實現二進制傳輸,相比http的文傳輸無疑大大提高了傳輸效率;http通常使用的json,需要用戶序列化/反序列化,性能和複雜度高。相比之下,Thrift等工具,

原创 lambda表達式的應用總結

1.filter流過濾 List<UcShopCourseBizPojo> shopCourseLists = ucShopCourseBizPojoList.parallelStream()

原创 MySQL簡單面試題

1.數據庫的三範式是什麼? 第一範式:強調的是列的原子性,即數據庫表的每一列都是不可分割的原子數據項。 第二範式:要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性。 第三範式:任何非主屬性不依賴於其它非

原创 oracle數據庫學習與總結

概念:  一個相關的操作系統文件(既存儲在計算機硬盤上的文件)集合,這些文件 oracle實例:用它來管理數據庫的訪問。 scott登錄

原创 Spring 中運用的 9 種設計模式

1. 簡單工廠   實現方式: BeanFactory。Spring中的BeanFactory就是簡單工廠模式的體現,根據傳入一個唯一的標識來獲得Bean對象,但是否是在傳入參數後創建還是傳入參數前創建這個要根據具體情況來定。 實質: 由

原创 策略模式和工廠模式的區別

工廠模式和策略模式看着很像,經常讓人混淆不清; 它們的區別在哪裏,需要細細體味; 相似點 在模式結構上,兩者很相似; 差異 用途不一樣 工廠是創建型模式,它的作用就是創建對象; 策略是行爲型模式,它的作用是讓一個對象在許多行爲中選擇一