国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ Java &#&面接の質(zhì)問 Java フレームワークの面接での質(zhì)問 (1)

Java フレームワークの面接での質(zhì)問 (1)

Dec 07, 2019 pm 03:03 PM
java

Java フレームワークの面接での質(zhì)問 (1)

Struts についての理解を話してください。

struts は、MVC パターンに従って設(shè)計された Web 層フレームワークであり、実際にはサーブレットです。このサーブレットは、ActionServlet、または ActionServlet のサブクラスと呼ばれます。 (推奨される調(diào)査: Java インタビューの質(zhì)問)

web.xml ファイル內(nèi)の特定の特性を満たすすべてのリクエストをこのサーブレットに渡して処理することができ、このサーブレットは設(shè)定を參照します。各リクエストは、処理のために異なるアクションに割り當てられます。

(Struts は複數(shù)の設(shè)定ファイルを持つことができ、各設(shè)定ファイルはモジュールに応じて設(shè)定できるため、設(shè)定ファイルの過度の拡張を防ぐことができます)

2. ActionServlet はリクエストをアクションに渡します。以前は、リクエスト パラメータは formbean オブジェクト (つまり、Java クラス、このクラスの各屬性はリクエスト パラメータに対応します)

3 にカプセル化されていました。ActionServlet は formbean オブジェクトを渡すことに注意してください。アクションに追加されます。実行メソッドの前に、検証のために formbean の validate メソッドが呼び出される場合があります。検証に合格した後でのみ、formbean オブジェクトがアクションの実行メソッドに渡されます。それ以外の場合は、エラー ページが返されます。このエラー ページは、 input 屬性で指定します。

4. アクションが実行されると、表示された結(jié)果ビューが返されます。この結(jié)果ビューは、ActionForward オブジェクトによって表されます。actionForward オブジェクトは、struts-config.xml の構(gòu)成を通じて JSP ページに関連付けられます設(shè)定ファイル。

プログラムは struts-config.xml 構(gòu)成ファイル內(nèi)の JSP ページに設(shè)定された論理名を使用するため、これにより、アクション プログラム コードと返される JSP ページ名を分離できます。

(上記では、自分自身の使用経験に基づいて自分の意見について話すこともできます)

Hibernate についての理解について話します。

1. オブジェクト指向ソフトウェアの內(nèi)部動作プロセスは、さまざまな新しいオブジェクトを絶えず作成し、オブジェクト間の関係を確立し、オブジェクトのメソッドを呼び出して各オブジェクトとオブジェクトの狀態(tài)を変更することとして理解できます。プログラムのプロセスや動作に関係なく、死というプロセスは本質(zhì)的には結(jié)果を得るためにあり、直前の瞬間と次の瞬間のプログラムの実行結(jié)果の差がオブジェクトの狀態(tài)の変化に反映されます。記憶の中で。

2. シャットダウン時やメモリ不足時にプログラムの実行狀態(tài)を維持するには、メモリ上のオブジェクトの狀態(tài)を永続化デバイスに保存し、永続化デバイスからオブジェクトの狀態(tài)を復(fù)元する必要があります。通常、大量のオブジェクト情報を保存するために、それらはすべてリレーショナル データベースに保存されます。

Java プログラムの実行機能という観點から見ると、オブジェクトの狀態(tài)を保存する機能は、システム操作の他の機能に比べて非常に目立たない補助的な機能であるはずですが、Java はこの機能を jdbc を使用して実裝しています。目を引く関數(shù)は大量のコードを記述する必要があり、実行するのはオブジェクトの保存とオブジェクトの復(fù)元だけであり、それらの大量の jdbc コードには技術(shù)的な內(nèi)容はなく、基本的に一連の日常的な標準コード テンプレートを使用して記述されます。それは大変な作業(yè)であり、繰り返しの作業(yè)です。

3. Java プログラムの実行中に生成されたオブジェクトとリカバリ オブジェクトをデータベースに保存すると、実際には、Java オブジェクトとリレーショナル データベース レコード間のマッピング関係が実現(xiàn)され、これは ORM (つまり、Object RelationMapping) と呼ばれます。この機能を?qū)g裝するには JDBC コードが使用され、カプセル化された製品は ORM フレームワークと呼ばれ、Hibernate は人気のある ORM フレームワークの 1 つです。

Hibernate フレームワークを使用すると、JDBC コードを記述する必要がありません。save メソッドを呼び出すだけで、オブジェクトをリレーショナル データベースに保存できます。get メソッドを呼び出すだけで、データベースからオブジェクトをロードできます。方法。

4. Hibernate を使用する基本プロセスは、Configuration オブジェクトの構(gòu)成、SessionFactory の生成、セッション オブジェクトの作成、トランザクションの開始、CRUD 操作の完了、トランザクションの送信、およびセッションの終了です。

5. Hibernate を使用する場合は、まずデータベース接続情報やダイアレクトなどを構(gòu)成する hibernate.cfg.xml ファイルを構(gòu)成し、各エンティティ、hibernate に対応する hbm.xml ファイルも構(gòu)成する必要があります。 .cfg.xml 各 hbm.xml ファイルをファイルに登録する必要があります。

6. Hibernate を適用する場合、セッション、カスケード、遅延読み込み、HQL クエリのキャッシュ原理を理解することが重要です。

(上記では、JDBC を使用した際の面倒な経験に基づいて、休止狀態(tài)についての感想を話すこともできます)

Spring についての理解を話します。

1. Spring はファクトリ パターンを?qū)g裝するファクトリ クラスです (ここでファクトリ パターンが何であるかを明確に説明する必要があります)。このクラスは BeanFactory と呼ばれます (実際にはインターフェイス)。 、通常は BeanFactory サブクラス ApplicationContext です。 Spring は大規(guī)模なファクトリ クラスに相當し、その構(gòu)成ファイルでは、インスタンス オブジェクトの作成に使用されるクラス名とインスタンス オブジェクトのプロパティが 要素によって構(gòu)成されます。

2. Spring は IOC を適切にサポートします。IOC はプログラミングのアイデアであり、アーキテクチャ技術(shù)です。このアイデアは、モジュール間の適切な分離を?qū)g現(xiàn)するために使用できます。IOC は DI (Depency Injection) とも呼ばれます。

3. Spring は、AOP テクノロジの優(yōu)れたカプセル化を提供します。AOP はアスペクト指向プログラミングと呼ばれます。これは、システム內(nèi)に無関係なクラスのメソッドが多數(shù)あることを意味します。特定のシステム関數(shù)のコードを、これらの多くのメソッドに追加する必要があります。 as 、ロギングの追加、許可判定の追加、例外処理の追加 このアプリケーションは AOP と呼ばれます。

AOP 関數(shù)はプロキシ テクノロジを使用して実裝されています。クライアント プログラムはターゲットを呼び出すのではなく、プロキシ クラスを呼び出します。プロキシ クラスとターゲット クラスは外部的に同じメソッド ステートメントを持ちます。実現(xiàn)するには 2 つの方法があります。同じメソッド ステートメント。1 つは同じインターフェイスを?qū)g裝するもので、もう 1 つはターゲットのサブクラスとして実裝するものです。

JDK では、Proxy クラスを使用して動的プロキシを生成し、インターフェイスの実裝クラスを生成しますが、特定のクラスのサブクラスを生成したい場合は、CGLI B を使用できます。

生成されたプロキシ クラスのメソッドに、システム関數(shù)と、ターゲット クラスを呼び出す対応するメソッドを追加します。システム関數(shù)のプロキシは、Advice オブジェクトとして提供されます。プロキシ オブジェクトを作成するには、次のようにします。少なくともターゲット クラスとアドバイス クラスが必要です。 Spring はこのサポートを提供しており、プロキシ機能と AOP 機能を?qū)g裝するには、Spring 構(gòu)成ファイルでこれら 2 つの要素を構(gòu)成するだけで済みます。

(上記については、自分の経験に基づいた意見を話すこともできます)

Struts の長所と短所について話す

利點:

1. 明確な構(gòu)造を持つ MVC パターンを?qū)g裝することで、開発者はビジネス ロジックの実裝のみに集中できるようになります。利用できるタグが豊富で、Strutsタグライブラリ(Taglib)を柔軟に活用すれば、開発効率が大幅に向上します

3. ページナビゲーションにより、システムのコンテキストがより明確になります。設(shè)定ファイルを通じてシステム全體の各部のつながりを把握することができ、後のメンテナンスに非常に役立ちます。この利點は、別の開発者グループがプロジェクトを引き継ぐ場合にさらに明らかになります。

4. 例外処理メカニズムを提供します。

5. データベース接続プールの管理

6. I18N

をサポートします。欠點:

まず、表示層に移動するときに、転送を設(shè)定する必要があります。表示層に 10 個の JSP がある場合、struts を 10 回設(shè)定する必要がありますが、これには、ディレクトリやファイルの変更は含まれません。注意: 構(gòu)成を変更するたびに、プロジェクト全體を再デプロイする必要があり、Tomcate のようなサーバーを再起動する必要があります。

次に、Struts のアクションはスレッドである必要があります。安全なため、1 つのインスタンスのみがすべての問い合わせを処理できます。したがって、アクションで使用されるすべてのリソースを均一に同期する必要があり、これによりスレッド セーフティの問題が発生します。

3つ目は、テストが不便であるという點で、Strutsの各アクションはWeb層と結(jié)合しているため、テストがWebコンテナに依存しており、単體テストの実裝も困難です。ただし、単體テストを?qū)g裝できる Junit 拡張ツール Struts TestCase があります。

4、型変換 Struts の FormBean はすべてのデータを String 型として扱い、型変換にはツール Commons-Beanutils を使用できます。ただし、その変換はすべてクラス レベルで行われ、変換タイプは構(gòu)成できません。型変換中にエラー メッセージをユーザーに返すことも非常に困難です。

5 番目に、サーブレットへの依存が強すぎるため、Struts は Action を処理するときに ServletRequest と ServletResponse に依存する必要があるため、Servlet コンテナを取り除くことができません。

6、フロントエンド式言語 Struts は JSTL を統(tǒng)合しているため、主に JSTL 式言語を使用してデータを取得します。ただし、JSTL の式言語は、コレクションとインデックスのプロパティの処理が非常に弱いです。

七、アクションの実行制御が難しい Struts でアクションを作成する場合、その実行順序を制御するのは非常に困難です。機能要件を?qū)g現(xiàn)するには、サーブレットを書き直す必要がある場合もあります。

八、アクション実行前後の処理 Strutsはアクション処理時にクラスベースの階層を利用しており、アクション処理前後の操作が難しいです。

9. イベントのサポートが不十分です。Struts では、フォームは実際に Action クラス (または DispatchAction) に対応します。つまり、Struts では、フォームは実際に 1 つのイベントにのみ対応します。Struts このイベント メソッドは、アプリケーション イベントはアプリケーション イベントと呼ばれます。コンポーネント イベントと比較すると、アプリケーション イベントは粒度の粗いイベントです。

iBatis と Hibernate の違いは何ですか?

同じ點: Shield the jdbc api を処理せずにデータにアクセスできるように、jdbc api の基礎(chǔ)となるアクセスの詳細を確認します。

jdbc API プログラミング プロセスは修正されており、SQL ステートメントと Java コードが混合されています。多くの場合、SQL ステートメントを結(jié)合する必要があり、詳細は非常に面倒です。

ibatis の利點: jdbc API の基礎(chǔ)となるアクセスの詳細を保護します。SQL ステートメントを Java コードから分離します。エンティティ オブジェクトとオブジェクトのコレクションと呼ばれる結(jié)果セットを自動的にカプセル化する機能を提供します。queryForList はオブジェクトのコレクションを返します。 queryForObject は単一のオブジェクトを返します。エンティティ オブジェクトのプロパティを SQL ステートメントに自動的に渡すパラメーターを提供します。

Hibernate は、完全に自動化された ORM マッピング ツールです。SQL ステートメントを自動的に生成できます。Ibatis では、XML 構(gòu)成ファイルに SQL ステートメントを自分で記述する必要があります。Hibernate は、ibatis よりもはるかに責任があり、強力です。 Hibernate は SQL ステートメントを自動的に生成するため、ステートメントを制御することはできず、具體的で効率的な SQL を作成することもできません。

それほど複雑ではない SQL クエリの場合、休止狀態(tài)を使用すると完了することができます。ただし、特に複雑なクエリの場合、休止狀態(tài)に適応するのは困難です?,F(xiàn)時點では、ibatis を使用するのが良い選択です。ibatis はまだ自分たちによって制御されているためです。 SQL文を書きます。

休止狀態(tài)で複數(shù)テーブルのクエリを?qū)g行する場合、各テーブルから複數(shù)のフィールドを取得するにはどうすればよいですか?つまり、クエリ結(jié)果セットには対応するエンティティ クラスがありません。この問題を解決するにはどうすればよいですか?

解決策 1: Object[] データに従ってデータを取り出し、自分で Bean を形成します

解決策 2: 各テーブルの Bean のコンストラクターを作成します。例: テーブル 1 2 つのフィールド field1 と field2 を検索すると、Bean(type1 filed1, type2 field2) というコンストラクターがあり、この Bean を HQL で直接生成できます。

Hibernate の 2 次キャッシュを紹介します

次の考え方に従って答えてください:

(1) まず、それを作成します。キャッシュの內(nèi)容をクリアします

(2) それに、hibernate のセッションは 1 次キャッシュです。つまり、1 次キャッシュがあるのに、なぜ 2 次キャッシュが必要なのでしょうか

( 3) 最後に、Hibernate. レベル 2 キャッシュの構(gòu)成方法について説明します。

1. キャッシュとは、以前にデータベースからクエリされ使用されたオブジェクトをメモリ (データ構(gòu)造內(nèi)) に保存することです。オブジェクトが將來使用される場合、このデータ構(gòu)造は通常、HashMap または HashMap に似ています。 , まず、キャッシュ內(nèi)にこのオブジェクトがあるかどうかをクエリします。

存在する場合は、キャッシュ內(nèi)のオブジェクトを使用します。存在しない場合は、データベースにクエリを?qū)g行し、次回使用するためにクエリされたオブジェクトをキャッシュに保存します。

2. Hibernate のセッションは一種のキャッシュです。通常、これを Hibernate の第 1 レベル キャッシュと呼びます。セッションを使用してデータベースのオブジェクトをクエリする場合、セッションは最初にそれが內(nèi)部に存在するかどうかもチェックします。このオブジェクトが存在する場合は直接返され、存在しない場合はデータベースにアクセスし、クエリ結(jié)果を內(nèi)部に保存します。

セッションはセッション プロセスを表し、セッションはデータベース接続に関連付けられているため、セッションを長時間開いたままにしないことをお勧めします。通常、セッションは 1 つのトランザクションでのみ使用され、次の時點で閉じる必要があります。取引の終わり。また、Session はスレッドセーフではなく、複數(shù)のスレッドで共有すると問題が発生しやすくなります。

通常、グローバルな意味でのキャッシュのみが実際のキャッシュ アプリケーションであり、より大きなキャッシュ価値を持っています。したがって、Hibernate のセッション レベル キャッシュのキャッシュ機能は明確ではなく、アプリケーションの価値は大きくありません。

Hibernate の 2 次キャッシュは、複數(shù)のスレッドと複數(shù)のトランザクションがこのキャッシュを共有できるように Hibernate のグローバル キャッシュを構(gòu)成するものです。

一度使用した人が他の人にも使用できるようにしたいと考えていますが、セッションにはこのような効果はありません。

3. 2 次キャッシュは Hibernate から獨立したソフトウェア コンポーネントであり、複數(shù)のメーカーや組織が EHCache や OSCache などのキャッシュ製品を提供しているサードパーティ製品です。 Hibernate で 2 次キャッシュを使用するには、まず、hibernate.cfg.xml 構(gòu)成ファイルで使用するメーカーのキャッシュ製品を構(gòu)成する必要があります。次に、キャッシュ製品獨自の構(gòu)成ファイルを構(gòu)成する必要があります。最後に、どのエンティティを構(gòu)成する必要がありますHibernate のオブジェクトを 2 次キャッシュの管理に含める必要があります。

2 次キャッシュの原理を理解し、この考え方を理解した後は、Hibernate の 2 次キャッシュを構(gòu)成するのは簡単です。

拡張知識: SessionFactory は 2 次キャッシュに関連付けることができます。つまり、2 次キャッシュは 1 つのデータベース內(nèi)のデータのキャッシュのみを擔當できます。Hibernate の 2 次キャッシュを使用する場合は、次の點に注意してください。他のアプリケーションや SessionFactory が現(xiàn)在のデータベース內(nèi)のデータを変更しないようにするため、キャッシュされたデータがデータベース內(nèi)の実際のデータと不一致になります。

JDO とは何ですか?

JDO は、Java オブジェクト永続性の新しい仕様です。Java データ オブジェクトの略語であり、一部のオブジェクトへのアクセスに使用されるデータ ウェアハウスでもあります。データの種類。 のオブジェクト用の標準化された API。 JDO は透過的なオブジェクト ストレージを提供するため、開発者はデータ オブジェクトを保存するために追加のコード (JDBC API の使用など) を必要としません。

これらの退屈な日常的なタスクは JDO 製品プロバイダーに移管され、開発者はビジネス ロジックに時間と労力を集中できるようになりました。さらに、JDO は基盤となるあらゆるデータ上で実行できるため、柔軟性があります。

比較: JDBC はリレーショナル データベース (RDBMS) 専用です。JDO はより汎用的で、リレーショナル データベース、ファイル、XML およびオブジェクト データベース (ODBMS) などのあらゆるデータの基礎(chǔ)となるストレージ機能を提供します。アプリケーションはよりポータブルになり、より強力になります。

Hibernate の 1 対多の雙方向関連付けと多対多の雙方向関連付けの違いは何ですか? ?

1 対多の関連マッピングと多対 1 の関連マッピングの基本原則は同じです。つまり、多の端に外部キーを追加して、多の端にある外部キーをポイントします。主な違いは、メンテナンス面が異なることです。

違いは、維持される関係にあります。

1 対多の関連付けマッピングは、一方の端からデータをロードする一方で、多數(shù)の端から複數(shù)のデータのペアをロードすることを指します。連想マッピングとは、一方の端のデータをロードしながら、一方の端のデータもロードすることを意味します。

Hibernate はどのように読み込みを遅延させますか?

1. Hibernate2 遅延読み込みの実裝: a) エンティティ オブジェクト b) コレクション (コレクション)

2. Hibernate3 は屬性の遅延ロード機能を提供します. Hibernate がデータをクエリするとき、データはメモリ上に存在しませんが、プログラムが実際にデータを操作するとき、オブジェクトはメモリ上に存在するため、遅延ロードが実現(xiàn)されます。サーバーのメモリ オーバーヘッドが節(jié)約されるため、サーバーのパフォーマンスが向上します。

以上がJava フレームワークの面接での質(zhì)問 (1)の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JDBCを使用してJavaのトランザクションを処理する方法は? JDBCを使用してJavaのトランザクションを処理する方法は? Aug 02, 2025 pm 12:29 PM

JDBCトランザクションを正しく処理するには、最初に自動コミットモードをオフにし、次に複數(shù)の操作を?qū)g行し、結(jié)果に応じて最終的にコミットまたはロールバックする必要があります。 1。CONN.SETAUTOCOMMIT(FALSE)を呼び出して、トランザクションを開始します。 2。挿入や更新など、複數(shù)のSQL操作を?qū)g行します。 3。すべての操作が成功した場合はconn.commit()を呼び出し、データの一貫性を確保するために例外が発生した場合はconn.rollback()を呼び出します。同時に、リソースを使用してリソースを管理し、例外を適切に処理し、接続を密接に接続するために、接続の漏れを避けるために使用する必要があります。さらに、接続プールを使用してセーブポイントを設(shè)定して部分的なロールバックを達成し、パフォーマンスを改善するためにトランザクションを可能な限り短く保つことをお勧めします。

Java仮想マシン(JVM)內(nèi)部の理解 Java仮想マシン(JVM)內(nèi)部の理解 Aug 01, 2025 am 06:31 AM

thejvmenablesjavaの「writeonce、runany where "capabilitybyexcuting byteCodeThethermainComponents:1。theClassLoaderSubSystemloads、links、andinitializes.classfilesusingbootStrap、拡張、およびアプリケーションクラスローロー、

Javaでカレンダーを操作する方法は? Javaでカレンダーを操作する方法は? Aug 02, 2025 am 02:38 AM

Java.Timeパッケージのクラスを使用して、古い日付とカレンダーのクラスを置き換えます。 2。LocalDate、LocalDateTime、LocalTimeを通じて現(xiàn)在の日付と時刻を取得します。 3。of()メソッドを使用して特定の日付と時刻を作成します。 4.プラス/マイナスメソッドを使用して、時間を不正に増加させて短縮します。 5. ZonedDateTimeとZoneIDを使用して、タイムゾーンを処理します。 6。DateTimeFormatterを介したフォーマットおよび解析の文字列。 7.インスタントを使用して、必要に応じて古い日付型と互換性があります?,F(xiàn)代のJavaでの日付処理は、java.timeapiを使用することを優(yōu)先する必要があります。

Javaフレームワークの比較:Spring Boot vs Quarkus vs Micronaut Javaフレームワークの比較:Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

Pre-formanceTartuptimeMemoryusage、quarkusandmicronautleadduetocopile-timeprocessingingandgraalvsupport、withquarkusoftentylightbetterine serverlessシナリオ。

ネットワークポートとファイアウォールの理解 ネットワークポートとファイアウォールの理解 Aug 01, 2025 am 06:40 AM

ネットワークポートアンドファイアワルクトグテルトエナブルコマニケーションwhiledensuringsecurity.1.networksarevirtualendpointsnumbered0–655 35、withwell-knownportslike80(http)、443(https)、22(ssh)、および25(smtp)識別pecificservices.2.portsoperateovertcp(信頼できる、c

Garbage CollectionはJavaでどのように機能しますか? Garbage CollectionはJavaでどのように機能しますか? Aug 02, 2025 pm 01:55 PM

JavaのGarbage Collection(GC)は、メモリを自動的に管理するメカニズムであり、到達不可能なオブジェクトを取り戻すことでメモリ漏れのリスクを軽減します。 1.GCルートオブジェクトからのオブジェクトのアクセシビリティ(スタック変數(shù)、アクティブスレッド、靜的フィールドなど)、および到達不可能なオブジェクトはゴミとしてマークされています。 2。マーククリアリングアルゴリズムに基づいて、すべての到達可能なオブジェクトをマークし、マークのないオブジェクトをクリアします。 3.世代の収集戦略を採用する:新世代(Eden、S0、S1)は頻繁にMinorGCを?qū)g行します。高齢者のパフォーマンスは少なくなりますが、MajorGCを?qū)g行するのに時間がかかります。 Metaspaceはクラスメタデータを保存します。 4。JVMはさまざまなGCデバイスを提供します。SerialGCは小さなアプリケーションに適しています。 ParallelGCはスループットを改善します。 CMSが減少します

Javaビルドツールの比較:Maven vs. Gradle Javaビルドツールの比較:Maven vs. Gradle Aug 03, 2025 pm 01:36 PM

gradleisthebetterchoiceformostnewprojectoitssuperorfficability、performance、andmoderntoolingsupport.1.gradle’sgroovy/kotlindslismoreconciseandexpressiveethanmaven’sverboseml.2.gradleorformsmavenbenbumebutedwitedwitedwitedspedexは

説明された延期聲明の例で進みます 説明された延期聲明の例で進みます Aug 02, 2025 am 06:26 AM

Deferは、クリーニングリソースなど、関數(shù)が戻る前に指定された操作を?qū)g行するために使用されます。パラメーターは、延期時にすぐに評価され、関數(shù)は最後のファーストアウト(LIFO)の順に実行されます。 1.複數(shù)の債務(wù)は、宣言の逆の順序で実行されます。 2.ファイルの閉鎖などの安全なクリーニングに一般的に使用されます。 3。指定された返品値を変更できます。 4.回復(fù)に適したパニックが発生した場合でも実行されます。 5。リソースの漏れを防ぐために、ループで延期の亂用を避けます。正しい使用により、コードのセキュリティと読みやすさが向上します。

See all articles