Time of Update: 2017-01-19
上篇說完了如何接入微信公眾號,本文說一下微信公眾號的最準系統:普通訊息的接收和回複。說到普通訊息,那麼什麼是微信公眾號所定義的普通訊息呢,微信開發人員文檔中提到的接收的普通訊息包括如下幾類:1.簡訊2.圖片訊息3.語音訊息4.影像訊息5.小影像訊息6.地理位置訊息7.連結訊息(被動回複的訊息)被動回複的普通訊息包括:1.回複簡訊2.回複圖片訊息3.回複語音訊息4.回複影像訊息5.回複音樂訊息6.回複圖文訊息其實接收訊息和被動回複訊息這兩個動作是不分家的,這本來就是一個互動情境,一般情況就是公眾號
Time of Update: 2017-01-19
一、TCP/IP簡介TCP/IP協議族是互連網使用的協議,也可以用在獨立的專用網路中。TCP/IP協議族包括了IP協議、TCP協議和UDP協議。IP協議使用IP地址來分發報文,但它是儘力而為的服務,報文可能丟失、亂序或者重複發送。TCP和UDP協議在IP協議基礎上增加了連接埠號碼,從而在兩台主機的應用程式間建立起透明的串連。不同的是,TCP協議會對IP層的錯誤進行修複,它通過握手訊息在主機間建立串連,之後通過在訊息中加入序號來恢複訊息中的錯誤。而UDP只是簡單地擴充了IP協議,使它能夠在應用程式
Time of Update: 2017-01-19
觀察者模式:對象間的一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象(被觀察)。 以便一個對象的狀態發生變化時,所有依賴於它的對象都得到通知並發生相應的變化。 觀察者模式有很多實現方式:該模式必須包含觀察者和被觀察對象兩種角色。觀察者和被觀察者之間存在“觀察”的邏輯關係,當被觀察者發生改變的時候,觀察者就會觀察到這樣的變化,發出相應的改變。/** * 觀察者介面:觀察者,需要用到觀察者模式的類需實現此介面 */public interface Observer{ public
Time of Update: 2017-01-19
一、需求最近基於 Material Design 重構了自己的新聞 App,資料來源是個問題。有前人分析了知乎日報、鳳凰新聞等 API,根據相應的 URL 可以擷取新聞的 JSON 資料。為了鍛煉寫代碼能力,筆者打算爬蟲新聞頁面,自己擷取資料構建 API。二、效果圖下圖是原網站的頁面爬蟲擷取了資料,展示到 APP 手機端三、爬蟲思路關於App 的實現過程可以參看這幾篇文章,本文主要講解一下如何爬蟲資料。Android下錄製App操作產生Gif動態圖的全過程
Time of Update: 2017-01-19
JVM內部結構圖Java虛擬機器主要分為五個地區:方法區、堆、Java棧、PC寄存器、本地方法棧。下面來看一些關於JVM結構的重要問題。1.哪些地區是共用的?哪些是私人的?Java棧、本地方法棧、程式計數器是隨使用者線程的啟動和結束而建立和銷毀的,每個線程都有獨立的這些地區。而方法區、堆是被整個JVM進程中的所有線程共用的。2.方法區儲存什嗎?會被回收嗎?方法區不是只儲存的方法資訊和代碼,同時在一塊叫做運行時常量池的子領域還儲存了Class檔案中常量表中的各種符號引用,以及翻譯出來的直接引用。通
Time of Update: 2017-01-19
JAVA雖然是在C++基礎上發展而來,但卻對C++的許多缺陷有所改進,其中一個不得不提的就是字串,我們知道,隨著學習的深入,進入MFC時,當處理字串或字元時,常會需要通過_T()宏將字元或字串變成UNICODE型,否則,會在處理中出現BUG,而在JAVA中,字元char或儲存在Character類中的字元,不是一個位元組,而是2個位元組,採用UNICODE,這是為了支援全世界上的所有字元。
Time of Update: 2017-01-19
沒有藉助任何第三方庫,完全基於JAVA Socket實現一個最小化的HTTP檔案下載用戶端。完整的示範如何通過Socket實現下載檔案的HTTP請求(request header)發送如何從Socket中接受HTTP響應(Response header, Response
Time of Update: 2017-01-19
一個基於Java Socket協議之上檔案傳輸的完整樣本,基於TCP通訊完成。除了基於TCP的二進位檔案傳輸,還示範了JAVA Swing的一些編程技巧,Demo程式實現主要功能有以下幾點: 1.基於Java Socket的二進位檔案傳輸(包括圖片,二進位檔案,各種文檔work,PDF) 2.SwingWorker集合JProgressBar顯示即時傳輸/接受完成的百分比
Time of Update: 2017-01-19
本文執行個體講解了Java Socket編程實現簡單的問候服務的詳細代碼,供大家參考,具體內容如下伺服器端:實現一個最簡單的Hello服務,列印輸出用戶端IP地址到控制台,對任何串連的用戶端都會發送一串字元(Hello, Java
Time of Update: 2017-01-19
super在android中比較常見,沒有java基礎也並不理解,所以空出時間學習了一下。在Java類中使用super來引用基類的成分,比較簡單,樣本如下:class FatherClass{ public int value; public void f(){ value=100; System.out.println ("FatherClass.value:"+value); } } class ChildClass extends
Time of Update: 2017-01-19
String是不變類,用String修改字串會建立一個String對象,如果頻繁的修改,將會產生很多的String對象,開銷很大.因此java提供了一個StringBuffer類,這個類在修改字串方面的效率比String高了很多。在java中有3個類來負責字元的操作。 1.Character 是進行單個字元操作的, 2.String 對一串字元進行操作,不可變類。 3.StringBuffer 也是對一串字元進行操作,但是可變類。
Time of Update: 2017-01-19
檔案上傳在web應用中非常普遍,要在jsp環境中實現檔案上傳功能是非常容易的,因為網上有許多用java開發的檔案上傳組件,本文以commons-fileupload組件為例,為jsp應用添加檔案上傳功能。common-fileupload組件是apache的一個開源項目之一,可以從http://jakarta.apache.org/commons/fileupload/下載。用該組件可實現一次上傳一個或多個檔案,並可限制檔案大小。下載後解壓zip包,將commons-fileupload-1.0
Time of Update: 2017-01-19
廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:html代碼如下:<body><input id="fileid" type="file" accept="video/*;capture=camera"onchange="onfile(this)"><input id="btn" type="button" value="提交"><script type="text/javascript">var xhr;function
Time of Update: 2017-01-19
Java:對象建立和初始化過程1.Java中的資料類型 Java中有3個資料類型:基礎資料型別 (Elementary Data Type)(在Java中,boolean、byte、short、int、long、char、float、double這八種是基礎資料型別 (Elementary Data Type))、參考型別和null類型。其中,參考型別包括類類型(含數組)、介面類型。 下列語句聲明了一些變數:int k
Time of Update: 2017-01-19
在java多線程編程中經常volatile,有時候這個關鍵字和synchronized 或者lock經常有人混淆,具體解析如下:在多線程的環境中會存在成員變數可見度問題:
Time of Update: 2017-01-19
StringBuilder與StringBuffer是兩個常用的操作字串的類。大家都知道,StringBuilder是線程不安全的,而StringBuffer是安全執行緒的。前者是JDK1.5加入的,後者在JDK1.0就有了。下面分析一下它們的內部實現。一、繼承關係public final class StringBufferextends AbstractStringBuilderimplements java.io.Serializable, CharSequencepublic
Time of Update: 2017-01-19
配置間隔時間,定時列印日誌 接到個需求,通過log4j定時列印日誌,需求描述如下:需要能夠定時列印日誌,時間間隔可配。說到定時,首先想到了DailyRollingFileAppender類,各種定時,根據datePattern,這個可以參考類SimpleDateFormat類,常見的一些定時設定如下: '.'yyyy-MM: 每月 '.'yyyy-ww: 每周 '.'yyyy-MM-dd: 每天 '.'yyyy-MM-dd-a:
Time of Update: 2017-01-19
本文就來說一說微信開發第一步,公眾號接入以及access_token的管理。一、微信公眾號接入在微信公眾號開發手冊上,關於公眾號接入這一節內容還是寫的比較詳細的,文檔中說接入公眾號需要3個步驟,分別是: 1、填寫伺服器配置 2、驗證伺服器位址的有效性
Time of Update: 2017-01-19
整體效果: 發送端:網易郵箱;接收端:qq郵箱。1.web前端2.在網易郵箱“已發送”中可以看見通過java代碼發送的郵件3.同樣在qq郵箱中也可以看到這樣的效果實現過程:1.web前端(bootstrap布局)<form action="mailAction!sendMail" method="post" name="mailForm" id="mailFormId"> <ul class="list-group"> <li
Time of Update: 2017-01-19
代理模式是常用的java設計模式,它的特徵是代理類與委託類有同樣的介面,代理類主要負責為委託類預先處理訊息、過濾訊息、把訊息轉寄給委託類,以及事後處理訊息等。代理類與委託類之間通常會存在關聯關係,一個代理類的對象與一個委託類的對象關聯,代理類的對象本身並不真正實現服務,而是通過調用委託類的對象的相關方法,來提供特定的服務。JAVA各種動態代理實現的比較介面interface AddInterface{ int add(int a, int b);}interface SubInterface{