日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java8面试题

發布時間:2023/12/3 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java8面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自? ?Java8面試題

問題一:

Java8支持函數編程是什么意思?

在Java 8之前,所有東西都是面向對象的。除了原語之外,java中的 所有內容都作為對象存在。對方法/函數的所有調用都是使用對象或類引用進行的。

方法/功能本身并不是獨立存在的。

使用Java 8,引入了函數式編程。所以我們可以使用匿名函數。Java是一種一流的面向對象語言。除了原始數據類型之外,Java中的所有內容都是一個對象。即使是一個數組也是一個對象。每個類都創建對象的實例。沒有辦法只定義一個獨立于Java的函數/方法。無法將方法作為參數傳遞或返回該實例的方法體。

?

問題二:

什么是Java8中的MetaSpace?它與PermGen Space有何不同?

使用JDK8時,permGen空間已被刪除。那么現在將元數據信息存儲在哪里?此元數據現在存儲在本機內存中,稱為“MetaSpace”。該內存不是連續的Java堆內存。它允許通過垃圾收集,自動調整,元數據并發解除分配來改進PermGen空間。

?

?

問題三:

什么是Lambda表達式?

Lambda Expression可以定義為允許用戶將方法作為參數傳遞的匿名函數。這有助于刪除大量的樣板代碼。Lambda函數沒有訪問修飾符(私有,公共或受保護),沒有返回類型聲明和沒有名稱。

Lambda表達式允許用戶將“函數”傳遞給代碼。所以,與以前需要一整套的接口/抽象類想必,我們可以更容易地編寫代碼。例如,假設我們的代碼具有一些復雜的循環/條件邏輯或工作流程。使用lambda表達式,在那些有難度的地方,可以得到很好的解決。

?

問題四:

lambda表達式的優點是什么?

Lambda函數的優點:

  • 直到Java 8列表和集合通常由客戶端代碼從集合中獲取迭代器來處理,然后使用它迭代其元素并依次處理每個元素。如果要并行處理不同的元素,那么客戶代碼而不是集合的責任就是組織它。 通過Java 8,可以更輕松地在多個線程上分發集合的處理。 集合現在可以在內部組織自己的迭代,將并行化的責任從客戶端代碼轉移到庫代碼中。

  • 更少的代碼行。如上所述,用戶必須僅以聲明方式聲明要執行的操作。 n > System.out.println(“Hello World”+ n); 所以用戶必須鍵入減少的代碼量。

  • 使用Java 8 Lambda表達式可以實現更高的效率。通過使用具有多核的CPU,用戶可以通過使用lambda并行處理集合來利用多核CPU。

?

問題五:

解釋Java 8內部與外部迭代?

外部迭代器 -此迭代器也稱為活動迭代器或顯式迭代器。對于這種類型的迭代器,元素迭代的控制是由程序員來完成的。這意味著將由程序員來定義何時以及如何調用下一個迭代元素。

內部迭代器 -此迭代器也稱為被動迭代器,隱式迭代器或回調迭代器。對于這種類型的迭代器,對迭代器元素的控制權在于迭代器本身。程序員只告訴迭代器“對集合的元素執行什么操作”。因此,程序員只需要聲明將要做什么,而不用管理和控制單個元素的迭代是如何發生的。

?

問題六:

解釋Java 8-中間操作與終端操作?

流操作可以分為兩部分:
中間操作 -返回另一個Stream的中間操作,允許操作以查詢的形式連接。?

終端操作 -產生非流,結果如原始值,集合或根本沒有值。

?

?

問題七:

什么是函數接口?

@FunctionalInterface是在Java 8中添加的新接口。 它表示該接口將用作功能接口。

package?com.javainuse;@FunctionalInterface public?interface?Greetings?{public?void?sayHello(String?name); }

此注釋是可選的。即使沒有用@FunctionalInterface注釋,接口仍然可以用作功能接口。 我們編寫lambda函數的接口應該只有一個方法。如果為一個接口注解的方法指定了多個方法,我們會得到一個編譯器異常無效的'@FunctionalInterface'注釋。

?

問題八:

Java 8中的可選項是什么?

Java 8引入了一個新的容器類java.util.Optional?。如果該值可用,它將包裝一個值。如果該值不可用,則應返回空的可選項。因此它代表空值,缺失值。這個類有各種實用方法,如isPresent(),它可以幫助用戶避免使用空值檢查。由于不直接返回值,而是返回包裝器對象,所以用戶可以避免空指針異常。

總結

以上是生活随笔為你收集整理的Java8面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。