原创 @ControllerAdvice基礎介紹

 對於@ControllerAdvice,我們比較熟知的用法是結合@ExceptionHandler用於全局異常的處理,但其作用不僅限於此。ControllerAdvice拆分開來就是Controller Advice,關於Advice,

原创 隱藏IDEA的行首的黃色小燈泡

使用 IDEA 編輯時,光標所在行行首經常出現一個黃色小燈泡,其作用和快捷鍵 Alt + Enter 相同,因爲會影響鼠標點擊行首,所以想要把它隱藏。 隱藏黃色小燈泡沒有在 Settings 中公開, 需要在 editor.xml 中的<

原创 IntelliJ IDEA註釋模板設置

IDEA中類的模板: (IDEA中在創建類時會自動給添加註釋) 1. File-->settings-->Editor-->File and Code Templates-->Files 我們選擇Class文件(當然你要設置接口的還也可以

原创 虛擬機與主機通信三種方式總結

背景:ubuntu16.04安裝vmware14pro ,開了兩臺ubuntu12.04的虛擬機。第一臺基於NAT方式連接,第二臺基於Bridged方式連接。主機IP:192.168.100.163 問題:第一臺ping第二臺能ping通

原创 Gradle和GradleWrapper

Gradle:android用來構建項目的編程框架。這個玩意對於使用AS開發的,大家都清楚,用這個來構建項目變得無比輕鬆和高可定製性,比如引入第三方依賴,發佈到maven庫,構建多渠道版本等等都變得非常輕鬆,所以對於使用Gradle,自然

原创 均值遞推和方差遞推公式

在一般的數學統計過程中,爲了求得方差,需要預先知道所有的數據項,然後通過求均值,再通過遍歷所有數據項計算平方和的方式求得方差。 但是在大數據、流式處理的場景,是無法預先知道所有數據項的,經常需要在任意時候動態的知道當前所有存量數據的方差,

原创 Java使用JNI調用Native方法原理

前言 寫這個是出於好奇。 我們知道cpu只認得 “0101101” 類似這種符號, C、C++ 這些代碼最終都得通過編譯、彙編成二進制代碼,cpu才能識別。而Java比C、C++又多了一層虛擬機,過程也複雜許多。Java代碼經過編譯成c

原创 Java中內嵌groovy,JS腳本

最近設計一個數據統計系統,系統中上百種數據統計維度,而且這些數據統計的指標可能隨時會調整.如果基於java編碼的方式逐個實現數據統計的API設計,工作量大而且維護起來成本較高;最終確定爲將"數據統計"的計算部分單獨分離成腳本文件(java

原创 FLV(ACC+H264)文件格式分析

最近自己動手將H264視頻流和AAC音頻流合成flv文件,但是沒有采用開源的ffmpeg的api來處理音視頻流。方法就是模仿ffmpeg中libavformat/flvenc.c 文件寫代碼來完成音視頻的flv格式封裝。在這個封裝過程中,

原创 Mesh/MCU/SFU架構

問題:爲什麼要搞這麼多架構? webrtc雖然是一項主要使用p2p的實時通訊技術,本應該是無中心化節點的,但是在一些大型多人通訊場景,如果都使用端對端直連,端上會遇到很帶寬和性能的問題,所以就有了下圖的三種架構。 一、Mesh架構 即:

原创 SpringMVC是什麼

一個MVC框架 在web模型中,MVC是一種很流行的框架,通過把Model,View,Controller分離,把較爲複雜的web應用分成邏輯清晰的幾部分,是爲了簡化開發,減少出錯。還是爲了組內開發人員之間的配合。總之就是一種分層工作的辦

原创 Y2K問題和2038問題

  機器時鐘 在微機硬件中有一個實時系統時鐘,它依靠微機主板上的鈕釦電池作爲電源和動力,時刻保持運轉,這樣微機在關機時也能夠保持時間前進。這個實時系統時鐘的時間數值是保存到主板BIOS中的存儲器(CMOS)中的。當微機啓動時,微機操作系

原创 Rabbit和Es默認端口

RabbitMq默認端口 4369 -- erlang發現口 5672 --client端通信口 15672 -- 管理界面ui端口 25672 -- server間內部通信口 舉例說明 我們訪問RabbitMQ管理界面可以訪問如下:

原创 ACC_SUPER簡介

class文件中的access flag記錄了一個類的相關信息,比如public abstract final等等。其中有一個值ACC_SUPER。現理解如下: ACC_SUPER是用來表示如何調用父類的方法。在jdk1.1之前,jvm使

原创 golang的類型轉換(斷言等)

go類型轉換 go存在4種類型轉換分別爲:斷言、強制、顯式、隱式。 通常說的類型轉換是指斷言,強制在日常不會使用到、顯示是基本的類型轉換、隱式使用到但是不會注意到。斷言、強制、顯式三類在go語法描述中均有說明,隱式是在日常使用過程中總結出