原创 Redis 避不開的五種數據結構 頂 原 薦

Redis 中有 5 種數據結構,分別是字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set),因爲使用 Redis 場景的開發中肯定是無法避開這些基礎結構的,所以熟練掌握它們也就成了一

原创 如何選擇 Web 前端模板引擎? 原 薦

Web 模板就在那裏 模板引擎負責組裝數據,以另外一種形式或外觀展現數據。 瀏覽器中的頁面是 Web 模板引擎最終的展現。 無論你是否直接使用模板引擎,Web 模板一直都在,不在前端就在後端,它的出現甚至可以追溯到超文本標記語言 HTML

原创 大型分佈式電商系統架構是如何從0開始演進的? 原 薦

本文是學習大型分佈式網站架構的技術總結。對架構一個高性能、高可用、可伸縮及可擴展的分佈式網站進行了概要性描述,並給出一個架構參考。文中一部分爲讀書筆記,一部分是個人經驗總結,對大型分佈式網站架構有較好的參考價值。 一、大型分佈式網站架構技

原创 安卓手機上 K 歌,聲音延遲怎麼解決? 頂 原 薦

這篇文章可以爲你提供一個解決錄音和播放同步問題的思路,而且解決了聲音從手機傳輸到耳機上有延時的問題。 初識音頻 在開始之前,我先簡單介紹一下音頻相關的基礎知識,方便下文理解。 我們知道聲明是一種波,經過離散處理後,在程序中我們可以理解爲一個

原创 Go 開發者平均年薪 46 萬?爬數據展示國內 Go 的市場行情到底如何 頂 原 薦

隨着雲原生時代的到來,擁有高併發性、語法易學等特點的 Golang 地位逐漸凸顯,在雲原生編程中佔據了主導地位。在近期出爐的 TIOBE 10 月編程語言排行榜中,Golang 從前一個月的 16 位一躍來到了 12 位,並且被認爲是即將衝

原创 Java 讀寫鎖實現原理 頂 原 薦

最近做的一個小項目中有這樣的需求:整個項目有一份config.json保存着項目的一些配置,是存儲在本地文件的一個資源,並且應用中存在讀寫(讀>>寫)更新問題。既然讀寫併發操作,那麼就涉及到操作互斥,這裏自然想到了讀寫鎖,本文對讀寫鎖方面的

原创 Spring Boot 如何極簡入門? 轉 薦

Spring Boot已成爲當今最流行的微服務開發框架,本文是如何使用Spring Boot快速開始Web微服務開發的指南,我們將創建一個可運行的包含內嵌Web容器(默認使用的是Tomcat)的可運行jar包。 傳統的Spring應用程序需

原创 非對稱加密與安全證書看這一篇就懂了 頂 原 薦

前幾日做支付對接時,被對方文檔中的加密方式搞暈乎了一會。意識到證書加密方面的理解不夠深入,事後查閱參考資料補習一波。本文是根據期間的學習,以及長期以來的實踐做出的總結。 加密方式 密碼學是涉及數學、電子信息、計算機等多學科的一門重要學科,是

原创 HashMap 怎麼 hash?又如何 map? 頂 原 薦

HashMap 是 Java 中 Map 的一個實現類,它是一個雙列結構(數據+鏈表),這樣的結構使得它的查詢和插入效率都很高。HashMap 允許 null 鍵和值,它的鍵唯一,元素的存儲無序,並且它是線程不安全的。 由於 HashMa

原创 五月新增開源項目:“復刻” Win 95 到 iOS;Grails 框架作者攜最新力作登場 原 薦

每月新增開源項目。顧名思義,每月更新一期。我們會從社區上個月新收錄的開源項目中,挑選出有價值的、有用的、優秀的、或者好玩的開源項目來和大家分享。數量不多,但我們力求推薦的都是精品。目前這些開源項目主要來源於編輯們的蒐集和用戶的投遞,所以如

原创 開源中國博客徵文啦,是時候展現真正的技術了 原 薦

開源中國官方博客徵稿了。歡迎投稿,文章一旦被官方賬號收錄,我們會在網站首頁等位置進行推薦。 投稿內容要求 互聯網技術相關,包括但不限於開發語言、網絡、數據庫、架構、運維、前端、DevOps(DevXXX)、AI、區塊鏈、存儲、移動、安全

原创 你的 Ubuntu 爲何如此炫酷? 頂 原 薦

很多人覺得 Windows 是最好的操作系統,它的用戶圖形化交互界面、它的各種功能應用,還有它的易用性等方面完全就碾壓一切,Linux 黨對此表示不屑;又有很多人把 elementary OS 定義爲最美的 Linux 發行版,Ubuntu

原创 騰訊 Tars 開源 Go 版本 Tars-Go,併發性能比 gRPC 高 5 倍 原 薦

近日,騰訊宣佈正式開源 Tars 的 Golang 版本 Tars-Go,其併發性能比 gRPC 的高  5 倍。 Tars 是騰訊開源的一款微服務框架,它於去年 4 月份開源,並於今年 6 月捐贈給了 Linux 基金會。Tars 爲

原创 Java vs C++:子類覆蓋父類函數時縮小可訪問性的不同設計 頂 原 薦

Java 和 C++ 都是面向對象的語言,允許對象之間的繼承。兩個語言的繼承都設置有允許子類覆蓋父類的“虛函數”,加引號是因爲 Java 中沒有虛函數這一術語,但是我們的確可以把 Java 的所有函數等同於虛函數,因爲 Java 類的所有非

原创 八月新增開源項目:假裝自己是圖形界面的 Git 命令行工具 原 薦

每月新增開源項目。顧名思義,每月更新一期。我們會從社區上個月新收錄的開源項目中,挑選出有價值的、有用的、優秀的、或者好玩的開源項目來和大家分享。數量不多,但我們力求推薦的都是精品。目前這些開源項目主要來源於編輯們的蒐集和用戶的投遞,所以