主頁 > 軟體設計 > Spring Boot的面試題

Spring Boot的面試題

2020-09-12 00:03:02 軟體設計

Spring Boot 是微服務中最好的 Java 框架. 我們建議你能夠成為一名 Spring Boot 的專家,本文精選了三十五個常見的Spring Boot知識點,祝你一臂之力!

問題一

 

Spring Boot、Spring MVC 和 Spring 有什么區別?

1、Spring

Spring最重要的特征是依賴注入,所有 SpringModules 不是依賴注入就是 IOC 控制反轉,

當我們恰當的使用 DI 或者是 IOC 的時候,我們可以開發松耦合應用,松耦合應用的單元測驗可以很容易的進行,

2、Spring MVC

Spring MVC 提供了一種分離式的方法來開發 Web 應用,通過運用像 DispatcherServelet,MoudlAndView 和 ViewResolver 等一些簡單的概念,開發 Web 應用將會變的非常簡單,

3、SpringBoot

Spring 和 SpringMVC 的問題在于需要配置大量的引數,

Spring Boot 通過一個自動配置和啟動的項來目解決這個問題,為了更快的構建產品就緒應用程式,Spring Boot 提供了一些非功能性特征,

 

問題二

 

什么是自動配置?

Spring 和 SpringMVC 的問題在于需要配置大量的引數,

我們能否帶來更多的智能?當一個 MVC JAR 添加到應用程式中的時候,我們能否自動配置一些 beans?

Spring 查看(CLASSPATH 上可用的框架)已存在的應用程式的配置,在此基礎上,Spring Boot 提供了配置應用程式和框架所需要的基本配置,這就是自動配置,

 

問題三

 

什么是 Spring Boot Stater ?

啟動器是一套方便的依賴沒描述符,它可以放在自己的程式中,你可以一站式的獲取你所需要的 Spring 和相關技術,而不需要依賴描述符的通過示例代碼搜索和復制黏貼的負載,

例如,如果你想使用 Sping 和 JPA 訪問資料庫,只需要你的專案包含 spring-boot-starter-data-jpa 依賴項,你就可以完美進行, 

問題四

 

你能否舉一個例子來解釋更多 Staters 的內容?

讓我們來思考一個 Stater 的例子 -Spring Boot Stater Web,

如果你想開發一個 web 應用程式或者是公開 REST 服務的應用程式,Spring Boot Start Web 是首選,讓我們使用 Spring Initializr 創建一個 Spring Boot Start Web 的快速專案,

Spring Boot Start Web 的依賴項

下面的截圖是添加進我們應用程式的不同的依賴項

依賴項可以被分為:

  • Spring - core,beans,context,aop

  • Web MVC - (Spring MVC)

  • Jackson - for JSON Binding

  • Validation - Hibernate,Validation API

  • Enbedded Servlet Container - Tomcat

  • Logging - logback,slf4j

任何經典的 Web 應用程式都會使用所有這些依賴項,Spring Boot Starter Web 預先打包了這些依賴項,

作為一個開發者,我不需要再擔心這些依賴項和它們的兼容版本,

 

問題五

 

Spring Boot 還提供了其它的哪些 Starter Project Options?

Spring Boot 也提供了其它的啟動器專案包括,包括用于開發特定型別應用程式的典型依賴項,

  • spring-boot-starter-web-services - SOAP Web Services;

  • spring-boot-starter-web - Web 和 RESTful 應用程式;

  • spring-boot-starter-test - 單元測驗和集成測驗;

  • spring-boot-starter-jdbc - 傳統的 JDBC;

  • spring-boot-starter-hateoas - 為服務添加 HATEOAS 功能;

  • spring-boot-starter-security - 使用 SpringSecurity 進行身份驗證和授權;

  • spring-boot-starter-data-jpa - 帶有 Hibeernate 的 Spring Data JPA;

  • spring-boot-starter-data-rest - 使用 Spring Data REST 公布簡單的 REST 服務;

 

問題六

 

Spring 是如何快速創建產品就緒應用程式的?

Spring Boot 致力于快速產品就緒應用程式,為此,它提供了一些譬如高速快取,日志記錄,監控和嵌入式服務器等開箱即用的非功能性特征,

spring-boot-starter-actuator - 使用一些如監控和跟蹤應用的高級功能

spring-boot-starter-undertow, spring-boot-starter-jetty, spring-boot-starter-tomcat - 選擇您的特定嵌入式 Servlet 容器

spring-boot-starter-logging - 使用 logback 進行日志記錄

spring-boot-starter-cache - 啟用 Spring Framework 的快取支持

###Spring2 和 Spring5 所需要的最低 Java 版本是什么?

Spring Boot 2.0 需要 Java8 或者更新的版本,Java6 和 Java7 已經不再支持,

推薦閱讀:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0.0-M1-Release-Notes

 

問題七

 

創建一個 Spring Boot Project 的最簡單的方法是什么?

Spring Initializr是啟動 Spring Boot Projects 的一個很好的工具,

就像上圖中所展示的一樣,我們需要做一下幾步:

  • 登錄 Spring Initializr,按照以下方式進行選擇:

  • 選擇 com.in28minutes.springboot 為組

  • 選擇 studet-services 為組件

  • 選擇下面的依賴項

  • Web

  • Actuator

  • DevTools

  • 點擊生 GenerateProject

  • 將專案匯入 Eclipse,檔案 - 匯入 - 現有的 Maven 專案

 

問題八

 

Spring Initializr 是創建 Spring Boot Projects 的唯一方法嗎?

不是的,

Spring Initiatlizr 讓創建 Spring Boot 專案變的很容易,但是,你也可以通過設定一個 maven 專案并添加正確的依賴項來開始一個專案,

在我們的 Spring 課程中,我們使用兩種方法來創建專案,

第一種方法是 start.spring.io ,
另外一種方法是在專案的標題為“Basic Web Application”處進行手動設定,

手動設定一個 maven 專案

這里有幾個重要的步驟:

  • 在 Eclipse 中,使用檔案 - 新建 Maven 專案來創建一個新專案

  • 添加依賴項,

  • 添加 maven 插件,

  • 添加 Spring Boot 應用程式類,

到這里,準備作業已經做好!

 

問題九

 

為什么我們需要 spring-boot-maven-plugin?

spring-boot-maven-plugin 提供了一些像 jar 一樣打包或者運行應用程式的命令,

  • spring-boot:run 運行你的 SpringBooty 應用程式,

  • spring-boot:repackage 重新打包你的 jar 包或者是 war 包使其可執行

  • spring-boot:start 和 spring-boot:stop 管理 Spring Boot 應用程式的生命周期(也可以說是為了集成測驗),

  • spring-boot:build-info 生成執行器可以使用的構造資訊,

 

問題十

 

如何使用 SpringBoot 自動重裝我的應用程式?

使用 Spring Boot 開發工具,

把 Spring Boot 開發工具添加進入你的專案是簡單的,

把下面的依賴項添加至你的 Spring Boot Project pom.xml 中

重啟應用程式,然后就可以了,

同樣的,如果你想自動裝載頁面,有可以看看 FiveReload

  • http://www.logicbig.com/tutorials/spring-framework/spring-boot/boot-live-reload/.

在我測驗的時候,發現了 LiveReload 漏洞,如果你測驗時也發現了,請一定要告訴我們,

 

問題十一

 

什么是嵌入式服務器?我們為什么要使用嵌入式服務器呢?

思考一下在你的虛擬機上部署應用程式需要些什么,

第一步: 安裝 Java

第二部: 安裝 Web 或者是應用程式的服務器(Tomat/Wbesphere/Weblogic 等等)

第三部: 部署應用程式 war 包

如果我們想簡化這些步驟,應該如何做呢?

讓我們來思考如何使服務器成為應用程式的一部分?

你只需要一個安裝了 Java 的虛擬機,就可以直接在上面部署應用程式了,
是不是很爽?

這個想法是嵌入式服務器的起源,

當我們創建一個可以部署的應用程式的時候,我們將會把服務器(例如,tomcat)嵌入到可部署的服務器中,

例如,對于一個 Spring Boot 應用程式來說,你可以生成一個包含 Embedded Tomcat 的應用程式 jar,你就可以想運行正常 Java 應用程式一樣來運行 web 應用程式了,

嵌入式服務器就是我們的可執行單元包含服務器的二進制檔案(例如,tomcat.jar),

 

問題十二

 

如何在 Spring Boot 中添加通用的 JS 代碼?

在源檔案夾下,創建一個名為 static 的檔案夾,然后,你可以把你的靜態的內容放在這里面,

例如,myapp.js 的路徑是 resources\static\js\myapp.js

你可以參考它在 jsp 中的使用方法:

錯誤:HAL browser gives me unauthorized error - Full authenticaition is required to access this resource.

該如何來修復這個錯誤呢?

兩種方法:

方法 1:關閉安全驗證

application.properties

management.security.enabled:FALSE

方法二:在日志中搜索密碼并傳遞至請求標頭中

 

問題十三

 

什么是 Spring Data?

來自://projects.spring.io/spring- data/

Spring Data 的使命是在保證底層資料存盤特殊性的前提下,為資料訪問提供一個熟悉的,一致性的,基于 Spring 的編程模型,這使得使用資料訪問技術,關系資料庫和非關系資料庫,map-reduce 框架以及基于云的資料服務變得很容易,

為了讓它更簡單一些,Spring Data 提供了不受底層資料源限制的 Abstractions 介面,

下面來舉一個例子:

你可以定義一簡單的庫,用來插入,更新,洗掉和檢索代辦事項,而不需要撰寫大量的代碼,

 

問題十四

 

什么是 Spring Data REST?

Spring Data TEST 可以用來發布關于 Spring 資料庫的 HATEOAS RESTful 資源,

下面是一個使用 JPA 的例子:

不需要寫太多代碼,我們可以發布關于 Spring 資料庫的 RESTful API,

下面展示的是一些關于 TEST 服務器的例子

POST:

  • URL:http://localhost:8080/todos

  • Use Header:Content-Type:Type:application/json

  • Request Content

代碼如下:

回應內容:

回應包含新創建資源的 href,

 

問題十五

 

path=”users”, collectionResourceRel=”users” 如何與 Spring Data Rest 一起使用?

  • path- 這個資源要匯出的路徑段,

  • collectionResourceRel- 生成指向集合資源的鏈接時使用的 rel 值,在生成 HATEOAS 鏈接時使用,

 

問題十六

 

當 Spring Boot 應用程式作為 Java 應用程式運行時,后臺會發生什么?

如果你使用 Eclipse IDE,Eclipse maven 插件確保依賴項或者類檔案的改變一經添加,就會被編譯并在目標檔案中準備好!在這之后,就和其它的 Java 應用程式一樣了,

當你啟動 java 應用程式的時候,spring boot 自動組態檔就會魔法般的啟用了,

  • 當 Spring Boot 應用程式檢測到你正在開發一個 web 應用程式的時候,它就會啟動 tomcat,

 

問題十七

 

我們能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?

在 spring-boot-starter-web 移除現有的依賴項,并把下面這些添加進去,

問題十八

 

如何使用 Spring Boot 生成一個 WAR 檔案?

推薦閱讀:

  • https://spring.io/guides/gs/convert-jar-to-war/

下面有 spring 說明檔案直接的鏈接地址:

  • https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#build-tool-plugins-maven-packaging

 

問題十九

 

如何使用 Spring Boot 部署到不同的服務器?

你需要做下面兩個步驟:

  • 在一個專案中生成一個 war 檔案,

  • 將它部署到你最喜歡的服務器(websphere 或者 Weblogic 或者 Tomcat and so on),

第一步:這本入門指南應該有所幫助:
https://spring.io/guides/gs/convert-jar-to-war/

第二步:取決于你的服務器,

 

問題二十

 

RequestMapping 和 GetMapping 的不同之處在哪里?

  • RequestMapping 具有類屬性的,可以進行 GET,POST,PUT 或者其它的注釋中具有的請求方法,

  • GetMapping 是 GET 請求方法中的一個特例,它只是 ResquestMapping 的一個延伸,目的是為了提高清晰度,

 

問題二十一

 

為什么我們不建議在實際的應用程式中使用 Spring Data Rest?

我們認為 Spring Data Rest 很適合快速原型制造!在大型應用程式中使用需要謹慎,

通過 Spring Data REST 你可以把你的資料物體作為 RESTful 服務直接發布,

當你設計 RESTful 服務器的時候,最佳實踐表明,你的介面應該考慮到兩件重要的事情:

  • 你的模型范圍,

  • 你的客戶,

通過 With Spring Data REST,你不需要再考慮這兩個方面,只需要作為 TEST 服務發布物體,

這就是為什么我們建議使用 Spring Data Rest 在快速原型構造上面,或者作為專案的初始解決方法,對于完整演變專案來說,這并不是一個好的注意,

 

問題二十二

 

在 Spring Initializer 中,如何改變一個專案的包名字?

好訊息是你可以定制它,點擊鏈接“轉到完整版本”,你可以配置你想要修改的包名稱!

 

問題二十三

 

可以配置 application.propertierde 的完整的屬性串列在哪里可以找到?

這里是完整的指南:

  • https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

 

問題二十四

 

JPA 和 Hibernate 有哪些區別?

簡而言之

  • JPA 是一個規范或者介面

  • Hibernate 是 JPA 的一個實作

當我們使用 JPA 的時候,我們使用 javax.persistence 包中的注釋和介面時,不需要使用 hibernate 的匯入包,

我們建議使用 JPA 注釋,因為哦我們沒有將其系結到 Hibernate 作為實作,后來(我知道 - 小于百分之一的幾率),我們可以使用另一種 JPA 實作,

 

問題二十五

 

業務邊界應該從哪一層開始?

我們建議在服務層管理義務,商業業務邏輯在商業層或者服務層,與此同時,你想要執行的業務管理也在該層,

 

問題二十六

 

使用 Spring Boot 啟動連接到記憶體資料庫 H2 的 JPA 應用程式需要哪些依賴項?

在 Spring Boot 專案中,當你確保下面的依賴項都在類路里面的時候,你可以加載 H2 控制臺,

  • web 啟動器

  • h2

  • jpa 資料啟動器

其它的依賴項在下面:

需要注意的一些地方:

  • 一個內部資料記憶體只在應用程式執行期間存在,這是學習框架的有效方式,

  • 這不是你希望的真是世界應用程式的方式,

  • 在問題“如何連接一個外部資料庫?”中,我們解釋了如何連接一個你所選擇的資料庫,

 

問題二十七

 

如何不通過任何配置來選擇 Hibernate 作為 JPA 的默認實作?

因為 Spring Boot 是自動配置的,

下面是我們添加的依賴項:

spring-boot-stater-data-jpa 對于 Hibernate 和 JPA 有過渡依賴性,

當 Spring Boot 在類路徑中檢測到 Hibernate 中,將會自動配置它為默認的 JPA 實作,

 

問題二十八

 

指定的資料庫連接資訊在哪里?它是如何知道自動連接至 H2 的?

這就是 Spring Boot 自動配置的魔力,

來自:https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-auto-configuration.html

Spring Boot auto-configuration 試圖自動配置你已經添加的基于 jar 依賴項的 Spring 應用程式,比如說,如果 HSQLDBis 存在你的類路徑中,并且,資料庫連接 bean 還沒有手動配置,那么我們可以自動配置一個記憶體資料庫,

進一步的閱讀:

http://www.springboottutorial.com/spring-boot-auto-configuration

 

問題二十九

 

我們如何連接一個像 MySQL 或者Orcale 一樣的外部資料庫?

讓我們以 MySQL 為例來思考這個問題:

第一步 - 把 mysql 連接器的依賴項添加至 pom.xml

第二步 - 從 pom.xml 中移除 H2 的依賴項

或者至少把它作為測驗的范圍,

第三步 - 安裝你的 MySQL 資料庫

更多的來看看這里 -https://github.com/in28minutes/jpa-with-hibernate#installing-and-setting-up-mysql

第四步 - 配置你的 MySQL 資料庫連接

配置 application.properties

spring.jpa.hibernate.ddl-auto=none spring.datasource.url=jdbc:mysql://localhost:3306/todo_example spring.datasource.username=todouser spring.datasource.password=YOUR_PASSWORD  

第五步 - 重新啟動,你就準備好了!

就是這么簡單!

 

問題三十

 

Spring Boot 配置的默認 H2 資料庫的名字是上面?為什么默認的資料庫名字是 testdb?

在 application.properties 里面,列出了所有的默認值

  • https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

找到下面的屬性

# Name of the datasource.

spring.datasource.name=testdb 

如果你使用了 H2 內部存盤資料庫,它里面確定了 Spring Boot 用來安裝你的 H2 資料庫的名字,

 

問題三十一

 

如果 H2 不在類路徑里面,會出現上面情況?

將會報下面的錯誤

Cannot determine embedded database driver class for database type NONE

把 H2 添加至 pom.xml 中,然后重啟你的服務器

 

問題三十二

 

你能否舉一個以 ReadOnly 為事務管理的例子?

  • 當你從資料庫讀取內容的時候,你想把事物中的用戶描述或者是其它描述設定為只讀模式,以便于 Hebernate 不需要再次檢查物體的變化,這是非常高效的,

 

問題三十三

 

發布 Spring Boot 用戶應用程式自定義配置的最好方法是什么?

@Value 的問題在于,您可以通過應用程式分配你配置值,更好的操作是采取集中的方法,
你可以使用 @ConfigurationProperties 定義一個配置組件,

你可以在 application.properties 中配置引數,

basic.value: true 

basic.message: Dynamic Message 

basic.number: 100

 

問題三十四

 

組態檔的需求是什么?

企業應用程式的開發是復雜的,你需要混合的環境:

  • Dev

  • QA

  • Stage

  • Production

在每個環境中,你想要不同的應用程式配置,

組態檔有助于在不同的環境中進行不同的應用程式配置,

Spring 和 Spring Boot 提供了你可以制定的功能,

  • 不同組態檔中,不同環境的配置是什么?

  • 為一個制定的環境設定活動的組態檔,

Spring Boot 將會根據特定環境中設定的活動組態檔來選擇應用程式的配置,

問題三十五

 

如何使用組態檔通過 Spring Boot 配置特定環境的配置?

組態檔不是設別環境的關鍵,

在下面的例子中,我們將會用到兩個組態檔

  • dev

  • prod

預設的應用程式配置在 application.properties 中,讓我們來看下面的例子:

application.properties

basic.value= https://www.cnblogs.com/pal857/p/true

basic.message= Dynamic Message 

basic.number= 100

我們想要為 dev 檔案自定義 application.properties 屬性,我們需要創建一個名為 application-dev.properties 的檔案,并且重寫我們想要自定義的屬性,

application-dev.properties

basic.message: Dynamic Message in DEV

一旦你特定配置了組態檔,你需要在環境中設定一個活動的組態檔,

有多種方法可以做到這一點:

    • 在 VM 引數中使用 Dspring.profiles.active=prod

    • 在 application.properties 中使用 spring.profiles.active=prod

    • 1、什么是springboot 
      用來簡化spring應用的初始搭建以及開發程序 使用特定的方式來進行配置(properties或yml檔案) 
      創建獨立的spring參考程式 main方法運行 
      嵌入的Tomcat 無需部署war檔案 
      簡化maven配置 
      自動配置spring添加對應功能starter自動化配置 
      答:spring boot來簡化spring應用開發,約定大于配置,去繁從簡,just run就能創建一個獨立的,產品級別的應用

      2、Spring Boot有哪些優點? 
      答:-快速創建獨立運行的spring專案與主流框架集成 
      -使用嵌入式的servlet容器,應用無需打包成war包 
      -starters自動依賴與版本控制 
      -大量的自動配置,簡化開發,也可修改默認值 
      -準生產環境的運行應用監控 
      -與云計算的天然集成

      3、如何重新加載Spring Boot上的更改,而無需重新啟動服務器? 
      這可以使用DEV工具來實作,通過這種依賴關系,您可以節省任何更改,嵌入式tomcat將重新啟動, 
      Spring Boot有一個開發工具(DevTools)模塊,它有助于提高開發人員的生產力,Java開發人員面臨的一個主要挑戰是將檔案更改自動部署到服務器并自動重啟服務器, 
      開發人員可以重新加載Spring Boot上的更改,而無需重新啟動服務器,這將消除每次手動部署更改的需要,Spring Boot在發布它的第一個版本時沒有這個功能, 
      這是開發人員最需要的功能,DevTools模塊完全滿足開發人員的需求,該模塊將在生產環境中被禁用,它還提供H2資料庫控制臺以更好地測驗應用程式, 

      org.springframework.boot 
      spring-boot-devtools 
      true 
      4、Spring Boot中的監視器是什么? 
      Spring boot actuator是spring啟動框架中的重要功能之一,Spring boot監視器可幫助您訪問生產環境中正在運行的應用程式的當前狀態, 
      有幾個指標必須在生產環境中進行檢查和監控,即使一些外部應用程式可能正在使用這些服務來向相關人員觸發警報訊息,監視器模塊公開了一組可直接作為HTTP URL訪問的REST端點來檢查狀態,

      5、什么是YAML? 
      YAML是一種人類可讀的資料序列化語言,它通常用于組態檔, 
      與屬性檔案相比,如果我們想要在組態檔中添加復雜的屬性,YAML檔案就更加結構化,而且更少混淆,可以看出YAML具有分層配置資料,

      6、springboot自動配置的原理 
      在spring程式main方法中 添加@SpringBootApplication或者@EnableAutoConfiguration 
      會自動去maven中讀取每個starter中的spring.factories檔案 該檔案里配置了所有需要被創建spring容器中的bean

      7、springboot讀取組態檔的方式 
      springboot默認讀取組態檔為application.properties或者是application.yml

      8、springboot集成mybatis的程序 
      添加mybatis的starter maven依賴 

      org.mybatis.spring.boot 
      mybatis-spring-boot-starter 
      1.2.0 

      在mybatis的介面中 添加@Mapper注解 
      在application.yml配置資料源資訊

      9、Spring Boot 的核心注解是哪個?它主要由哪幾個注解組成的?

      啟動類上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要組合包含了以下 3 個注解:

      @SpringBootConfiguration:組合了 @Configuration 注解,實作組態檔的功能,

      @EnableAutoConfiguration:打開自動配置的功能,也可以關閉某個自動配置的選項,如關閉資料源自動配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }),

      @ComponentScan:Spring組件掃描,

      10、開啟 Spring Boot 特性有哪幾種方式?

      1)繼承spring-boot-starter-parent專案

      2)匯入spring-boot-dependencies專案依賴

      11、Spring Boot 需要獨立的容器運行嗎?

      可以不需要,內置了 Tomcat/ Jetty 等容器,

      12、運行 Spring Boot 有哪幾種方式?

      1)打包用命令或者放到容器中運行

      2)用 Maven/ Gradle 插件運行

      3)直接執行 main 方法運行

      13、你如何理解 Spring Boot 中的 Starters?

      Starters可以理解為啟動器,它包含了一系列可以集成到應用里面的依賴包,你可以一站式集成 Spring 及其他技術,而不需要到處找示例代碼和依賴包,如你想使用 Spring JPA 訪問資料庫,只要加入 spring-boot-starter-data-jpa 啟動器依賴就能使用了,

      14、Spring Boot 支持哪些日志框架?推薦和默認的日志框架是哪個?

      Spring Boot 支持 Java Util Logging, Log4j2, Lockback 作為日志框架,如果你使用 Starters 啟動器,Spring Boot 將使用 Logback 作為默認日志框架.

      15、SpringBoot 實作熱部署有哪幾種方式?

      主要有兩種方式:

      • Spring Loaded
      • Spring-boot-devtools  

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/8460.html

標籤:架構設計

上一篇:Harbor鏡像倉庫搭建

下一篇:架構基本概念和架構本質

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more