原创 從51job提取職位數量

import urllib.request import re url = "https://search.51job.com/list/150200,000000,0000,00,9,99,java,2,1.html?lang

原创 Spring Cloud

Spring Boot 與 Spring Cloud 對應版本 https://spring.io/projects/spring-cloud#overview https://start.spring.io/actuator/i

原创 ZooKeeper使用

ZooKeeper 特性 順序一致性(Sequential Consistency):保證客戶端操作是按順序發生的。 原子性(Atomicity):更新成功或失敗,沒有部分結果。 單個系統映射:無論連接到哪個服務器,客戶端都將看

原创 互聯網面試題之集合類不安全的併發修改異常

ArrayList /** * 故障現象 * java.util.ConcurrentModificationException * * 導致原因 * 併發爭搶修改導致,一個線程正在寫人,另一個線程過來搶奪,導致數據

原创 ElasticSearch 查詢

查看節點信息 GET /_cat/nodes?v 查看所有索引信息 GET /_cat/indices?v 創建索引 PUT /customer?pretty 查看指定索引信息 GET /cu

原创 Hadoop 集羣環境搭建

編寫分發腳本xsync #!/bin/bash # 獲取輸入參數,如果沒有參數直接退出 pcount=$# if ((pcount==0)); then echo no args; exit; fi # 獲取文件名稱 p1=$1

原创 Nginx負載均衡

Nginx 簡介 Nginx (發音同engine x)是一款輕量級的Web服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD協議下發行,可以在UNIX、GNU/Linux、BSD、MacOS X 、

原创 互聯網面試題之CAS的ABA問題

ABA 問題是怎麼產生的 CAS 算法實現一個重要前提是需要取出內存中某時刻的數據並在當下時刻比較並替換,那麼在這個時間差裏會導致數據的變化。 比如說一個線程T1從內存位置V中取出A,這個時候另一個線程T2也從內存中取出A,並且線

原创 Hadoop 集羣環境搭建續

集羣環境規劃 centos102 centos103 centos104 NameNode ResourceManager SecondaryNameNode DataNode DataNode DataNode

原创 Hadoop 環境搭建

創建用戶 hadoop 並設置密碼 useradd hadoop passwd hadoop 把hadoop用戶添加到sudoers 裏 vi /etc/sudoers 在root ALL=(ALL) ALL 下

原创 Mac 安裝VirtualBox

VirtualBox 下載地址 https://www.virtualbox.org/wiki/Downloads 這裏我們選擇OS X hosts 下載安裝,目前安裝包大小爲132M。 雙擊VirtualBox-6.0.14-

原创 互聯網面試題之CAS你知道嗎

CAS CAS (全稱 Compare-And-Swap) 比較並交換,它是一條CPU併發原語。 它的功能是判斷內存某個位置的值是否爲預期值,如果是則更改爲新值,這個過程是原子的。 AtomicInteger ai = new A

原创 秒殺搶購實戰

秒殺常見方式 一元秒殺 低價限量秒殺 低價限時限量秒殺 秒殺業務分析 1.正常電子商務流程 查詢商品、創建訂單、扣減庫存、更新訂單、付款、賣家發貨 2.秒殺業務特性流程 低廉價格、大幅推廣、瞬時售空、一般是定時上架、時間短、瞬

原创 從虛擬機層面看Java 中的數組

通過前面章節Java虛擬機類的加載時機的學習,我們知道new 一個類的時候如果這個類還沒有初始化就會觸發這個類的初始化。那麼我們new 一個數組的時候會不會觸發類的初始化呢?通過運行下面這個示例,我們可以看到MyTest類的靜態代

原创 從虛擬機層面看Java 中的常量

編譯期常量 我們知道在Java的類中通過static final 修飾的變量在程序運行過程中是不能夠改變的,我們稱之爲常量。常量在編譯階段會存入調用類的常量池中,本質上並沒有直接引用到定義常量的類,從而也不會導致定義常量的類的初始