Time of Update: 2017-01-18
Session是Apache的核心,每當一個用戶端串連到達時,就會有一個新的Session被建立,直到該串連關閉。Session被用來儲存串連,以及各種資訊。Session有如下幾種狀態:Connected : the session has been created and is availableIdle : the session hasn't processed any request for at least a period of time (this period is
Time of Update: 2017-01-18
在本章,我們會讓你對什麼是MINA,什麼是非阻塞IO,為什麼我們在非阻塞IO上開發了這套架構有一個瞭解.我們也會給你展示一個非常簡單的例子去讓MINA跑起來.1.非阻塞IO非阻塞IO的API在JAVA 1.4版本出現,並且已經被用於數以萬計的應用當中.NIO API覆蓋了非阻塞的各種操作.在java.nio.*的包中包含了下面一些重要的結構:Buffers - Data ContainersChartsets - Containers translators for bytes and
Time of Update: 2017-01-18
Apache Shiro 使用手冊(四)Realm 實現在認證、授權內部實現機制中都有提到,最終處理都將交給Real進行處理。因為在Shiro中,最終是通過Realm來擷取應用程式中的使用者、角色及許可權資訊的。通常情況下,在Realm中會直接從我們的資料來源中擷取Shiro需要的驗證資訊。可以說,Realm是專用於安全架構的DAO. 一、認證實現 正如前文所提到的,Shiro的認證過程最終會交由Realm執行,這時會調用Realm的getAuthenticationInfo(token)方法。
Time of Update: 2017-01-18
授權即存取控制,它將判斷使用者在應用程式中對資源是否擁有相應的存取權限。 如,判斷一個使用者有查看頁面的許可權,編輯資料的許可權,擁有某一按鈕的許可權,以及是否擁有列印的許可權等等。 一、授權的三要素 授權有著三個核心元素:許可權、角色和使用者。 許可權 許可權是Apache Shiro安全機制最核心的元素。它在應用程式中明確聲明了被允許的行為和表現。一個格式良好好的許可權聲明可以清晰表達出使用者對該資源擁有的許可權。 大多數的資源會支援典型的CRUD操作(create,read,update,
Time of Update: 2017-01-18
Apache Shiro 使用手冊(二)Shiro 認證認證就是驗證使用者身份的過程。在認證過程中,使用者需要提交實體資訊(Principals)和憑據資訊(Credentials)以檢驗使用者是否合法。最常見的“實體/憑證”組合便是“使用者名稱/密碼”組合。 一、Shiro認證過程 1、收集實體/憑據資訊 //Example using most common scenario of username/password pair: UsernamePasswordToken token =
Time of Update: 2017-01-19
restfule 介面適用的平台:跨平台所依賴:curl擴充git:https://git.oschina.net/anziguoer/restAPIApiServer.php<?php/** * @Author: yangyulong * @Email : anziguoer@sina.com * @Date: 2015-04-30 05:38:34 * @Last Modified by: yangyulong * @Last Modified time: 2015-04-30 1
Time of Update: 2017-01-19
TableLayout是一個以行、列顯示視圖View的視圖組1、開始一個新的工程,名字叫做HelloTableLayout2、開啟res/layout/main.xml檔案並且插入如下內容<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2017-01-19
GridView按照行列的方式來顯示內容,一般適合顯示表徵圖、圖片等內容,主要用於設定Adapter在這裡主要是基礎BaseAdapter類,重寫其中的方法,主要是重寫getView方法設定圖片的顯示格式執行個體代碼如下GridViewTest.java/** @author hualang*/package org.hualang.grid;import android.app.Activity;import android.content.Context;import android.os.
Time of Update: 2017-01-19
Gallery能夠水平顯示其內容,一般用來瀏覽圖片,被選中的選項位於中間,並且可以相應事件顯示資訊。下面結合ImageSwitcher組件來實現一個通過縮圖來瀏覽圖片的程式,具體步驟如下第一步:建立一個Andorid工程”GalleryTest”,該工程的入口是Activity類GalleryTest繼承Activity並實現OnItemSelectedListener和ViewFactory介面,來實現圖片和視圖的建立package org.hualang.Gallery;import
Time of Update: 2017-01-19
Tab選項卡類似與電話本的介面,通過多個標籤切換不同的內容,要實現這個效果,首先要知道TabHost,它是一個用來存放多個Tab標籤的容器,每一個Tab都可以對應自己的布局,比如,電話本中的Tab布局就是一個線性布局要使用TabHost,首先要通過getTabHost方法擷取TabHost的對象,然後通過addTab方法來向TabHost中添加Tab,當然每個Tab在切換時都會產生一個事件,要捕捉這個事件,需要設定TabActivity的事件監聽setOnTabChangedListener下面
Time of Update: 2017-01-19
AutoCompleteTextView的功能類似於百度或者Google在搜尋欄輸入資訊的時候,彈出的與輸入資訊接近的提示資訊。當然這裡要要用到一些適配器在Android中提供了兩智能輸入框,它們是MultiAutoCompleteTextView、AutoCompleteTextView。它們的功能大致一樣,它和AutoCompleteTextView的區別就是MultiAutoCompleteTextView可以在輸入框中一直增加新的選取值。編寫方式也有所不同,在進行setAdapter之後
Time of Update: 2017-01-19
Toast用於向使用者顯示一些協助/提示。下面我做了5中效果,來說明Toast的強大,定義一個屬於你自己的Toast。注意:LENGTH_LONG—長時間顯示視圖或文本提示LENGTH_SHORT—短時間顯示視圖或文本提示setGravity(int gravity,int xOffset,int yOffset)—設定提示應該在螢幕上的顯示的位置setDuration(int
Time of Update: 2017-01-19
Button,就是按鈕,是android中應用最多的組件之一,Button有兩種用法,一種是XML中配置,另一種是在程式中直接使用在XML布局檔案裡,會遇到如下一些單位px:是螢幕的像素點in:英寸mm:毫米pt:磅,1/72
Time of Update: 2017-01-19
除了Android系統內建的Button按鈕以外,還提供了帶表徵圖的按鈕ImageButton要製作帶表徵圖的按鈕,首先要在布局檔案中定義ImageButton,然後通過setImageDrawable方法來設定要顯示的表徵圖。注意:我們可以在布局檔案中就直接設定按鈕的表徵圖,如android:src=”@drawable/icon1″我們也可以在程式中設定自訂表徵圖imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.ic
Time of Update: 2017-01-19
日期和時間是任何手機平台都有的功能,Android也如此。DatePicker:用來實現日期(年月日)TimePicker:用來實現時間(時分秒)Calendar:日曆是設定年度日期對象和一個整數欄位之間轉換的抽象基類,如,月,日,小時等。例如final Calendar
Time of Update: 2017-01-18
一、進程的間通訊的原理進程間交換資料必須通過核心,在核心中開闢一塊緩衝區,進程1把資料空間拷貝到核心緩衝區,進程2再從核心緩衝區把資料讀走。這樣就實現了處理序間通訊。二、進程通訊的進位--管道(pipe)調用 pipe(int
Time of Update: 2017-01-18
一、什麼是訊號量就是一種用來描述某種資源數量個數的計數器,通過控制其他通訊資源來實現進程通訊。它在此過程中負責資料的互斥、同步等。互斥,就是在同一時間段內,A、B兩個進程只有一個進程在運行。同步。就是A 進程完成之後,B進程接著完成,有一定的執行順序。二、工作原理兩種操作模式,P操作和V操作。P操作(就是申請資源,訊號量進行減一操作)V操作(釋放資源,訊號量進行加一操作)三、 ipcs -s 查看semidipcrm -s id 刪除id四、主要函數shmget 建立訊號量shmctl
Time of Update: 2017-01-18
一、共用記憶體共用記憶體是最高效的通訊方式,因為不需要一個進程先拷貝到核心,另一個進程在存核心中讀取。二、 ipcs -m 查看共用記憶體ipcrm -m 刪除共用記憶體三、主要函數shmget 建立shmctl 刪除shmat 掛接shmdt 取消掛接********* man 函數名 查看*****四、代碼實現comm.h1 #pragma once 2 #include<stdio.h> 3 #include<stdlib.h> 4
Time of Update: 2017-01-18
一、 mutex互斥量同步:就是對資源的訪問有序。互斥:就是任一時刻來說只有一個在執行;但是對於多線程的程式來說,存取違規的問題是很普遍的,解決的辦法是引入互斥鎖(Mutex,MutualExclusive
Time of Update: 2017-01-18
一、條件變數線上程同步過程中還有如下的情況:線程A需要等某個條件成立之後才能繼續往下執行,如果條件不成立,線程A就阻塞,而線程B在執行過程中使這個條件成立了,就喚醒線程A繼續執行。在Pthread庫中用條件變數阻塞等待一個條件,或者喚醒等待這個條件的線程。條件變數用pthread_cond_t類型的變數來表示。用pthread_cond_init 初始化條件變數、如果條件變數是靜態分配的,也可以用宏定義