原创 分佈式發佈訂閱消息系統 Kafka

現有消息隊列(MessageQueue)比較: 網站系統 <-- Flume集羣 --> Kafka集羣 --> strom集羣 --> redis集羣 Flume用於獲取數據,Kafka用於緩存數據,strom用於處理,redis用於

原创 Spark應用執行機制

Spark是專門爲大規模數據設計的快速通用計算引擎。 Spark應用(Application)爲用戶提交的應用程序。執行模式有Local(測試),Standalone、Yarn和Mesos。根據Spark Application的Driv

原创 JVM常用配置參數和調優策略

堆內存配置參數 參數 描述 -Xms JVM初始化堆內存大小 -Xmx 堆內存最大值 -Xmn 堆內存年輕代大小,剩下爲老年代大小 -XX:PermGen 永久代初始化大小(JDK1.8開始放棄了永久代)

原创 MySql分頁limit優化

問題 mysql使用limit分頁,當limit offset,rows的offset數值過大時,會出現效率問題。 準備數據 正常查詢: select * from t_bank where bank_code like '

原创 ElasticSearch的倒排索引和分析器

ElasticSearch的倒排索引概念倒排索引舉例分析和分析器ElasticSearch內置分析器標準分析器簡單分析器空格分析器語言分析器 概念 ElasticSearch使用一種稱之爲 倒排索引 的數據結構,實現快速的全文索引

原创 Java線程的生命週期和狀態控制

生命週期 Java線程有新建(New)、就緒(Runable)、執行(Running)、阻塞(Blocked)、死亡(Dead)五種狀態。 新建狀態 線程創建完成時,即new Thread(…)還沒調用start前的狀態。 就緒

原创 Linux命令

crontab 定時觸發任務 1. crontab -e           編輯crontab服務文件(也可直接編輯/etc/crontab文件) 分 小時日月星期命令 0-59 0-23 1-31 1-12 0-6 comman

原创 關於枚舉

枚舉可以序列化嗎? 答:能。枚舉雖然能被序列化,但是實現與Class的序列化不同。oracle官方文檔中有寫: 1.12 Serialization of Enum Constants Enum constants are se

原创 hashCode和equals

hashCode和equals是Object的非final方法,它的存在就是用來被重寫的。 Object的equals方法如下: public boolean equals(Object obj) { return (thi

原创 Oracle存儲過程

一、存儲過程創建語句: CREATE OR REPLACE PROCEDURE 存儲過程名 ( 變量1 IN 數據類型, -- 詳解見① 變量2 OUT 數據類型 ) IS/AS -- 變量聲明塊:IS或者AS用於聲明變量

原创 【設計模式】代理模式

代理模式是一種結構型設計模式,可以說是GOF23中應用最廣泛的模式,尤其是其中的動態代理,功能強大,也較難理解。 代理 什麼是代理?房屋中介就是一種代理,它是房東的代理。 靜態代理 代理模式,不管是靜態還是動態,肯定有一個被代理

原创 【設計模式】工廠模式

工廠模式是一種創建型設計模式。 開閉原則 開閉原則是設計模式原則之一,倡導實體應當對擴展開發,對修改關閉。 意思是說,你想要擴展或者修改已寫好代碼的功能,可以往裏面加入新的代碼,但不允許修改修改以前已經寫好的代碼。 高耦合將會導致

原创 關於ORACLE dblink

跨數據庫查詢解決方案: 1:數據同步 2:dblink DATABASE LINK: 創建DATABASE LINK的時候需要被訪問數據庫的IP地址,ssid以及用戶名、密碼。 1、創建 CREATE [PUBLIC] DATABASE

原创 ElasticSearch的倒排索引

原文鏈接:https://www.elastic.co/guide/cn/elasticsearch/guide/cn/inverted-index.html ElasticSearch

原创 Java OOM

Java OOM除了程序計數器不會發生OOM外,哪些區域會發生OOM的情況呢?堆內存監控於診斷堆內存結構堆內存參數配置Java性能監控與問題定位工具 根據javadoc的描述,OOM是指JVM的內存不夠用了,同時垃圾收集器也無法提