原创 java設計模式(二) 創建型模式 工廠模式 (簡單工廠,工廠方法,抽象工廠)

1.簡單工廠    定義:簡單工廠模式又 叫靜態工廠方法模式(Static FactoryMethod Pattern),是通過專門定義一個類來負責創建其他類的實例,被創建的實例通常都具有共同的父類。   2.工廠方法    定義:定義一

原创 java設計模式(一)創建型模式之 單例模式(餓漢式,懶漢式,線程安全,雙重檢查)

1.介紹     單例模式是一種常用的軟件設計模式,其定義是單例對象的類只能允許一個實例存在。  2.實現思路與步驟   1).將該類的構造方法定義爲私有方法,這樣其他處的代碼就無法通過調用該類的構造方法來實例化該類的對象,只有通過該類提

原创 linux IO模型概念詳解

 1.基本概念剖析 (1) 用戶空間和內核空間        現在操作系統都是採用虛擬存儲器,那麼對32位操作系統而言,它的尋址空間(虛擬存儲空間)爲4G(2的32次方)。操作系統的核心是內核,獨立於普通的應用程序,可以訪問受保護的內存

原创 java根據文件頭判斷文件類型

package com.mytest; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;

原创 PHP異步非阻塞IO概念與實現

 1.基本概念剖析 (1) 用戶空間和內核空間        現在操作系統都是採用虛擬存儲器,那麼對32位操作系統而言,它的尋址空間(虛擬存儲空間)爲4G(2的32次方)。操作系統的核心是內核,獨立於普通的應用程序,可以訪問受保護的內存

原创 NGINX圖片防盜鏈原理與配置

防盜鏈原理:  http標準協議中有專門的字段記錄referer 1、他可以追溯到請求時從哪個網站鏈接過來的。 2、來對於資源文件,可以跟蹤到包含顯示他的網頁地址是什麼。 因此所有防盜鏈方法都是基於這個Referer字段   NGINX

原创 HTTP一次請求/響應工作流程與報文解析

請求響應流程:  1)客戶端瀏覽器與服務器建立連接,即通過三次握手建立連接 2)建立連接後,客戶端瀏覽器發送一個請求到服務器 這個過程是組裝請求報文的過程 3)服務端接受請求,解析報文組裝成一定格式的響應報文返回客戶端 4)客戶端瀏覽器接

原创 Reactor模式 論文

論文Douglas C. Schmidt   2012-12-09 21:25    An earlier version of this paper appeared as a chapter in the book “Pattern

原创 Proactor模式 論文

Proactor An Object Behavioral Pattern for Demultiplexing and Dispatching Handlers for Asynchronous Events 論文Irfan Pyara

原创 Tomcat 套接字通信相關概念

套接字通信:        套接字通信是應用層與TCP/IP協議族通信的中間抽象層,它是一組接口。應用層通過調用這些接口發送和接收數據。一般這種抽象層由操作系統提供或者由JVM自己實現。TCP/IP協議族中有兩種套接字類型。分別是流套接字

原创 PHP自動加載 spl_autoload_register 參數解答

      spl_autoload_register 是一個實現自動加載類的函數,自動加載類就是我們在new一個class的時候,不需要手動去寫require來導入這個class.php文件,程序自動幫我們加載導入進來       sp

原创 HTTPS 通信過程原理

HTTP: 是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,HTTP協議是用於從web服務器傳輸超文本到本地瀏覽器的協議。 HTTPS:簡單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安

原创 Laravel框架一次請求的生命週期

一 摘要 Laravel 生命週期(或者說請求生命週期)概括起來主要分爲 3 個主要階段: 加載項目依賴 創建 Laravel 應用實例 接收請求並響應 而這 3 個階段的處理都發生在入口文件 public/index.php 文件內(p

原创 phpStrom常用快捷方式總結

ctr+shift+'+' 摺疊所有代碼 ctr+shift+'-' 展開所有代碼 ctr+F12 與別的類之間的調用  CTRL+N 查找類 CTRL+SHIFT+N 全局搜索文件 ,優先文件名匹配的文件 CTRL+SHIFT+A

原创 Redis利用Keyspace Notifications實現定時任務

      redis自2.8.0之後版本提供Keyspace Notifications功能,允許客戶訂閱Pub / Sub頻道,以便以某種方式接收影響Redis數據集的事件。 可能收到的事件的例子如下:  所有影響給定鍵的命令。  所