原创 Java(8-2)多線程的同步和條件對象

這一節,我們要一口氣介紹完多線程同步和條件對象的原因,鎖機制,條件對象的使用以及我們之前寫的那個銀行轉錢系統的剩餘代碼 。 Part 1 同步 爲什麼要有同步呢? 我們從之前多線程的一個例子來看:有很多用戶都分別在進行交

原创 MySQL數據庫——彙總數據(聚集函數)

本節介紹什麼事SQL的聚集函數以及如何利用他們彙總表的數據。 在實際操作中,我們經常需要一些特點數據的,比如: 1.我們常常要確定表中的行數; 2. 獲得表中行組的和 ; 3.找出表列(或所有行或某些特定的行)的最大值、最小值和平

原创 MySQL數據庫——用通配符和正則表達式過濾數據(一)

前面我們介紹過關於如何過濾數據,但是那些都是對已經確定的值進行過濾的。在實際生活中,我們很可能需要類似這樣的搜索,列出文本中包含關鍵字“Freeman”的語句。 顯然,我們用之前的簡單操作肯定是不行地,必須使用通配符! 通配符:

原创 MySQL數據庫——使用數據處理函數

函數,大家肯定都瞭解,SQL支持利用函數來處理數據,函數一般是在數據上執行的,他給數據的轉換和處理提供了方便 。 但是需要說明,函數的移植性沒有SQL語句好,但是使用起來很有效,所以如果決定了使用函數,應該保證好代碼註釋,以便以

原创 MySQL數據庫——分組數據

上一節我們說到,SQL聚集函數可以用來彙總數據。這使我們能夠對 行 進行計數 ,計算和 與 平均值 ,獲得 最大 和 最小 值 而不用檢索所有數據! 到目前來說,我們的所有數據都要匹配WHERE子句的數據 基礎上來進行。 例如 我

原创 併發編程——關於任務的執行(Task Execution)

1.多線程套接字編程中的不足 記得之前做過學校的一個實驗,是關於多線程套接字編程地,在那次實驗中,我們採用瞭如下的代碼: ServerSocket server = new ServerSocket(80); while(true){

原创 併發基礎知識(一·)

1.1 什麼是線程安全性 當多個線程訪問某個類時,不管運行時環境採用何種調度方式或者這些線程將如何交替執行,並且在主調代碼中不需要任何額外的同步或協同,這個類都能表現出正確的行爲,那麼就稱這個類是線程安全的。 1.2 原子性 //存在於

原创 併發——對象的共享

1.1可見性的理解 我們已經知道了同步代碼塊和同步方法可以確保以原子性的方式執行操作,但是,同步還有另一方面的重要作用:內存可見性。我們希望一個線程在修改了對象狀態後其他線程能夠看到發生的狀態變化。這就是說,爲了確保多個線程之間對內存寫

原创 MySQL數據庫——視圖

視圖是虛擬的表。 給我的感覺好像是原來表的投影一樣,可以只投影一部分。視圖只包含使用時動態檢索數據的查詢。 11.視圖簡介 理解視圖,要從一個例子說起: SELECT cust_name, cust_city,cust_state F

原创 MySQL數據庫——檢索數據(一)

爲了使用SELECT檢索表的數據,必須至少給出兩條信息:(1)想選擇什麼(2)從什麼地方選擇 part 1:檢索單個列 SELECT userName FROM yellowriver 需要說明的是這是還沒有排序的檢索並且數據也沒有進行過

原创 動態規劃——合唱團

題目: 有 n 個學生站成一排,每個學生有一個能力值,從這 n 個學生中按照順序選取 k 名學生,要求相鄰兩個學生的位置編號的差不超過 d,使得這 k 個學生的能力值的乘積最大,返回最大的乘積。 每個輸入包含 1 個測試用例。每個測試

原创 併發編程——創建線程安全的類,對象組合

1.1 實例封閉 我們時常需要創建一個線程安全的類,那麼第一步,收集同步需求,並將同步策略寫成正式文檔。例如:1.狀態變量的上屆和下屆值,範圍;2.依賴狀態的操作:比如某些方法中,包含一些先驗條件,再刪除某個元素前,隊列必須處於非空狀態

原创 併發編程——構建高效切可伸縮的結果緩存

使用HsahMap 首先我們定義一個Computable接口,該接口包含一個compute()方法,該方法是一個耗時很久的數值計算方法。Memoizer1是第一個版本的緩存,該版本使用hashMap來保存之前計算的結果,compute

原创 MySQL數據庫——使用子查詢

**SELCET語句是SQL的查詢。迄今爲止我們所看到的所有SELCET都是簡單查詢,即從單個數據庫表中檢索數據的單條語句。 SQL還允許創建子查詢,就是嵌套在其他查詢內的查詢!** part 1 使用子查詢進行過濾 SELECT co

原创 小易喜歡的單詞(簡單比較)

題目描述 小易喜歡的單詞具有以下特性: 1.單詞每個字母都是大寫字母 2.單詞沒有連續相等的字母 3.單詞沒有形如“xyxy”(這裏的x,y指的都是字母,並且可以相同)這樣的子序列,子序列可能不連續。 例如: 小易不喜歡”AB