原创 Netty TCP協議簡單實現
Netty的強大之處在於它的高度抽象和封裝,對於使用者來說不必過多關心內部實現。當需要有新的需求時,只需簡單的添加或者修改相關的Handler類即可。 本章將使用Netty 實現TCP協議,以下爲具體實現。 1、服務端實現 Tc
原创 基於Java的FCKeditor
FCKeditor是一個專門使用在網頁上屬於開放源代碼的所見即所得文字編輯器。它志於輕量化,不需要太複雜的安裝步驟即可使用。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的編
原创 Application級賬號鎖定及賬號獨立會話操作
Application用於存放應用程序級的共享數據,比如用戶訪問量統計、防止同一賬號同一時間多客戶端登錄等等。一般而言,我們不建議在application中存放數據,尤其是大數據集合,在訪問量比較大的網站有時甚至會產生嚴重的性能瓶頸。
原创 關於ShowModalDialog中的Excel導出窗口不能自動彈出的問題
給一個ShowModalDialog添加導出的功能。測試的時候,導出按鈕點了N多次,仍不見半點反應,調試發現後臺代碼有執行,沒出出現任何問題。說明是頁面哪個地方的設置引起的。突然想起爲了讓頁面在列表頭部分點擊的時候有自動刷新但不彈出新頁面
原创 MySQL Group Replication 多機多實例安裝配置
1、配置hosts 172.16.90.39 node3-01 node3-01.novalocal 172.16.90.40 node3-02 node3-02.novalocal 172.16.90.41 node3-03 no
原创 基於spring的redisTemplate的緩存工具類
1、spring相關配置如下: <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxId
原创 Mysql Group Replication 主從(單主)中間件ProxySQL安裝配置
注意:第4、第5兩步的操作可以在mysql group replication主節點上先行執行。 1、下載安裝ProxySQL wget https://github.com/sysown/proxysql/releases/dow
原创 MySQL Group Replication 多機多實例安裝配置(Windows環境)
1、下載mysql5.7.17 下載地址 2、解壓zip到指定的目錄 本機安裝目錄爲:D:\tools\mysql-5.7.17 3、配置mysql環境變量 PATH=D:\tools\mysql-5.7.17\b
原创 oracle數據庫連接配置
本示例以win 7作爲數據庫測試服務器,主要介紹oracle數據庫三大配置文件sqlnet.ora 、tnsnames.ora 、listener.ora。 sqlnet.ora 用在oracle client端,用於配置連接服務端
原创 POI 百萬條記錄導出工具類
ExportUtil.java package com.rd.lh.util.excel; import java.beans.PropertyDescriptor; import java.io.FileOutputStream
原创 使用Spring框架實現RESTful
RESTful web服務最近有多流行已經無需我多評價。是的,你的確需要它,但如何選擇呢?我嘗試了不同的Java REST框架,基本上都是Jersey和Spring MVC。我認爲大多數情況下Spring是構建RESTful應用程序的首
原创 mysql 5.7安裝配置
一、安裝配置mysql5.7 1、下載安裝包 下載地址:http://dev.mysql.com/downloads/mysql/#downloads 2、檢查庫文件是否存在,如有刪除 $ rpm -qa | grep -i mys
原创 mongodb入門
關於mongodb的好處,優點之類的這裏就不說了,唯一要講的一點就是mongodb中有三元素:數據庫,集合,文檔,其中“集合”就是對應關係數據庫中的“表”,“文檔”對應“行”。 準備工作:下載安裝mongodb 1、啓動mong
原创 高併發下,如何防止緩存被“擊穿”
對於一些設置了過期時間的key,如果這些key可能會在某些時間點被超高併發地訪問,是一種非常“熱點”的數據。這個時候,需要考慮另外一個問題:緩存被“擊穿”的問題。 /** * 啓用新的get方法,防止緩存被“擊穿” * <p
原创 spring-data-redis RedisTemplateUtils工具類
package com.lh.core.core.util; import java.util.Arrays; import java.util.concurrent.TimeUnit; import org.springframe