<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 4, comments - 5, trackbacks - 0, articles - 10
    91、應用服務器與WEB SERVER的區(qū)別?
    通俗的講,Web服務器傳送(serves)頁面使瀏覽器可以瀏覽,然而應用程序服務器提供的是客戶端應用程序可以調(diào)用(call)的方法(methods)。確切一點,你可以說:Web服務器專門處理HTTP請求(request),但是應用程序服務器是通過很多協(xié)議來為應用程序提供(serves)商業(yè)邏輯(business logic)。

    92、BSCS的聯(lián)系與區(qū)別。
    C/SClient/Server的縮寫。服務器通常采用高性能的PC、工作站或小型機,并采用大型數(shù)據(jù)庫系統(tǒng),如OracleSybaseInformix SQL Server。客戶端需要安裝專用的客戶端軟件。
    B/
    S是Brower/Server的縮寫,客戶機上只要安裝一個瀏覽器(Browser),如Netscape NavigatorInternet Explorer,服務器安裝OracleSybaseInformix SQL Server等數(shù)據(jù)庫。在這種結構下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn)。瀏覽器通過Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。
    C/S
    B/S 區(qū)別:
    1.硬件環(huán)境不同:
      C/S 一般建立在專用的網(wǎng)絡上, 小范圍里的網(wǎng)絡環(huán)境, 局域網(wǎng)之間再通過專門服務器提供連接和數(shù)據(jù)交換服務.
      B/S 建立在廣域網(wǎng)之上的, 不必是專門的網(wǎng)絡硬件環(huán)境,例與電話上網(wǎng), 租用設備. 信息自己管理. 有比C/S更強的適應范圍, 一般只要有操作系統(tǒng)和瀏覽器就行
    2.對安全要求不同
      C/S 一般面向相對固定的用戶群, 對信息安全的控制能力很強. 一般高度機密的信息系統(tǒng)采用C/S 結構適宜. 可以通過B/S發(fā)布部分可公開信息.
      B/S 建立在廣域網(wǎng)之上, 對安全的控制能力相對弱, 可能面向不可知的用戶。
    3.對程序架構不同
      C/S 程序可以更加注重流程, 可以對權限多層次校驗, 對系統(tǒng)運行速度可以較少考慮.
      B/S 對安全以及訪問速度的多重的考慮, 建立在需要更加優(yōu)化的基礎之上. C/S有更高的要求 B/S結構的程序架構是發(fā)展的趨勢, MS.Net系列的BizTalk 2000 Exchange 2000, 全面支持網(wǎng)絡的構件搭建的系統(tǒng). SUN IBM推的JavaBean 構件技術等,使 B/S更加成熟.
    4.軟件重用不同
      C/S 程序可以不可避免的整體性考慮, 構件的重用性不如在B/S要求下的構件的重用性好.
      B/S 對的多重結構,要求構件相對獨立的功能. 能夠相對較好的重用.就入買來的餐桌可以再利用,而不是做在墻上的石頭桌子
    5.系統(tǒng)維護不同 
      C/S 程序由于整體性, 必須整體考察, 處理出現(xiàn)的問題以及系統(tǒng)升級. 升級難. 可能是再做一個全新的系統(tǒng)
      B/S 構件組成,方面構件個別的更換,實現(xiàn)系統(tǒng)的無縫升級. 系統(tǒng)維護開銷減到最小.用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級.
    6.處理問題不同
      C/S 程序可以處理用戶面固定, 并且在相同區(qū)域, 安全要求高需求, 與操作系統(tǒng)相關. 應該都是相同的系統(tǒng)
      B/S 建立在廣域網(wǎng)上, 面向不同的用戶群, 分散地域, 這是C/S無法作到的. 與操作系統(tǒng)平臺關系最小.
    7.用戶接口不同
      C/S 多是建立的Window平臺上,表現(xiàn)方法有限,對程序員普遍要求較高
      B/S 建立在瀏覽器上, 有更加豐富和生動的表現(xiàn)方式與用戶交流. 并且大部分難度減低,減低開發(fā)成本.
    8.信息流不同
      C/S 程序一般是典型的中央集權的機械式處理, 交互性相對低
      B/S 信息流向可變化, B-B B-C B-G等信息、流向的變化, 更像交易中心。

    二、JAVA代碼查錯

    1.
    abstract class Name {
       private String name;
       public abstract boolean isStupidName(String name) {}
    }
    大俠們,這有何錯誤?
    答案: 錯。abstract method必須以分號結尾,且不帶花括號。
    2.
    public class Something {
       void doSomething () {
           private String s = "";
           int l = s.length();
       }
    }
    有錯嗎?
    答案: 錯。局部變量前不能放置任何訪問修飾符 (privatepublic,和protected)final可以用來修飾局部變量
    (final
    如同abstractstrictfp,都是非訪問修飾符,strictfp只能修飾classmethod而非variable)
    3.
    abstract class Something {
       private abstract String doSomething ();
    }
    這好像沒什么錯吧?
    答案: 錯。abstractmethods不能以private修飾。abstractmethods就是讓子類implement(實現(xiàn))具體細節(jié)的,怎么可以用privateabstract
    method
    封鎖起來呢? (同理,abstract method前不能加final)
    4.
    public class Something {
       public int addOne(final int x) {
           return ++x;
       }
    }
    這個比較明顯。
    答案: 錯。int x被修飾成final,意味著x不能在addOne method中被修改。
    5.
    public class Something {
       public static void main(String[] args) {
           Other o = new Other();
           new Something().addOne(o);
       }
       public void addOne(final Other o) {
           o.i++;
       }
    }
    class Other {
       public int i;
    }
    和上面的很相似,都是關于final的問題,這有錯嗎?
    答案: 正確。在addOne method中,參數(shù)o被修飾成final。如果在addOne method里我們修改了oreference
    (
    比如: o = new Other();),那么如同上例這題也是錯的。但這里修改的是omember vairable
    (
    成員變量),而oreference并沒有改變。
    6.
    class Something {
        int i;
        public void doSomething() {
            System.out.println("i = " + i);
        }
    }
    有什么錯呢? 看不出來啊。
    答案: 正確。輸出的是"i = 0"int i屬於instant variable (實例變量,或叫成員變量)instant variabledefault valueintdefault value0
    7.
    class Something {
        final int i;
        public void doSomething() {
            System.out.println("i = " + i);
        }
    }
    和上面一題只有一個地方不同,就是多了一個final。這難道就錯了嗎?
    答案: 錯。final int i是個finalinstant variable (實例變量,或叫成員變量)finalinstant variable沒有default value,必須在constructor (構造器)結束之前被賦予一個明確的值。可以修改為"final int i = 0;"
    8.
    public class Something {
         public static void main(String[] args) {
            Something s = new Something();
            System.out.println("s.doSomething() returns " + doSomething());
        }
        public String doSomething() {
            return "Do something ...";
        }
    }
     
    看上去很完美。
    答案: 錯。看上去在maincall doSomething沒有什么問題,畢竟兩個methods都在同一個class里。但仔細看,mainstatic的。static method不能直接call non-static methods。可改成"System.out.println("s.doSomething() returns " + s.doSomething());"。同理,static method不能訪問non-static instant variable
    9.
    此處,Something類的文件名叫OtherThing.java
    class Something {
        private static void main(String[] something_to_do) {       
            System.out.println("Do something ...");
        }
    }
     
    這個好像很明顯。
    答案: 正確。從來沒有人說過JavaClass名字必須和其文件名相同。但public class的名字必須和文件名相同。
    10

    interface  A{
       int x = 0;
    }
    class B{
       int x =1;
    }
    class C extends B implements A {
       public void pX(){
          System.out.println(x);
       }
       public static void main(String[] args) {
          new C().pX();
       }
    }
    答案:錯誤。在編譯時會發(fā)生錯誤(錯誤描述不同的JVM有不同的信息,意思就是未明確的x調(diào)用,兩個x都匹配(就象在同時import java.utiljava.sql兩個包時直接聲明Date一樣)。對于父類的變量,可以用super.x來明確,而接口的屬性默認隱含為 public static final.所以可以通過A.x來明確。
    11.
    interface Playable {
        void play();
    }
    interface Bounceable {
        void play();
    }
    interface Rollable extends Playable, Bounceable {
        Ball ball = new Ball("PingPang");
    }
    class Ball implements Rollable {
        private String name;
        public String getName() {
            return name;
        }
        public Ball(String name) {
            this.name = name;       
        }
       public void play() {
            ball = new Ball("Football");
            System.out.println(ball.getName());
        }
    }
    這個錯誤不容易發(fā)現(xiàn)。
    答案: 錯。"interface Rollable extends Playable, Bounceable"沒有問題。interface可繼承多個interfaces,所以這里沒錯。問題出在interface Rollable里的"Ball ball = new Ball("PingPang");"。任何在interface里聲明的interface variable (接口變量,也可稱成員變量),默認為public static final。也就是說"Ball ball = new Ball("PingPang");"實際上是"public static final Ball ball = new Ball("PingPang");"。在Ball類的Play()方法中,"ball = new Ball("Football");"改變了ballreference,而這里的ball來自Rollable interfaceRollable interface里的ballpublic static final的,finalobject是不能被改變reference的。因此編譯器將在"ball = new Ball("Football");"這里顯示有錯。



    主站蜘蛛池模板: 亚洲综合免费视频| 四虎在线最新永久免费| 亚洲国产视频久久| 亚洲午夜精品久久久久久人妖| 国产成人精品免费视频大全五级| h视频在线免费看| 久久青草免费91线频观看不卡| 七次郎成人免费线路视频| 亚洲精品无码专区久久| 亚洲国产av高清无码| 色噜噜综合亚洲av中文无码| 亚洲日本va在线视频观看| 亚洲av无码专区在线观看素人| 在线播放免费播放av片| 国产妇乱子伦视频免费| 99久久免费中文字幕精品| 久久成人免费电影| 免费看搞黄视频网站| 手机看片国产免费永久| 久久精品免费大片国产大片| 香港经典a毛片免费观看看| 亚洲国产成人手机在线观看| 精品丝袜国产自在线拍亚洲| 亚洲人成电影青青在线播放| 亚洲嫩草影院在线观看| 亚洲精品电影在线| 亚洲精品视频免费在线观看| 亚洲精品中文字幕无乱码| 亚洲第一页在线播放| 亚洲成AV人综合在线观看| 亚洲激情视频网站| 狠狠色伊人亚洲综合网站色| 亚洲色少妇熟女11p| 亚洲AⅤ男人的天堂在线观看| 久久久久久亚洲精品无码| 无码天堂亚洲国产AV| 成人a毛片免费视频观看| 国产精品永久免费视频| 两个人看www免费视频| 鲁丝片一区二区三区免费| 香港a毛片免费观看|