原创 windows下java JNI編程技巧——JAVA調用c/c++

一、使用情況     當無法用Java語言編寫整個應用程序時,JNI允許您使用本機代碼。     在下列典型情況下,您可能決定使用本機代碼:     1、希望用更低級、更快的編程語言去實現對時間有嚴格要求的代碼。     2、希望

原创 Cookie/Session的機制與安全

Cookie和Session是爲了在無狀態的HTTP協議之上維護會話狀態,使得服務器可以知道當前是和哪個客戶在打交道。本文來詳細討論Cookie和Session的實現機制,以及其中涉及的安全問題。 因爲HTTP協議是無狀態的,即每次用

原创 malloc/free與new/delete的區別

相同點:都可用於申請動態內存和釋放內存 不同點: (1)操作對象有所不同。 malloc與free是C++/C 語言的標準庫函數,new/delete 是C++的運算符。對於非內部數據類的對象而言,光用maloc/free 無法滿足動態對

原创 棧 與 堆 的區別及其探討

堆與棧有什麼區別?   一、預備知識—程序的內存分配  一個由c/C++編譯的程序佔用的內存分爲以下幾個部分  1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧。 

原创 socket通信概要

“一切皆Socket!” 話雖些許誇張,但是事實也是,現在的網絡編程幾乎都是用的socket。 ——有感於實際編程和開源項目研究。 我們深諳信息交流的價值,那網絡中進程之間如何通信,如我們每天打開瀏覽器瀏覽網頁時,瀏覽器的進程怎麼

原创 JDK,JRE,JVM區別與聯繫

很多朋友可能跟我一樣,已經使用JAVA開發很久了,可是對JDK,JRE,JVM這三者的聯繫與區別,一直都是模模糊糊的。     今天特寫此文,來整理下三者的關係。       JDK : Java Development ToolKit(

原创 三大WEB服務器對比分析(apache ,lighttpd,nginx)

一.軟件介紹(apache  lighttpd  nginx) 1. lighttpd Lighttpd是一個具有非常低的內存開銷,cpu佔用率低,效能好,以及豐富的模塊等特點。lighttpd是衆多OpenSource輕量級的web

原创 想不通HTTPS如何校驗證書合法性來看

簡介 HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協議 它是一個安全通信通道,它基於HTTP開發,用於在客戶計算機和服務器之間交換信息。它使用安全套接字層(SSL)進行信息交換,簡單

原创 [C++面試題]之單鏈表

接下來我會介紹C++面試題中第二個重要的板塊——數據結構,主要包括字符串的使用、堆、棧、排序方法等,今天我們先來看單鏈表。   1、編程實現一個單鏈表的建立/測長/打印。        答案: 1 2

原创 RTSP概要

百科名片 RTSP(Real Time Streaming Protocol),實時流傳輸協議,是TCP/IP協議體系中的一個應用層協議,由哥

原创 Linux netstat命令詳解

簡介 Netstat 命令用於顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。 輸出信息含

原创 Android核心分析(26)-----Android GDI之SurfaceFlinger

Android GDI之SurfaceFlinger SurfaceFinger按英文翻譯過來就是Surface投遞者。SufaceFlinger的構成並不是太複雜,複雜的是他的客戶端建構。SufaceFlinger主要功能是: 1

原创 OpenMAX介紹(總括)

一、OpenMax簡介     OpenMAX是一個多媒體應用程序的標準。由NVIDIA公司和Khronos™在2006年推出。     它是無授權費的、跨平臺的C語言程序接口序列,這些接口對音頻、視頻、靜態圖片的常用操作進行封裝。   

原创 淺談Linux信號機制

信號在Linux系統中有廣泛的應用,但信號機制不像消息隊列、信號量那麼直接明瞭,而是存在着較多的特殊邏輯。本文主要是分析信號的用戶層接口在內核中是如何實現的,以及使用過程中需要注意的地方。如無特別說明,本文中內核代碼的版本是2.6.32

原创 C語言中最常用標準庫函數

標準頭文件包括: <asset.h>      <ctype.h>       <errno.h>       <float.h>   <limits.h>      <locale.h>       <math.h>        <