原创 Jinja2模板(2)--變量和控制結構

變量 在Jinja2模板(1)中的例2中,{{name}}結構表示一個變量,它是一種特殊的佔位符,告訴模板引擎這個位置的值從渲染模板時使用的數據中獲取。 Jinja2能識別所有類型的變量。 可以使用過濾器修改變量:過濾器名添加在變量名之

原创 關於JAVA的一些小知識

1.JDK:把Java程序設計語言、Java虛擬機、Java API類庫這三類統稱爲JDK。 JDK是用於支持JAVA程序開發的最小環境。 2.JRE:把Java API類庫中的JAVA SE API子集和Java虛擬機這兩部分統稱爲FR

原创 觀察者模式

什麼是觀察者模式?(又稱爲發佈-訂閱模式) 舉個例子,當A,B,C上課打遊戲時候,讓小D幫他們放風,如果老師來了就要通知他們,他們就放下游戲開始看書,這個就是一個觀察者模式。 觀察者模式包含觀察者和通知者(主題)。主題保存的是觀察者對象,

原创 設計原則

1.把會變化的部分取出來並封裝起來,好讓其他部分不會受到影響。 2.針對接口編程,而不是針對實現編程。 針對接口編程其實是指 針對超類型編程 。就是說 變量的聲明類型應該是超類型,這樣的話,只要是具體實現這個超類型的類所產生的對象,都可以

原创 設計模式概論

1.觀察者模式: 讓你的對象知悉現狀  是JDK用的最多的模式之一。它可以幫助你的對象知悉現況,不會錯過該對象感興趣的事。對象甚至在運行時可以決定是否要繼續被通知。 有了觀察者,你會消息靈通。 2.裝飾者模式:裝飾對象 如何使用對象組合的

原创 Windows下Flask安裝

此次安裝需要pip。若沒安裝pip首先需要安裝pip 安裝Flask最便捷的方式是使用虛擬環境。虛擬環境是Python解釋器的一個私有副本,在此環境中可以安裝私有包且不會影響系統中安裝的全局Python解釋器。 虛擬環境的好處: 1.可

原创 線程-實現線程的兩種方式

線程就是進程中獨立運行的子任務。 單任務的特點是排隊等待,是同步的,多線程是異步的。 一個進程正在運行時候至少有一個線程在運行。可以調用Thread.currentThread().getId()和Thread.currentThrea

原创 Java 中的一些小知識

1. Integer與boolean這兩種類型並不相容。 2.while循環必須要在方法裏。 3.java繼承類執行順序:父類靜態代碼塊-》子類靜態代碼塊-》父類構造代碼塊-》父類構造函數-》子類構造代碼塊-》子類構造函數 4.java語

原创 Java內存區域

1.運行時數據區域 運行時數據區域分爲:方法區 、虛擬機棧、本地方法棧、堆、程序計數器。 (1)程序計數器: (線程私有的內存)是一塊較小的內存空間,它可以看作是線程所執行的字節碼的行號指示器。這個內存區域是唯一一個在Java虛擬機規範

原创 線程-實例變量

自定義線程中的實例變量可以分爲兩類:共享變量和不共享變量。 1.不共享:每個線程都有自己的變量,不與其他線程共享。 public class ThreadVariable extends Thread {private int cou

原创 程序的基本結構:第一個Flask程序

在編寫第一個程序之前,首先有幾個概念需要知道: 1.初始化: 所有的Flask程序都必須創建一個程序實例。程序實例是Flask類的對象,經常使用的創建代碼爲: from flask import Flask app=Flask(__nam

原创 線程幾種方法

1. isAlive():判斷當前的線程是否處於活動狀態 活動狀態是指線程已經啓動且尚未終止。 public class IsAliveTest extends Thread {public static void main(Strin

原创 Jinja2模板(1) --基本概念,模板引擎,渲染模板

首先需要了解幾個概念: 例:當用戶在網站中註冊了一個新賬戶,用戶在表單中填寫信息,然後點擊提交按鈕。 業務邏輯:服務器接收到包含用戶輸入數據的請求,然後Flask把請求分發到處理註冊請求的視圖函數。 表現邏輯:這個視圖需要訪問數據庫,添加

原创 垃圾收集器

垃圾收集器確定對象是否存活的方法: 1.引用計數算法:給對象中添加一個引用計數器,每當有一個地方引用它時,計數器數值就加1,;當引用失效時,計數器數值就減1;任何時刻計數器爲0的對象就是不可能再被使用的。 Java虛擬機中沒有選用此方法來

原创 策略模式

策略模式定義了算法族,分別封裝起來,讓它們之間可以相互替換,此模式讓算法的變化獨立於使用算法的客戶。 鏈接處有相關代碼。 代碼的解釋: 設計一個Duck(鴨子)類。因爲鴨子有呱呱叫和飛行兩種方法,但是並飛所有的鴨子都有這兩個功能(如橡皮