原创 常見鏈表操作-單鏈表反轉(JAVA實現)

在技術面試中,單鏈表的操作經常會被問到,比如一些常見的問題: 單鏈表反轉 鏈表中環的檢測 兩個有序表的合併 刪除鏈表倒數第n個節點 求鏈表的中間節點 接下來的文章,我對這些操作的實現算法做了一些總結,具體實現的編程語言是Jav

原创 EOSIO開發(一)使用Docker構建本地環境

前言 一直想學習EOS開發,但是不知道怎麼入門。最近從GitHub上下載了源碼,發現官方已經提供了完整的EOSIO開發入門教程,既然如此趕緊開始行動。今天是系列文章的第一篇,介紹如何使用Docker搭建本地環境。 選擇構建方式 官

原创 常見鏈表操作-兩個有序表的合併(JAVA實現)

問題 將兩個有序單鏈表A和B,合併成C,如下圖。 解決思路 同時從兩個鏈表的頭節點開始遍歷,比較當前節點大小,將小的節點添加到C鏈表中,然後遍歷。 非遞歸寫法 /** * 鏈表ADT * * @author wangtao

原创 常見鏈表操作-刪除鏈表倒數第n個節點(JAVA實現)

問題 給出一個單向鏈表,刪除該鏈表倒數第n個節點,並返回頭節點。 例如: 給出鏈表 1->2->3->4->5,n=2 返回鏈表 1->2->3->5 解題思路 最容易想到的算法: 先遍歷一次鏈表,記下鏈表的長度,然後計算倒數第n個節

原创 常見鏈表操作-求鏈表的中間節點(JAVA實現)

問題 給出任意單向鏈表,找出並返回該鏈表的中間節點。 奇數長度的鏈表,例如:1->2->3->4->5 返回節點 3 偶長度的鏈表,例如:1->2->3->4->5->6 返回節點 4 解題思路 與鏈表中環的檢測一樣,這題同樣可以使用

原创 常見鏈表操作-鏈表中環的檢測(JAVA實現)

問題 如何檢測一個單鏈表中是否有環,例如下圖的例子。 解決思路1:快慢指針法 這是最常見的方法。思路就是有兩個指針P1和P2,同時從頭結點開始往下遍歷鏈表中的所有節點。 P1是慢指針,一次遍歷一個節點。 P2是快指針,一次遍歷兩個節

原创 常見鏈表操作-單鏈表反轉

在技術面試中,單鏈表的操作經常會被問到,比如一些常見的問題: 單鏈表反轉 鏈表中環的檢測 兩個有序倆表的合併 刪除鏈表倒數第n個節點 求鏈表的中間節點 接下來的文章,我對這些操作的實現算法做了一些總結,具體實現的編程語言是Java

原创 微服務架構核心(五)- 服務發現

每一個服務都存在服務的提供方與消費方,服務發現就是消費方發現並且調用服務方提供的服務。 在微服務架構下,存在衆多的消費方與服務方,而且服務運行在不同的進程之中,消費方如果想要調用某一個服務,必須通過遠程調用的方式,此時就會遇到下面幾個問題

原创 EOSIO開發(七)- 使用CLion查看EOS代碼

本文將會介紹如何使用CLion查看EOS源碼。 EOS的智能合約基於C++開發,官方在github上提供了很多合約樣例,地址: https://github.com/EOSIO/eos/tree/master/contracts 直接查

原创 本地緩存

經過前面兩篇文章的介紹,我們知道了緩存的重要性以及分佈式系統的基礎概念,接下來我們就要開始正式學習一些主流的緩存系統。 首先來簡單瞭解緩存系統的分類,緩存系統按照緩存數據的存儲方式可以分爲本地緩存和集中式緩存兩種。 本地緩存:緩存數據

原创 分佈式系統

這篇文章我們繼續聊聊《深入分佈式緩存:從原理到實踐》這本書。本書的核心是介紹在分佈式系統中如何使用緩存,在深入瞭解緩存的使用之前,我們先來了解緩存的使用方:分佈式系統。 遺憾的是,書裏雖然介紹了一些分佈式系統的概念、理論和實踐,卻沒有解釋

原创 集中式緩存

這篇文章我們繼續聊聊《深入分佈式緩存:從原理到實踐》中關於集中式緩存的部分。 集中式緩存的基本概念,我在前面的文章 本地緩存 中已經有過介紹,相對於本地緩存,集中式緩存主要有以下幾個優點: 保證緩存數據的一致性。集中式緩存的數據是集中管

原创 EOSIO開發(五)- 錢包之實戰篇

通過這篇文章,我們將學習如何通過cleos命令管理錢包。 環境準備 Docker環境: docker pull eosio/eos # 下載鏡像 docker run --name keosd -t eosio/eos /opt/eosi

原创 微服務架構核心(一)- 什麼是微服務

微服務是目前互聯網公司最常用的架構,與傳統單體架構相比,微服務架構更加適應互聯網快速、靈活的特點,接下來的系列文章我會逐一介紹微服務架構的核心知識點。 第一篇我們先來了解什麼是微服務。 微服務的特點 微服務最經典的定義是Martinfo

原创 EOSIO開發(八)- 智能合約基礎概念

什麼是智能合約 智能合約的概念早在上世紀90年代就已經被提出來,自從以太坊將其發揚光大以後,智能合約在各個區塊鏈項目,尤其是公鏈中得到了廣泛應用,EOS也不例外。 用一句話描述智能合約: 智能合約(Smart contract )是一種