原创 頁面中以彈出框方式顯示從服務器獲取的參數

在WEB開發中很多時候希望能夠在頁面上獲取服務器傳來的請求參數,並直接在頁面加載完成後以彈出框的方式顯示。下面就是這種情況的實現方法。 1、在頁面中獲取請求參數 <%  String str = (String)request.getAt

原创 MapReduce:詳解Shuffle過程

  Shuffle過程是MapReduce的核心,也被稱爲奇蹟發生的地方。要想理解MapReduce, Shuffle是必須要了解的。我看過很多相關的資料,但每次看完都雲裏霧裏的繞着,很難理清大致的邏輯,

原创 每日學習20170701--guava併發編制之Monitor使用

序 Monitor類是作爲ReentrantLock的一個替代,代碼中使用 Monitor比使用ReentrantLock更不易出錯,可讀性也更強,並且也沒有顯著的性能損失,使用Monitor甚至有潛在的性能得到優化。下面我們整體上對Mo

原创 Mysql下優化SQL的一般步驟

通過show status和應用特點了解各種SQL的執行頻率 通過SHOW STATUS可以提供服務器狀態信息,也可以使用mysqladmin extended-status命令獲得。SHOW STATUS可以根據需要顯示sessio

原创 SSH 完美實現分頁顯示

1、首先實現一個分頁顯示的基類 import java.sql.SQLException; import java.util.List; import org.hibernate.HibernateException; import or

原创 dsoframer.ocx控件編輯後保存在服務器端的簡單方法

        在使用dsoframer.ocx控件的時候經常遇到需要將用戶編輯的內容上傳到服務器上。控件本身提供的方法是在JS中調用httpPost方法跳轉到另一個資源中再進行處理。這種方法使用起來很不方便,下面介紹一種通過struts

原创 每日學習20170405--使用slick對DB同步訪問

首先感受一下slick ORM的語法 映射 private class ArticleTable(tag:Tag) extends Table[Article](tag, "article"){ def id = column[L

原创 每日學習20170224-分庫分表全局ID生成

由於數據量以及IO效率的因素,很多項目對數據支持的數據庫會採取分庫分表的方式。使用了分庫分表之後需要解決的一個問題就是主鍵的生成。多個表之間的主鍵就不能用數據庫本身的自增主鍵來支持,因爲不同表之間生成的主鍵會重複。所以需要其他的方式獲取主

原创 初探函數式編程的優點

初探函數式編程的優點 函數式編程是一種編程的模式,在這種編程模式中最常用的函數和表達式。它強調在編程的時候用函數的方式思考問題,函數也與其他數據類型一樣,處於平等地位。可以將函數作爲參數傳入另一個函數,也可以作爲別的函數的返回值。函數式編

原创 每日學習20170221-分佈式事務

XA規範 系統有一個事務管理器和資源管理器,每個資源管理器也要有預提交和提交兩個階段。例如DB需要有事務機制,消息隊列需要有消息的預發送、發送、回滾的處理能力。 兩段式過程 當應用向事務管理器預提交時,事務管理器向各個資源管理器預提交。

原创 MapReduce:Job性能調優總結

是時候把去年早期MapReduce調優工作的結果放出來了,丟在Google Doc裏太長時間,都落了一身的灰 Benchmark: 對1G數據做wordcount 部分內容: ****************************

原创 每日學習20170302--volatile關鍵字

Volatile關鍵字 1.併發問題 當多個線程訪問共享內存的時候,會出現併發問題。代碼如下: 執行多次發現結果不同,並且不是預期的100,而是比小於100。   2.增加volatile關鍵字 有一個誤區認爲加上volatile之後

原创 java OOM問題排查

在做服務器端開發的時候,經常會遇到服務由於內存溢出掛掉的情況,這種情況的發生一般來說是很難預期的,也比較難以重現,對於這種問題,一般可以通過記錄內存溢出時候的堆信息來排查。 1、首先可以查看服務器運行日誌以及項目記錄的日誌,捕捉到內存溢

原创 每日學習20170711--JAVA死鎖排查利器

什麼是死鎖 死鎖:兩個或多個動作一直在等待其他動作的完成而使得所有動作都始終處於阻塞的狀態。 開發階段檢測死鎖很困難;測試階段也很困難-死鎖通常發生在負載嚴重的情況下。解除死鎖往往需要重啓程序。 儘管有些靜態分析庫可以幫助我們發現可能