原创 一個例子讓你明白Scala中的call by name和call by value

  先看一個例子 def get(x:Int):Int={ println(s"$x") x } def getByValue(y:Int):Int={ x+x } def getByName(y: =>Int):Int={ x+

原创 Java設計模式(七)之迭代器模式(Iterator)

目錄 自定義ArrayList 自定義LinkedList 自定義Collection 自定義Iterator和Iteratable         Iterator模式在Java的集合框架中有使用。本文儘量使用源碼解釋Iterator模

原创 Spark提交任務到yarn上報錯:is running beyond virtual memory limits

  spark版本:spark-2.4.5-bin-hadoop2.7.tgz hadoop版本:hadoop-2.7.3.tar.gz   使用spark-submit將spark自帶的一個example提交到yarn上執行,命令如下:

原创 大數據生態HA(全)

目錄 Hadoop HA NameNode Federation HBase HA Storm HA Flink HA  先安裝好ZooKeeper。 Hadoop HA 1、集羣規劃 host HDFS Yarn   ZK HA big

原创 Java設計模式(十四)之狀態模式(State)

  本文以十字路口紅綠燈爲例介紹。紅綠燈有3個顏色,我們使用如下Color枚舉類來表示: /** * Created by leboop on 2020/5/26. */ public enum Color { RED, G

原创 Java設計模式(三)之策略模式(Strategy)

          假設現在有一個實體類Person,代碼如下: /** * Created by leboop on 2018/11/18. */ public class Person { private String

原创 Java設計模式(八)之觀察者模式(Observer)

  本文以JDK源碼介紹。   觀察者Observer public interface Observer { void update(Observable o, Object arg); }   被觀察者Observable

原创 Java設計模式(十)之代理模式(Proxy)

目錄 靜態代理 動態代理 cglib代理 靜態代理 /** * Created by leboop on 2020/5/25. */ public interface IStar { void sing(String son

原创 Java設計模式(九)之責任鏈模式(Chain)

目錄 Request和Response Filter FilterChain Main         在tomcat的catalina.jar和servlet-api.jar源碼中使用了責任鏈模式,本文以該源碼的簡化版爲例介紹。模擬客戶

原创 Java設計模式(十二)之適配器模式(Adapter)

  本文以手機充電爲例介紹。適配器模式中涉及到如下三個角色: (1)被適配者(Adaptee)         希望被改變的原有接口,通常無法修改源碼;比如交流電,通常我們無法在電路上修改交流電的電壓輸出,除非你把房子拆了; (2)目標接

原创 Java設計模式(十一)之裝飾模式(Decorator)

目錄 被裝飾者 裝飾器 裝飾模式和繼承          本文以JDK中IO流源碼爲基礎介紹。 被裝飾者 /** * Created by leboop on 2020/5/25. */ public abstract class

原创 Java設計模式(七)之Iterator模式

目錄 自定義ArrayList 自定義LinkedList 自定義Collection 自定義Iterator和Iteratable         Iterator模式在Java的集合框架中有使用。本文儘量使用源碼解釋Iterator模

原创 Java設計模式(五)之Builder模式

目錄 重疊構造器 JavaBeans Builder模式         建設現在有一個實際問題:使用一個類表示包裝食品外面顯示的各種營養標籤。這些標籤中有幾個屬性是必須:每份的含量和每份的卡路里。還有超過20個可選的屬性:總脂肪量、鈉含

原创 Java設計模式(四)之原型模式

目錄 對象拷貝 淺拷貝 深拷貝 原型模式 對象拷貝         Person類定義如下:  /** * Created by leboop on 2020/5/23. */ public class Person { p

原创 Java設計模式(二)從簡單工廠模式到抽象工廠模式

目錄 簡單工廠 靜態工廠 抽象工廠 簡單工廠 先創建兩個類Car和Bike,看成是工廠要生成的兩類產品,代碼如下: /** * Created by leboop on 2020/5/23. */ public interface