原创 詳細解析Java中抽象類和接口的區別(轉)

在Java語言中, abstract class 和interface 是支持抽象類定義的兩種機制。正是由於這兩種機制的存在,才賦予了Java強大的 面向對象能力。abstract class和interface之間在對於抽象類定義的支

原创 利用面向對象解母牛生小牛問題

用面向對象的方法解下面的題目:(這是在看馬士兵的設計模式的Thinking_in_oo中最後給出的一道題) 題目: 農場一頭小母牛,每年生頭小母牛,母牛五歲產母牛,二十年上多少牛? 題目解析: 按照我的理解,農場首先有一頭小母牛,當小母

原创 面試題之——對包含漢字的字符串截取指定字節數

題目:編寫一個截取字符串的函數,輸入爲一個字符串和字節數, 輸出爲按字節截取的字符串,但要保證漢字不被截取半個,如"我ABC",4,應該截取"我AB",輸入"我ABC漢DEF",6, 應該輸出"我ABC",而不是"我ABC+漢的半個"。

原创 面試題之——抽象類(abstract class)與接口(interface)的區別

抽象類可以有構造方法,接口中不能有構造方法。(雖然抽象類有構造方法,但它也不能被實例化)抽象類中可以有普通成員變量,接口中沒有普通成員變量。抽象類和接口中都可以包含靜態成員變量。抽象類中的靜態成員變量的訪問類型可以是任意類型,但接口中定義

原创 面試題之——java交叉讀取兩個文件中單詞,然後寫入新的文件

今天看到一道面試題,題目爲:編寫一個程序,將a.txt文件中的單詞與b.txt文件中的單詞進行交替合併到c.txt文件中 。a.txt文件中的單詞用回車符分隔,b.txt文件中用回車或空格分開。 文章中給出的代碼是 import jav

原创 劍指offer面試題9-斐波那契數列問題

問題描述 寫一個函數,輸入n,求斐波那契(Fibonacci)數列第n項。 斐波那契數列定義爲:f(n) = f(n-1) + f(n-2) (n>1) ,其中f(0)=0, f(1)=1。 遞歸解法 斐波那契數列是一個典型的遞歸解法,

原创 The "Double-Checked Locking is Broken" Declaration

Double-Checked Locking is widely cited and used as an efficient method for implementing lazy initialization in a multit

原创 排序算法之堆排序

基礎概念 完全二叉樹 完全二叉樹(Complete Binary Tree):若設二叉樹的深度爲h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的結點都連續集中在最左邊,這就是完全二叉樹。 堆 堆總是滿

原创 劍指offer面試題8-旋轉數組的最小數字

問題描述 把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個遞增排序的數組的一個旋轉,輸出旋轉數組的最小元素。 例如數組{3, 4, 5, 1, 2}爲數組{1, 2, 3, 4, 5}的一個旋轉,該數組最小

原创 右移運算符總結

概念 右移運算符是將一個二進制數按指定移動的位數向右移動。 移動過程中,正數最高位補0,負數最高位補1,無符號數最高位補0。 補碼 在計算機系統中,數值一律用補碼來表示和存儲,其中最高位表示符號位,1表示負數,0表示正數。 正數的補碼

原创 劍指offer面試題10-二進制中1的個數

問題描述 請實現一個函數,輸入一個整數,輸出該整數二進制表示中1的個數。 例如把9的二進制是1001,有2位是1。因此,如果輸入9,該函數輸出2。 解決算法 算法一 根據題目,我們可以想到先判斷最低位是否爲1,然後將次高位右移一位,然後

原创 劍指offer面試題3-二維數組查找問題

問題描述 在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。 請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 解題思路 暴力破解 暴力破解方式也就是對二維數組中的每個

原创 SQL經典18題(不知道經不經典)

表結構 emp員工表(empno員工號/ename員工姓名/job工作/mgr上級編號/hiredate受僱日期/sal薪金/comm佣金/deptno部門編號)dept部門表(deptno部門編號/dname部門名稱/loc地點) 說明

原创 《java併發編程實戰》讀書筆記一 可見性和重排序現象

第3.1章節《可見性》裏給了一段代碼: publci class NoVisibility{ private static voolean ready; private static int number; pri

原创 Java郵件開發(三):解決附件名爲亂碼及顯示友好名稱

在上一篇文章(Java郵件開發(二):使用JMail發送一封圖文並茂且包含附件的郵件(下) )中,我們學會了使用JavaMail發送一封複雜的郵件。 遺留的問題有以下兩個: 1.附件的名稱只能爲英文,中文亂碼 2.友好名稱的顯示。 我們使