黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

第一部分 Java基礎(chǔ)
第二部分 Java進(jìn)階

Java常見面試題及答案(131~140企業(yè)真題)

131、j2ee中的應(yīng)用服務(wù)器有哪些?(ACD)

A. Weblogic

B. Tomcat

C. JBoss

D. WebSphere

E. IIS

132、EJB程序與普通的java程序區(qū)別有哪些?

EJB是sun的服務(wù)器端組件模型,最大的用處是部署分布式應(yīng)用程序當(dāng)然,還有許多方式可以實(shí)現(xiàn)分布式應(yīng)用,類似微軟的.net技術(shù)。

憑借 java 跨平臺的優(yōu)勢,用EJB 技術(shù)部署的分布式系統(tǒng)可以不限于特定的平臺。EJB(EnterpriseJavaBean)是J2EE的一部分,定義了一個用于開發(fā)基于組件的企業(yè)多重應(yīng)用程序的標(biāo)準(zhǔn)。其特點(diǎn)包括網(wǎng)絡(luò)服務(wù)支持和核心開發(fā)工具(SDK)。

在J2EE里,Enterprise Java Beans(EJB)稱為Java企業(yè)Bean,是Java 的核心代碼,分別是會話 Bean(Session Bean),實(shí)體 Bean(Entity Bean)和消息驅(qū)動 Bean(MessageDriven Bean)。

簡單來講:比如做一個工程就和蓋房子,如果,你會 java,那么你就擁有了基本的技能,一步一步累磚,總能把房子蓋好但是EJB就是一個框架,蓋房子的時候,先有這個框架,然后你根據(jù)這個框架去累磚,房子就會蓋的又快又好。java是基礎(chǔ),EJB 是在java上發(fā)展出來的模型,框架。

133、請簡述什么是集群?

服務(wù)器集群就是指將很多服務(wù)器集中起來一起進(jìn)行同一種服務(wù),在客戶端看來就象是只有一個服務(wù)器。集群可以利用多個計算機(jī)進(jìn)行并行計算從而獲得很高的計算速度,也可以用多個計算機(jī)做備份,從而使得任何一個機(jī)器壞了整個系統(tǒng)還是能正常運(yùn)行。一旦在服務(wù)器上安裝并運(yùn)行了群集服務(wù),該服務(wù)器即可加入群集。群集化操作可以減少單點(diǎn)故障數(shù)量,并且實(shí)現(xiàn)了群集化資源的高可用性。

134、字符串中有重復(fù)的內(nèi)容去重 例如:abbccccaaddaggb-->abvadagb

public class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("a");
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("c");
        System.out.println("沒有去重前的數(shù)據(jù)為>>>" + list.toString());
        for (int i = 0; i < list.size() - 1; i++) {
            for (int j = list.size() - 1; j > i; j--) {
                if (list.get(j).equals(list.get(i))) {
                    list.remove(j);
                }
            }
        }
        System.out.println("去重后的數(shù)據(jù)為>>>" + list.toString());
    }
}

135、利用 java 面向?qū)ο蟮乃悸吩O(shè)計正方形、長方形、圓的計算面積的類圓:

class MianJi {
    float r;
    float pai = (float) 3.14;

    void gongShi() {
        Float s = pai * r * r;
        System.out.println("圓的面積為" + s);
    }

    void zhengFangXing(float bianChang) {
        System.out.println("正方形的面積為" + bianChang * bianChang);
    }

    void changFangXing(float chang, float kuan) {
        System.out.println("長方形的面積為" + chang * kuan);
    }

    public static void main(String[] arg) {
        MianJi c = new MianJi();
        System.out.println("請輸入圓的半徑:");
        Scanner sc = new Scanner(System.in);
        c.r = sc.nextFloat();
        c.gongShi();
        System.out.println("請輸入正方形的邊長:");
        float bian = sc.nextFloat();
        c.zhengFangXing(bian);
        System.out.println("請輸入長方形的長和寬:");
        float chang = sc.nextFloat();
        float kuan = sc.nextFloat();
        c.changFangXing(chang, kuan);
    }
}

136、任何>=6的偶數(shù)都可以分解為兩個質(zhì)數(shù)之和,從鍵盤輸入一個偶數(shù),輸出其分解的質(zhì)數(shù)

public class Test {
    public static void main(String[] args) {
        int num = inPut();
        outPut(num);
    }

    public static int inPut() {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入大于 6 的偶數(shù):");
        int num = sc.nextInt();
        if (num % 2 != 0 || num <= 6) {
            System.out.println("輸入錯誤,請重新輸入大于 6 的偶數(shù):");
            return inPut();
        }
        return num;
    }

    public static boolean isPrim(int num) {
        for (int i = 2; i <= Math.sqrt((double) num); i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }

    public static void outPut(int num) {
        for (int i = 2; i <= num / 2; i++) {
            if (isPrim(i) == true && isPrim(num - i) == true) {
                System.out.println(i + " " + (num - i));
            }
        }
    }
}

137、什么叫對象?什么叫類?什么是面向?qū)ο螅∣OP)?

類的概念:類是具有相同屬性和行為的一組對象的集合。它為屬于該類的所有對象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和行為兩個主要部分。在面向?qū)ο蟮木幊陶Z言中,類是一個獨(dú)立的程序單位,它應(yīng)該有一個類名并包括屬性說明和服務(wù)說明兩個主要部分。

對象的概念:對象是系統(tǒng)中用來描述客觀事物的一個實(shí)體,它是構(gòu)成系統(tǒng)的一個基本單位。一個對象由一組屬性和對這組屬性進(jìn)行操作的一組服務(wù)組成。從更抽象的角度來說,對象是問題域或?qū)崿F(xiàn)域中某些事物的一個抽象,它反映該事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用;它是一組屬性和有權(quán)對這些屬性進(jìn)行操作的一組服務(wù)的封裝體。客觀世界是由對象和對象之間的聯(lián)系組成的。

類與對象的關(guān)系就如模具和鑄件的關(guān)系,類的實(shí)例化結(jié)果就是對象,而對一類對象的抽象就是類。類描述了一組有相同特性(屬性)和相同行為(方法)的對象。

上面大概就是它們的定義吧,也許你是剛接觸面象對象的朋友,不要被概念的東西搞暈了, 給你舉個列子吧,如果你去中關(guān)村想買幾臺組裝的PC機(jī),到了那里你第一步要干什么,是不是裝機(jī)的工程師和你坐在一起,按你提供的信息和你一起完成一個裝機(jī)的配置單呀,這個配置單就可以想像成是類,它就是一張紙,但是它上面記錄了你要買的PC機(jī)的信息,如果用這個配置單買10臺機(jī)器,那么這10臺機(jī)子,都是按這個配置單組成的,所以說這10臺機(jī)子是一個類型的,也可以說是一類的。那么什么是對象呢,類的實(shí)例化結(jié)果就是對象,用這個配置單配置出來(實(shí)例化出來)的機(jī)子就是對象,是我們可以操作的實(shí)體,10 臺機(jī)子,10 個對象。每臺機(jī)子都是獨(dú)立的,只能說明他們是同一類的,對其中一個機(jī)(對象)做任何動作都不會影響其它9臺機(jī)器,但是我對類修改,也就是在這個配置單上加一個或少一個配件,那么裝出來的9個機(jī)子都改變了,這是類和對象的關(guān)系(類的實(shí)例化結(jié)果就是對象) 

138、JAVA中使用final修飾符,對程序有哪些影響?

● 修飾類

當(dāng)用final修飾一個類時,表明這個類不能被繼承。也就是說,如果一個類你永遠(yuǎn)不會讓他被繼承,就可以用final進(jìn)行修飾。final類中的成員變量可以根據(jù)需要設(shè)為final,但是要注意 final 類中的所有成員方法都會被隱式地指定為final 方法。在使用 final 修飾類的時候,要注意謹(jǐn)慎選擇,除非這個類真的在以后不會用來繼承或者出于安全的考慮,盡量不要將類設(shè)計為 final類。

● 修飾方法

被final修飾的方法將不能被子類覆蓋,主要用于:

把方法鎖定,以防任何繼承類修改它的含義。

在早期的Java實(shí)現(xiàn)版本中,會將final方法轉(zhuǎn)為內(nèi)嵌調(diào)用,所以效率能夠提升。

● 修飾變量

對于一個final變量,如果是基本數(shù)據(jù)類型的變量,則其數(shù)值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個對象。當(dāng)用 final 作用于類的成員變量時,成員變量(注意是類的成員變量,局部變量只需要保證在使用之前被初始化賦值即可)必須在定義時或者構(gòu)造器中進(jìn)行初始化賦值,而且final變量一旦被初始化賦值之后,就不能再被賦值了。

139、寫出 5 個你在 JAVA 開發(fā)中常用的包含(全名),并簡述其作用。

● java.lang.*

提供利用Java編程語言進(jìn)行程序設(shè)計的基礎(chǔ)類。最重要的類是Object(它是類層次結(jié)構(gòu)的根)和Class(它的實(shí)例表示正在運(yùn)行的應(yīng)用程序中的類)。

● java.util.*

包含集合框架、遺留的Collection類、事件模型、日期和時間設(shè)施、國際化和各種實(shí)用工具類(字符串標(biāo)記生成器、隨機(jī)數(shù)生成器和位數(shù)組、日期 Date 類、堆棧 Stack 類、向量 Vector 類等)。集合類、時間處理模式、日期時間工具等各類常用工具包。

● java.io.*

Java 的核心庫java.io提供了全面的IO接口。包括:文件讀寫、標(biāo)準(zhǔn)設(shè)備輸出等。Java 中 IO是以流為基礎(chǔ)進(jìn)行輸入輸出的,所有數(shù)據(jù)被串行化寫入輸出流,或者從輸入流讀入。

● java.net.*

并非所有系統(tǒng)都支持 IPv6 協(xié)議,而當(dāng) Java 網(wǎng)絡(luò)連接堆棧嘗試檢測它并在可用時透明地使用它時,還可以利用系統(tǒng)屬性禁用它。在IPv6不可用或被顯式禁用的情況下,Inet6Address  對大多數(shù)網(wǎng)絡(luò)連接操作都不再是有效參數(shù)。雖然可以保證在查找主機(jī)名時 java.net.InetAddress.getByName之類的方法不返回Inet6Address,但仍然可能通過傳遞字面值來創(chuàng)建此類對象。在此情況下,大多數(shù)方法在使用 Inet6Address 調(diào)用時都將拋出異常。

● java.sql.*

提供使用JavaTM編程語言訪問并處理存儲在數(shù)據(jù)源(通常是一個關(guān)系數(shù)據(jù)庫)中的數(shù)據(jù)的API。此API包括一個框架,憑借此框架可以動態(tài)地安裝不同驅(qū)動程序來訪問不同數(shù)據(jù)源。

140、方法重載(overload)需要滿足什么條件,方法覆蓋/方法重寫(override)需要滿足什么條件?

重載需要滿足的條件:在同一類中定義的方法,方法名必須相同,參數(shù)一定不同。

發(fā)生覆蓋的條件:“三同一不低”,子類和父類的方法名稱,參數(shù)列表,返回類型必須完全相同,而且子類方法的訪問修飾符的權(quán)限不能比父類低。子類方法不能拋出比父類方法更多的異常。即子類方法所拋出的異常必須和父類方法所拋出的異常一致,或者是其子類,或者什么也不拋出;被覆蓋的方法不能是final類型的。因為final修飾的方法是無法覆蓋的。被覆蓋的方法不能為private。否則在其子類中只是新定義了一個方法,并沒有對其進(jìn)行覆蓋。被覆蓋的方法不能為static。所以如果父類中的方法為靜態(tài)的,而子類中的方法不是靜態(tài)的,但是兩個方法除了這一點(diǎn)外其他都滿足覆蓋條件,那么會發(fā)生編譯錯誤。反之亦然。即使父類和子類中的方法都是靜態(tài)的,并且滿足覆蓋條件,但是仍然不會發(fā)生覆蓋,因為靜態(tài)方法是在編譯的時候把靜態(tài)方法和類的引用類型進(jìn)行匹配。

重寫規(guī)則:重寫方法不能比被重寫方法限制有更嚴(yán)格的訪問級別。(但是可以更廣泛,比如父類方法是包訪問權(quán)限,子類的重寫方法是public訪問權(quán)限)。比如:Object類有個toString()方法,開始重寫這個方法的時候我們總?cè)菀淄沺ublic修飾符,編譯器當(dāng)然不會放過任何教訓(xùn)我們的機(jī)會。出錯的原因就是:沒有加任何訪問修飾符的方法具有包訪問權(quán)限,包訪問權(quán)限比 public當(dāng)然要嚴(yán)格了,所以編譯器會報錯的。參數(shù)列表必須與被重寫方法相同。重寫有個孿生的弟弟叫重載,也就是后面要出場的。如果子類方法的參數(shù)與父類對應(yīng)的方法不同,那么就是你認(rèn)錯人了,那是重載,不是重寫。返回類型必須與被重寫方法的返回類型相同。

父類方法A:void eat(){}子類方法B:int eat(){}兩者雖然參數(shù)相同,可是返回類型不同,所以不是重寫。

父類方法A:int eat(){} 子類方法 B:long eat(){} 返回類型雖然兼容父類,但是不同就是不同,所以不是重寫。???????

全部教程
主站蜘蛛池模板: 亚洲一级毛片免费看 | xxx性欧美| 亚洲欧美日韩综合在线播放 | 日日摸夜夜摸狠狠摸97 | 日韩理论在线观看 | 欧美一级鲁丝片免费看 | 手机看片日韩高清国产欧美 | 久久免费视频网 | 特级黄色毛片 | 欧美伊人久久大香线蕉在观 | 污香蕉| 波多野结衣在线观看一区二区三区 | 国产精品欧美一区二区三区不卡 | 无码日韩精品一区二区免费 | 日日干天天射 | 中国免费黄色片 | 成人亚洲欧美日韩在线 | 日本经典在线三级视频 | 人人爽天天爽夜夜爽曰 | www网站在线观看 | 日韩成人免费视频播放 | 中文字幕一区二区在线播放 | 欧美一区二区激情三区 | 国产一级视频久久 | 天天摸夜夜添 | 日本免费一区二区视频 | 深夜在线视频免费网址 | 天天爽天天干 | 日日天天干 | 极品毛片| 最近2019中文字幕免费大全5 | 成人在线观看一区 | 动漫成年美女黄漫网站小视频 | 天天精品| 高清国产欧美一v精品 | 99热在线观看精品 | 国产欧美精品一区二区三区–老狼 | 欧美一欧美一区二三区性 | 久久99精品国产麻豆不卡 | 亚洲1区2区3区4区 | 久久人人爽人人爽人人小说 |