原创 Linux的centos7.2部署rocketMq3.5.8 原 薦

背景 最近公司的終端機需要接通推送,然後查看對比了一下,覺得rocketMq更合適一點,所以選擇了rocketMq進行測試。 軟件清單 a、git(yum intsall git);b、jdk1.8; c、maven; d、rocketmq

原创 android 實現 JNI NDK 入門例子教程+源碼 原

一、背景 寫一個NDK入門教程,方便以後自己忘記了可以再來 二、開發工具以及開發環境 1、android studio 2、JDK 8 3、LLDB 4、NDK-Build 支持技術分享,轉載或複製,請指出文章來源 此博客作者爲Jack__

原创 java執行jar出現編碼問題的解決方案,Could not decode a text frame as UTF-8 頂 原

這陣子實現了一個C/S的可執行通訊項目的jar,然後使用webSocket通訊的時候,發現出現了編碼問題, 報錯如: Could not decode a text frame as UTF-8 後面查資料發現,原來直接運行jar,這個問題

原创 DFA算法實現過濾多家公司自定義敏感字 原 薦

背景 因爲最近有通訊有個需求,說需要讓多家客戶公司可以自定義敏感詞過濾掉他們自定義的規則,選擇了DFA算法來做,不過和以前傳統了DFA寫法不太一樣了 模式圖 直接上代碼 public class KeywordFilter { // pr

原创 微信小程序配置服務器信息 原

##微信小程序服務器配置信息## ###背景### 這幾天在寫微信小程序的通訊項目,裏面的文檔讓我有時候蒙逼。。。協議個配置圖片,避免以後忘了 直接貼圖解釋 ###解釋### 上面這四個都是要填有證書的域名的,不然你發佈不了 無論你so

原创 不使用第三方框架編寫的多線程斷線續傳功能 原 薦

一、背景 最近需要個斷線續傳功能,但是覺得一些框架不太適合,所以基於原理編寫了一個多線程斷線續傳功能 支持技術分享,但是複製和轉發我的博客時候請標明出處,謝謝 https://my.oschina.net/grkj/blog/2907188

原创 含有JNI的SDK通過proguard混淆加密 原 薦

一、背景 寫完SDK,還有JNI的加密,還要加密第三方的JNI,頭疼 二、科普知識點(關於混淆含有JNI代碼的注意事項) 1、絕對不能混淆含有JNI的代碼,例如 native 修飾的方法 2、看情況,如果在做到1的情況下,還出現找不到類(C

原创 Linux系統下面實現nginx配置 原

##背景## 把項目發佈到Linux上,還要配置nginx以及各種軟件,各種毛病真是頭疼啊。。。 ##配置的軟件清單## nginx-1.12.1(Linux真好,寫多幾遍,我連版本都記住了。。。。) ##開始配置(1-3都是安裝下載的

原创 Nginx代理webSocket經常中斷的解決方案, 如何保持長連接 原 薦

背景 這天氣夠熱的,要處理的事情也夠多的。。。。 想看解決的,直接 ctrl+f搜索關鍵字‘配置點’## 開始前交代(想看原因的看這個,個人觀點,不代表正確)## 解說:今天用nginx反代通訊項目,發現平均1分鐘左右,就會出現webSo

原创 Centos7.2上部署rabbitMq 原

一、背景 忙,硬件要找個通訊框架,看見rabbitMq這個消息隊列不錯,終於寫完所有東西之後,找個時間來記錄一下rabbitMq 二、安裝erlang(因爲rabbitMq需要這個環境) 1、 服務器如果沒有erlang環境,需要先安裝

原创 反射遍歷所有屬性,包括父類 原

###今天做了項目的時候,反射獲取對象信息然後保存進入redis裏面的時候,出現了問題, ###因爲 Field[] fields = classType.getDeclaredFields(); ###只獲取當前類所有的屬性 ###如果要

原创 能否通過反射修改被 final 修飾的成員變量? 原

一、背景 日常磨刀 二、閱前須知知識點: 當final修飾的成員變量在定義的時候初始化值,反射就不能動態修改它的值了。 當final修飾的成員變量在定義的時候沒有初始化值,就還能通過反射來動態修改它的值。 反射機制中的 setAccess

原创 android打包SDK具體操作(包含第三方的jar一起打包) 轉

一、背景 因爲最近編寫的android項目,需要編寫對應的SDK給別人使用,還好以前我都是拆成module寫的,所以還不太費工夫,不過因爲一些module裏面包含第三方的jar,所以打包有點麻煩 二、背景 我是看到這位的寫法然後實現成功的

原创 android 的 CountDownTimer 無法關閉的解決方案 原

一、背景 做個可以自定義播放時間的終端機廣告功能,然後封裝了一個模塊,通過動態綁定去創建對象,在跳離activity的時候cancel這些對象,後面發現竟然有些CountDownTimer 對象 沒有被關閉 二、關閉無法關閉 CountDo

原创 微信小程序下nginx代理wss,實現兼容原本服務協議ws,Java版本 原 薦

開始前說明 微信小程序如果使用webSocket協議的話,那麼按照官網上的要求是必須使用了wss協議,使用了一個框架,但不支持wss,所以後面用nginx代理解決了這個問題,接下來上代碼#### 軟件列表 我使用的是 nginx-1.12