原创 Java NIO示例

學習了Java的NIO框架,NIO是Java提供的非阻塞I/O,基於Channel和Buffer實現,下面給出Socket示例代碼,服務端和客戶端。一、服務端代碼import java.io.IOException; import jav

原创 淺談分佈式系統FailOver

目錄   概述 具體措施 存儲層 中間件層 服務器 編碼方面 概述 根據百度百科的詞條描述,失敗轉移(FailOver)是指一種備份操作模式,當系統的主要組件由於失效或預定關機時間的原因而無法工作時,這種模式的系統組件功能被轉嫁到二級系統

原创 Soot獲取Android應用Manifest信息

Soot簡介Soot是一個Java靜態分析框架,它提供了四種中間(representation)表現用於分析與轉換Java字節碼.Soot既可以作爲優化和檢查class文件的工具也可以作爲一個開發與優化Java字節碼的框架。使用Soot可

原创 Java8 Stream中 peek、map、foreach區別

一、前言 在前面一篇文章中以Demo的形式介紹了Stream的API使用,其中peek和map看起來很像,這裏再詳細介紹一下。 二、管道流 一個流式也就是一條管道,操作分爲三步 數據準備 一步和多步中間操作,所有的操作都是懶操作,不會對數

原创 Soot檢測Android應用中Email地址

Soot簡介Soot是一個Java靜態分析框架,它提供了四種中間(representation)表現用於分析與轉換Java字節碼.Soot既可以作爲優化和檢查class文件的工具也可以作爲一個開發與優化Java字節碼的框架。使用Soot可

原创 Zookeeper可視化客戶端ZooViewer詳細使用教程

前言目前Zookeeper可視化客戶端不多,使用過zkui之後,感覺不太好用,從github上找了一個使用Swing開發的zooviewer項目,感覺還不錯,源碼地址:https://github.com/HelloKittyNII/Zo

原创 Soot獲取Android應用控制流圖

Soot簡介Soot是一個Java靜態分析框架,它提供了四種中間(representation)表現用於分析與轉換Java字節碼.Soot既可以作爲優化和檢查class文件的工具也可以作爲一個開發與優化Java字節碼的框架。使用Soot可

原创 Android應用五種數據存儲方式

Android的五種數據存儲方式文件存儲SharedPreferencesSQLite數據庫存儲ContentProvider網絡存儲一、文件存儲默認存儲路徑:/data/data/<PackageName>/files文件操作模式:MO

原创 Soot檢測Android應用中URL地址

Soot簡介Soot是一個Java靜態分析框架,它提供了四種中間(representation)表現用於分析與轉換Java字節碼.Soot既可以作爲優化和檢查class文件的工具也可以作爲一個開發與優化Java字節碼的框架。使用Soot可

原创 Java8 stream編程示例

最近在使用Java8編程,流式編程效率非常高,代碼也比較簡潔針對stream/parallelStream的常用方法foreach、filter、anyMatch、allMatch、Map、flatMap、reduce、limit、ski

原创 Ubuntu18.04安裝RabbitMQ

1、安裝erlang由於rabbitMq需要erlang語言的支持,在安裝rabbitMq之前需要安裝erlangsudo apt-get install erlang-nox2、安裝Rabbitmq更新源sudo apt-get upd

原创 JavaFX TreeView註冊鼠標點擊事件

使用JavaFX的TreeView控件,需要註冊樹節點的鼠標點擊事件,下面是示例,鼠標點擊之後,可以獲取當前節點的值。這個是定義的TreeView: TreeView<String> nodeTreeView; nodeTreeVi

原创 Java測試RabbitMQ生產者和消費者

一、環境準備請看上一篇文章,Ubuntu18.04安裝RabbitMQ完成RabbitMQ服務端搭建,並創建admin用戶。gradle添加RabbitMQ客戶端依賴。compile group: 'com.rabbitmq', name

原创 reply-code=530, reply-text=NOT_ALLOWED - access to vhost '/' refused for user user_admin

Java使用amqp-client連接rabbitmq服務端,報出如下異常Exception in thread "main" java.io.IOException at com.rabbitmq.client.impl.AMQCha

原创 系統設計(一)優秀的代碼

前言 一個優秀的架構師必須是一個優秀的coder,代碼編寫分爲兩個層級,代碼整潔可讀、擴展性好、效率高。 一個應用系統新建之處,就必須有一個編碼規範,指導團隊相關同學日常開發,筆者認爲編碼規範可以包含如下幾部分,另外可以有bad case