大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 2020年Java高級面試題整理

2020年Java高級面試題整理

更新時間:2020-04-03 16:18:37 來源:動力節點 瀏覽3093次


  Java程序員面試考點包括Java基礎語法、集合、設計模式、多線程、JDK源碼、框架、數據庫、數據結構和算法分析等等。本文針對這些考試重點知識,整理匯總了2020年Java高級面試題


2020年Java高級面試題整理


  servlet執行流程


  客戶端發出http請求,web服務器將請求轉發到servlet容器,servlet容器解析url并根據web.xml找到相對應的servlet,并將request、response對象傳遞給找到的servlet,servlet根據request就可以知道是誰發出的請求,請求信息及其他信息,當servlet處理完業務邏輯后會將信息放入到response并響應到客戶端。


  springMVC的執行流程


  springMVC是由dispatchservlet為核心的分層控制框架。首先客戶端發出一個請求web服務器解析請求url并去匹配dispatchservlet的映射url,如果匹配上就將這個請求放入到dispatchservlet,dispatchservlet根據mapping映射配置去尋找相對應的handel,然后把處理權交給找到的handel,handel封裝了處理業務邏輯的代碼,當handel處理完后會返回一個邏輯視圖modelandview給dispatchservlet,此時的modelandview是一個邏輯視圖不是一個正式視圖,所以dispatchservlet會通過viewresource視圖資源去解析modelandview,然后將解析后的參數放到view中返回到客戶端并展現。


  給定一個txt文件,如何得到某字符串出現的次數


  File file = new File("E://test.txt");

  InputStream is = new FileInputStream(file);

  byte b[] = new byte[1024];

  int a = is.read(b);

  String str[] = new String(b,0,a).split("");

  int count = 0;

  for(int i = 0;i<str.length;i++){< p="">

  if("a".equals(str[i]))count++;

  }

  System.out.println(count);


  Java設計模式思想


  a) 單例模式:單例模式核心只需要new一個實例對象的模式,比如數據庫連接,在線人數等,一些網站上看到的在線人數統計就是通過單例模式實現的,把一個計時器存放在數據庫或者內存中,當有人登陸的時候取出來加一再放回去,有人退出登陸的時候取出來減一再放回去,但是當有兩個人同時登陸的時候,會同時取出計數器,同時加一,同時放回去,這樣的話數據就會錯誤,所以需要一個全局變量的對象給全部人使用,只需要new出一個實例對象,這就是單例模式的應用,并且單例模式節省資源,因為它控制了實例對象的個數,并有利于gc回收。


  b) 策略模式:就是將幾個類中公共的方法提取到一個新的類中,從而使擴展更容易,保證代碼的可移植性,可維護性強。比如有個需求是寫鴨子對象,鴨子有叫,飛,外形這三種方法,如果每個鴨子類都寫這三個方法會出現代碼的冗余,這時候我們可以把鴨子中的叫,飛,外形這三個方法提取出來,放到鴨父類中,讓每個鴨子都繼承這個鴨父類,重寫這三個方法,這樣封裝的代碼可移植性強,當用戶提出新的需求比如鴨子會游泳,那么對于我們oo程序員來講就非常簡單了我們只需要在鴨父類中加一個游泳的方法,讓會游泳的鴨子重寫游泳方法就可以了。


  c) 工廠模式:簡單的工廠模式主要是統一提供實例對象的引用,通過工廠模式接口獲取實例對象的引用。比如一個登陸功能,后端有三個類,controller類,interface類,實現接口的實現類。當客戶端發出一個請求,當請求傳到controller類中時,controller獲取接口的引用對象,而實現接口的實現類中封裝好了登陸的業務邏輯代碼。當你需要加一個注冊需求的時候只需要在接口類中加一個注冊方法,實現類中實現方法,controller獲取接口的引用對象即可,不需要改動原來的代碼,這種做法是的可拓展性強。


  冒泡排序、二分查找


  a) 冒泡

  public static void mp(int a[]) {

  int swap = 0;

  for (int i = 0; i < a.length; i++) {

  for (int j = i; j < a.length; j++) {

  if (a[j] > a[i]) {

  swap = a[i];

  a[i] = a[j];

  a[j] = swap;

  }

  }

  }

  System.out.println(Arrays.toString(a));

  }

  b)二分查找

  public static int ef(int a[], int tag) {

  int first = 0;

  int end = a.length;

  for (int i = 0; i < a.length; i++) {

  int middle = (first + end) / 2;

  if (tag == a[middle]) {

  return middle;

  }

  if (tag > a[middle]) {

  first = middle + 1;

  }

  if (tag < a[middle]) {

  end = middle - 1;

  }

  }

  return 0;

  }


  a) Ajax為異步請求,即局部刷新技術,在傳統的頁面中,用戶需要點擊按鈕或者事件觸發請求,到刷新頁面,而異步技術為不需要點擊即可觸發事件,這樣使得用戶體驗感增強,比如商城購物車的異步加載,當你點擊商品時無需請求后臺而直接動態修改參數。


  父類與子類之間的調用順序(打印結果)


  a) 父類靜態代碼塊


  b) 子類靜態代碼塊


  c) 父類構造方法


  d) 子類構造方法


  e) 子類普通方法


  f) 重寫父類的方法,則打印重寫后的方法


  內部類與外部類的調用


  a) 內部類可以直接調用外部類包括private的成員變量,使用外部類引用的this.關鍵字調用即可


  b) 而外部類調用內部類需要建立內部類對象


2020年Java高級面試題整理


  以上就是動力節點java培訓機構的小編針對“2020年Java高級面試題整理”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美日韩一区二区三在线 | 天天躁狠狠躁狠狠躁夜夜躁 | 亚洲码在线中文在线观看 | 伊人色婷婷 | 尤物国产在线精品福利一区 | 日日摸天天摸狠狠摸摸 | 欧美特欧美特级一片 | 九九99精品| 尹人成人网 | 青青青爽在线视频观看 | 日韩高清毛片 | 一级毛毛片 | 人成精品视频三区二区一区 | 99热成人精品热久久66 | 可以直接看的毛片 | 国产成人综合亚洲动漫在线 | 九九色视频在线观看 | 国产精品爱啪在线线免费观看 | 一级大毛片 | 亚洲欧洲日韩国产一区二区三区 | 亚洲大片免费 | 就操视频 | www.色涩| 欧美久久超级碰碰碰二区三区 | 欧美国产日韩久久久 | 国产精品香蕉成人网在线观看 | 国产一级特黄老妇女大片免费 | 国产福利精品在线 | 欧洲成人在线 | 999在线免费视频 | 999热在线精品观看全部 | 综合成人在线 | 三a大片| 成人综合网址 | 国产品精人成福利视频 | 高清在线亚洲精品国产二区 | 国产l精品国产亚洲区在线观看 | 免费一级毛片 | aaa黑人一级毛片 | 天天插天天射天天干 | 91情国产l精品国产亚洲区 |