原创 視頻壓縮相關概念介紹-IPB與GOP

摘要 視頻爲什麼要壓縮?有哪幾種壓縮方式?都有什麼特點? IPB是啥意思?哪些是基準幀,哪些是參考幀(差別幀)? I幀、B幀以及P幀的編碼序列和顯示序列一樣嗎? 視頻編碼的基本的單位是啥?爲什麼要按GOP進行編解碼? IDR幀和

原创 優雅地創建複雜對象 —— Builder 模式

摘要:      當我們需要創建一個複雜的對象時,使用靜態工廠或者構造器的方式就顯得特別笨拙和醜陋,因爲它們有個共同的侷限性:它們都不能很好地擴展到大量的可選參數,也就是說,靈活性很差。那麼,對於這樣的類,我們應該如何創建對象

原创 Java代理模式及其應用

摘要:   代理根據代理類的產生方式和時機分爲靜態代理和動態代理兩種。代理類不僅可以有效的將具體的實現與調用方進行解耦,通過面向接口進行編碼完全將具體的實現隱藏在內部,而且還可以在符合開閉原則的前提下,對目標類進行進一步的增強。典

原创 Spring 核心技術概覽(一)

摘要:   Spring是一個分層的Java SE/EE應用一站式的輕量級開源框架,其從持久層、業務層到表現層都擁有相應的支持,幾乎爲企業應用提供了所需的一切。本文首先概述了Spring容器的IoC控制反轉和DI依賴注入兩大概念,

原创 Java web Filter, Strurs2 Interceptor 和 SpringMVC Interceptor 三者之間的聯繫與區別

摘要:   無論是JavaWeb Filter、Strurs2 Interceptor 還是 SpringMVC Interceptor,它們都是AOP理念的實現,但具體的實現機制又互不相同:JavaWeb Filter的實現是基

原创 面試/筆試第一彈 —— 計算機網絡面試問題集錦

寫在前面:   找工作告一段落,期間經歷了很多事情,也思考了許多問題,最後也收穫了一些沉甸甸的東西 —— 成長和一些來自阿里、百度、京東(sp)、華爲等廠子的Offer。好在一切又回到正軌,接下來要好好總結一番纔不枉這段經歷,遂將

原创 面試/筆試第二彈 —— 操作系統面試問題集錦

寫在前面:   找工作告一段落,期間經歷了很多事情,也思考了許多問題,最後也收穫了一些沉甸甸的東西 —— 成長和一些來自阿里、百度、京東(sp)、華爲等廠的Offer。好在一切又回到正軌,接下來要好好總結一番纔不枉這段經歷,遂將此

原创 雙親委派模型與線程上下文類加載器

摘要: SPI機制是什麼,有哪些應用場景,又帶來了哪些問題? 雙親委派模型是Java推薦的類加載模型,但違背該模型的案例有哪些?爲什麼會違背,又是怎麼解決這種case的? JDBC驅動加載的案例有哪些,SPI機制爲它帶來了哪些方便?

原创 Java8函數式接口與Lambda表達式

摘要 何爲函數式接口? 什麼是lambda表達式,lambda表達式的本質; 函數式接口與lambda表達式的聯繫:lambda是實現函數式接口的一個快捷方式,可以作爲函數式接口的一個實例; 常用Java8內置的函數式接口 Func

原创 音視頻處理入門基礎知識

摘要 mp4/mkv這些格式有什麼區別,哪個畫質好? 視頻的碼率是怎麼算的,爲啥同樣是1080p視頻,有些體積大有些體積小? 視頻存儲的圖像信息是啥格式的,和顯示器一樣的紅綠藍嗎? 8bit/10bit到底指的什麼,爲啥說8bit顯

原创 CPU GPU 掃盲帖

摘要 CPU與GPU之間有什麼不同? 爲什麼需要GPU編程,相比CPU編程,有什麼優勢? CPU和GPU之所以大不相同,是由於其設計目標的不同,它們分別針對了兩種不同的應用場景。CPU需要很強的通用性來處理各種不同的數據類型,同

原创 使用ffmeg提取視頻關鍵幀

一. 什麼是關鍵幀 參考維基百科Key frame的解釋:   關鍵幀,是指動畫中一個繪圖,定義任何的起點和終點平滑過渡。一系列關鍵幀定義了觀看者將看到的運動,而關鍵幀在電影,視頻或動畫上的位置定義了運動的時間。 Computer H

原创 動畫中的關鍵幀動畫的原理

本文轉載自博主”早上吃什麼“《動畫中的關鍵幀動畫的原理》一文。 想一想如果製作動畫,如果沒有關鍵幀這種技術會是多麼恐怖,如果動畫幀率爲25,即每秒要播放25張畫面,假設現在要製作1秒的動畫,那麼就需要手動製作25張畫面,關鍵幀的出現使

原创 圖像和流媒體 -- 幀率、分辨率、碼流的概念和關係

本文轉載於博主”聚優致成“《圖像和流媒體 – 幀率、分辨率、碼流的概念和關係》一文。 幀率(Frame Rate) 一幀就是一副靜止的畫面,連續的幀就形成動畫,如電影等。我們通常所說的幀數就是在秒鐘時間裏傳輸的圖片的幀數,通常用f

原创 JVM 內存模型概述

摘要:   我們都知道,Java程序在執行前首先會被編譯成字節碼文件,然後再由Java虛擬機執行這些字節碼文件從而使得Java程序得以執行。事實上,在程序執行過程中,內存的使用和管理一直是值得關注的問題。Java虛擬機在執行Java程序的