原创 UIScreenMode

UIScreenMode UIScreenMode 是個很簡單的類,用來描述屏幕的信息,其只有以下兩個屬性,並且都是隻讀的。 size,表示屏幕的寬高,單位是像素。同樣也表示了底層顯示緩衝區的大小。 pixelAspectRat

原创 Core Foundation 內存管理簡介

Core Foundation 內存管理簡記 對象引用的強弱 在 Core Foundation 中,函數的名稱中含有 create 或 copy 的,那麼變量對返回對象爲強引用,如果是含有 get 的函數返回的對象,則對其爲弱引

原创 iOS AES 加密

iOS AES 加密 下面的方法可以指定操作方式對文本進行加密或解密,還可以指定密鑰的長度。這裏 AES 加解密指定的是 ECB 模式,kCCOptionPKCS7Padding 填充方式。 當然,實際上 iOS 只支持 kCCO

原创 NSRunLoop

NSRunLoop 可以使用 NSRunLoop 類中的方法開啓一個線程的運行循環,其主要的開啓方法有下面 3 種,但實際上前兩種方法都是通過反覆調用第三種方法實現的。只是第一個沒有過期時間限制,而第二個有時間限制,但兩種開啓方法

原创 iOS 13 Scene Delegate and multiple windows

iOS 13 Scene Delegate and multiple windows iOS 13的一大改進就是支持multiple windows(多窗口)功能,雖然多窗口僅在iPadOS上獲得支持,但這已經是一個很大到的進步

原创 Perspectives

如上圖,在使用集成開發平臺編寫 Java 代碼時,可以根據需要自定義 Perspective,而所有的 Perspective 都可以在首選項中的 general->Perspectives 中查看。 通常,我們希望自定義自己

原创 關閉Java提示代碼直接鍵入

使用 Eclipse 編寫 Java 代碼時,通常在首選項中將所有的字母都添加代碼提示的配置中。但是,在實際編寫過程中,存在點擊空格,提示的代碼直接鍵入的情況,尤其是在定義變量名稱時,所以可以通過取消下面的選項,來取消提示代碼的自

原创 iOS 應用啓動優化簡述

iOS 應用啓動優化簡述 簡單來說,一個應用的啓動過程是指,用戶點擊應用圖標開始,到用戶看到該應用的第一個界面爲止。具體可以分爲下面幾個時間段: 用戶點擊應用圖標~main函數執行前 在該階段,系統會加載可執行文件(應用的 .

原创 線程

線程 在一個進程中,一個線程有生有死,若要線程不死不滅,那麼需要一個死循環,但是如果由線程不斷的輪詢任務是否存在,則太耗費性能,所以引入 運行循環 來爲線程監聽事件。如果沒有監聽到事件時,就使線程休眠。 發出事件的稱爲事件源,事件

原创 volatile

在多線程中,一個互斥鎖包含了內存屏障來確保加載和存儲操作是按照正確順序的。但是,這並不表示沒有問題。因爲編譯器在優化代碼時,可能會將變量加載到寄存器中,以便提升性能。此時,如果該變量時對其他線程可見的,那麼這種優化會導致該變量在寄

原创 三 JSP 內置對象

JSP 內置對象 request(java.servlet.http.HttpServletRequest) request 對象是服務端創建的用來獲取客戶端通過 HTTP 協議連接傳輸到服務端的數據。 常用的爲 String g

原创 一 JSP 與 Web 技術概述

JSP 與 Web 技術概述 簡介 通常,我們將互聯網理解爲所有計算機網絡連接而成的大型網絡,而 Internet(因特網)則是其中最大的一個計算機網絡。而萬維網(World Wide Web,全球廣域網)則是一個全球性的、動態交

原创 二 JSP 基本語法

JSP 基本語法 JSP 運行平臺 Caucho 公司的 Resin 平臺 Apache 公司的 Tomcat 平臺 BEA 公司的 WebLogic 平臺 IBM WebSphere Application Server 平臺

原创 關係模式

關係模式 第一範式(1NF):關係模式 R 的每一個分量是不可再分的數據項,則關係模式 R 屬於第一範式。 第二範式(2NF):若關係範式 R∈1NFR\in1NFR∈1NF ,並且每一個非主屬性完全依賴於碼,則關係模式 R∈2N

原创 面向協議編程

面向協議編程 在使用 Swift 時,可以爲結構體和枚舉類型聲明方法,其使用起來更加方便,對於一些簡單模型,或者對象的組合模型,使用結構體更爲簡便。 對於面向對象編程(OOP,Object Oriented Programming