原创 HashSet 和 HashMap 區別

如果你看過 HashSet 源碼的話就應該知道:HashSet 底層就是基於 HashMap 實現的。(HashSet 的源碼非常非常 少,因爲除了 clone() 方法、writeObject()方法、readObject()方法是 H

原创 數據的分區分表

分庫分表有垂直切分和水平切分兩種。 垂直切分(按照功能模塊) 將表按照功能模塊、關係密切程度劃分出來,部署到不同的庫上。例如,我們會建立定義數據庫workDB、商品數據庫payDB、用戶數據庫userDB、日誌數據庫logDB等,分別用於

原创 Spring MVC 原理

Spring的模型-視圖-控制器(MVC)框架是圍繞一個DispatcherServlet來設計的,這個Servlet會把請求分發給各個處理器,並支持可配置的處理器映射、視圖渲染、本地化、時區與主題渲染等,甚至還能支持文件上傳。 MVC工

原创 數據庫三範式

第一範式(1st NF -列都是不可再分) 第一範式的目標是確保每列的原子性:如果每列都是不可再分的最小數據單元(也稱爲最小的原子單元),則滿足第一範式(1NF)   第二範式(2nd NF-每個表只描述一件事情) 首先滿足第一範式,並且

原创 數據庫併發策略

併發控制一般採用三種方法,分別是樂觀鎖和悲觀鎖以及時間戳。 樂觀鎖 樂觀鎖認爲一個用戶讀數據的時候,別人不會去寫自己所讀的數據;悲觀鎖就剛好相反,覺得自己讀數據庫的時候,別人可能剛好在寫自己剛讀的數據,其實就是持一種比較保守的態度;時間戳

原创 Spring有哪些優點?

輕量級:Spring 在大小和透明性方面絕對屬於輕量級的。控制反轉(IOC):Spring 使用控制反轉技術實現了鬆耦合,依賴被注入到對象,而不是創建或尋找依賴對象。面向切面編程(AOP):Spring 支持面向切面編程,同時應用的業務邏

原创 某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。

題目:某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。請編寫程序設計此加密算法。 public clas

原创 一個偶數總能表示爲兩個素數之和,輸入一個偶數,把它分解爲兩個素數之和。

題目:一個偶數總能表示爲兩個素數之和,輸入一個偶數,把它分解爲兩個素數之和。 注意:不要忘記單獨處理4。 import java.util.Scanner; public class Prog44{ public static voi

原创 809*??=800*??+9*??+1

題目:809*??=800*??+9*??+1 其中??代表的兩位數,8*??的結果爲兩位數,9*??的結果爲3位數。求??代表的兩位數,及809*??後的結果。 public class Prog42{ public static

原创 有五個學生,每個學生有3門課的成績,從鍵盤輸入以上數據(包括學生號,姓名,三門課成績),計算出平均成績,將原有的數據和計算出的平均分數存放在磁盤文件"stud"中。

題目:有五個學生,每個學生有3門課的成績,從鍵盤輸入以上數據(包括學生號,姓名,三門課成績),計算出平均成績,將原有的數據和計算出的平均分數存放在磁盤文件"stud"中。 import java.io.*; public class P

原创 海灘上有一堆桃子,五隻猴子來分。

題目:海灘上有一堆桃子,五隻猴子來分。第一隻猴子把這堆桃子憑據分爲五份,多了一個,這隻猴子把多的一個扔入海中,拿走了一份。第二隻猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五隻猴子都是這

原创 連接兩個字符串

題目:連接兩個字符串 程序分析:使用加號直接連接/笑哭。 import java.util.Scanner; public class Prog46 { public static void main(String[] args)

原创 求0—7所能組成的奇數個數。

題目:求0—7所能組成的奇數個數。 public class Prog43{ public static void main(String[] args){ int count = 0; //聲明由數字組成的數 int n

原创 判斷一個數能被幾個9整除

題目:判斷一個數能被幾個9整除。 import java.util.Scanner; public class Prog45{ public static void main(String[] args){ System.out.

原创 編寫一個函數,輸入n爲偶數時,調用函數求1/2+1/4+...+1/n,當輸入n爲奇數時,調用函數1/1+1/3+...+1/n。

題目:編寫一個函數,輸入n爲偶數時,調用函數求1/2+1/4+...+1/n,當輸入n爲奇數時,調用函數1/1+1/3+...+1/n。 import java.util.Scanner; public class Prog39{ p