原创 javaweb之request_response

1、可以通過request API 獲取客戶機的信息 e.g.:獲取當前訪問資源路徑 : request.getRequestURI().substring( request.getContextPath().length(

原创 Java設計模式--觀察者模式

觀察者模式【Observer Pattern 】 觀察者模式以秦國時期李斯監視韓非子爲例。 先看下類圖: 被觀察者: public interface IHanFeiZi { //韓非子也是人,也要吃早飯的 pu

原创 分治算法--大整數乘法

大整數乘法:就是乘法的兩個乘數比較大,最後結果超過了整型甚至長整型的最大範圍,此時如果需要得到精確結果,就不能常規的使用乘號直接計算了。沒錯,就需要採用分治的思想,將乘數“分割”,將大整數計算轉換爲小整數計算。 可以通過列表的形式來進行

原创 Scala基礎語法2

1、數組操作之Array、ArrayBuffer以及數組的遍歷 (1)Scala數組底層實際上就是Java數組 (2)Array:長度不可變 (3)ArrayBuffer:長度可變(添加(+=)、添加其他集合的全部元素(++=)、t

原创 Spark基本工作原理

1、分佈式 2、主要基於內存(少數情況基於磁盤) 3、迭代式計算 與MapReduce進行比較: 總結:每一批節點上的每一批數據,實際上就是一個RDD,一個RDD是分佈式的,所以數據都散落在一批節點上了,每個節點都存儲了RDD的部分

原创 Scala語法學習

1、Scala與Java的關係 2、Scala解釋器(REPL) 3、變量聲明:val(其值不可變)、var(其值可變) 4、函數調用與apply()函數 5、Scala的條件控制與循環 (1)if表達式–類型推斷(Any、Unit等)

原创 快速求冪算法

舉個栗子: 3 ^ 999 = 3 * 3 * 3 * … * 3 直接乘要做998次乘法。但事實上可以這樣做,先求出2^k次冪: 3 ^ 2 = 3 * 3 3 ^ 4 = (3 ^ 2) * (3 ^ 2) 3 ^ 8 = (3

原创 大數據學習-Spark前世今生

1、大數據體系結構概覽: (1)注意Spark可代替Hadoop的哪些部分 2、Spark整體架構 Spark Streaming:實時計算 GraphX:圖計算 MLlib:機器學習 3、Spark 與 MapReduce的

原创 求最大公約數--遞歸法實現

求最大公約數: public static int gcd(int m, int n) { if(m % n == 0) { return n; }

原创 動態規劃--走臺階問題

問題描述 一個人上臺階,臺階有n級,他可以一次上1級,可以一次上2級,也可以一次上3級,問上這個n級的臺階一共有多少種上法。 問題分析 首先我們先歸納分析一下一些比較簡單的情況: 如果臺階只有1級,那麼他一次就可以上去,很顯然,上法

原创 JAVA多線程編程總結

http://lavasoft.blog.51cto.com/62575/27069/

原创 二分查找算法(遞歸與非遞歸實現)

二分查找遞歸實現的原理:將數組分爲三部分,依次是中值(所謂的中值就是數組中間位置的那個值)前,中值,中值後;將要查找的值和數組的中值進行比較,若小於中值則在中值前面找,若大於中值則在中值後面找,等於中值時直接返回。然後依次是一個遞歸過程。

原创 JDBC事務控制管理

一、事務的概念 事務指邏輯上的一組操作,組成這組操作的各個單元,要不全部成功,要不全部不成功。 例如:A——B轉帳,對應於如下兩條sql語句 update from account set money=money-100 where

原创 線性查找算法

線性查找主要分以下三種情況: (1)線性查找 (2)二分查找(折半查找) (3)分塊查找 (1)線性查找 在待查數據中進行順序性輪詢查找,當存在待查的數據時返回當前數據索引位置,如果不存在則返回不存在表示-1 平均查找長度: 1/

原创 8大排序算法

http://www.cnblogs.com/qqzy168/archive/2013/08/03/3219201.html