原创 TPC-H工具使用:生成數據及存儲至數據庫中

前言 在一次作業中需要用tpch(什麼是tpch請自行google或百度)工具生成數據集做相應測試,故將整個配置過程和自己踩的坑做如下記錄,望有助其他人節約時間。 環境 操作系統:Linux(Ubuntu16.04) TPC-H工

原创 Leetcode刷題--Week 3

鏈表插入排序 題目 Sort a linked list using insertion sort. 解題思路 一個指針指從原始列表頭部開始逐步往後移指向插入元素; 一個指針從頭遍歷已排序鏈表,找到插入節點,將元素插入: 代碼

原创 Apache Kylin原理學習之Cube構建

Apache Kylin原理簡介 Apache Kylin是一個開源的、基於Hadoop生態系統的OLAP查詢引擎,能夠通過SQL接口對十億、甚至百億行的超大數據集實現秒級的多維分析查詢。 Kylin通過預計算實現超大數據集的秒級

原创 一次Redis內存飆升的排查

一、現象 在該項目中,多個微服務使用一臺Redis虛擬機,項目開發完成後,進入試運行階段,在項目平穩運行五天後,Redis使用的虛擬機內存在某一時刻突然飆升,很短的時間內內存耗盡,Redis虛擬機宕機,所有微服務連接Redis超時

原创 XXL-Job源碼分析(I)--調度中心啓動

前言 XXL-Job是一個輕量的分佈式任務調度平臺,任務的定時調度管理是基於開源定時任務調度框架Quarts來實現的,任務的調度執行採用註冊和RPC的方式實現,將任務的管理和執行進行了分離。我們先來了解一下調度中心的源碼,調度中心

原创 Leetcode刷題--Week 5

前言 本週刷題未鏈表排序相關知識點 題目 Given a singly linked list L: L 0→L 1→…→L n-1→L n, reorder it to: L 0→L n →L 1→L n-1→L 2→L n-2

原创 Java動態追蹤技術探究

來源:美團技術團隊 作者:高楊 引子在遙遠的希艾斯星球爪哇國塞沃城中,兩名年輕的程序員正在爲一件事情苦惱,程序出問題了,一時看不出問題出在哪裏,於是有了以下對話:“Debug一下吧。”“線上機器,沒開Debug端口。”“看日誌

原创 爲什麼ConcurrentHashMap不需要加鎖?

我們知道,ConcurrentHashmap(1.8)這個併發集合框架是線程安全的,當你看到源碼的get操作時,會發現get操作全程是沒有加任何鎖的,這也是這篇博文討論的問題——爲什麼它不需要加鎖呢? ConcurrentHash

原创 10個重要的Linux ps命令實戰

Linux作爲Unix的衍生操作系統,Linux內建有查看當前進程的工具ps。這個工具能在命令行中使用。 PS 命令是什麼 查看它的man手冊可以看到,ps命令能夠給出當前系統中進程的快照。它能捕獲系統在某一事件的進程狀態。如果

原创 Apache Kylin優化之—Cube的高級設置

本文從apachekylin公衆號系列文章整理。 隨着維度數目的增加,Cuboid 的數量會爆炸式地增長。爲了緩解 Cube 的構建壓力,Apache Kylin 引入了一系列的高級設置,幫助用戶篩選出真正需要的 Cuboid。這些

原创 Apache Kylin 深入Cube和查詢優化

前言 近幾年,Apache Kylin作爲一個高速的開源分佈式大數據查詢引擎正在迅速崛起。它充分發揮Hadoop、Spark、HBase等技術的優勢,通過對超大規模數據集進行預計算,實現秒級甚至亞秒級的查詢響應時間,同時提供標準SQL

原创 Spring Bean 初始化之InitializingBean, init-method 和 PostConstruct

概述 從接口的名字上不難發現,InitializingBean 的作用就是在 bean 初始化後執行定製化的操作。 Spring 容器中的 Bean 是有生命週期的,Spring 允許在 Bean 在初始化完成後以及 Bean 銷燬前

原创 Leetcode刷題--Week4

二叉樹前序遍歷 題目 Given a binary tree, return the preorder traversal of its nodes’ values. For example: Given binary tree{1,

原创 Leetcode---Week 3

鏈表插入排序 題目 Sort a linked list using insertion sort. 解題思路 一個指針指從原始列表頭部開始逐步往後移指向插入元素; 一個指針從頭遍歷已排序鏈表,找到插入節點,將元素插入: 代碼

原创 Java實現QPS、吞吐率限制

滾動閱讀全文 業務場景 在一個項目中需要頻繁調用一個第三API接口來實現業務功能,但是這個第三方接口有QPS和吞吐率的限制,如果超過限制將請求失敗;故我們需要在我們的業務功能中加上吞吐率(吞吐率 < QPS)的限制, 當達到限制時