JavaRush /Java Blog /Random-JA /レベル 33. レベルのトピックに関するインタビューの質問への回答
Afli
レベル 41
Санкт-Петербург

レベル 33. レベルのトピックに関するインタビューの質問への回答

Random-JA グループに公開済み
質問/追加/批判は大歓迎です。 レベル 33. レベル - 1 のトピックに関するインタビューの質問への回答
  1. JSONとは何ですか?

    JSON (JavaScript Object Notation) は、JavaScript プログラミング言語のサブセットに基づく単純なデータ交換形式です。

  2. Java と JavaScript の違いは何ですか?

    名前は似ていますが、これらは 2 つの異なるプログラミング言語です。どちらも C に似た構文を持っています。違いは次のとおりです。

    • Java はクラスに基づいた OOP アプローチを実装し、JavaScript はプロトタイプに基づいて実装します。
    • Java には静的型付けがあり、JavaScript には動的型付けがあります。
    • Java はコンパイルされたバイトコードからロードされます。JavaScript はファイルから直接解釈されます。

    リンクするテキスト...

  3. JSON と XML の違いは何ですか?

    JSON はデータ交換形式です。

    XML はマークアップ言語です (一般に、構文、構造、データ型、およびそれらのモデルを指定できます)。

    どちらもデータ転送に使用できます。当然のことながら、両方の標準で動作するには、異なるフレームワークが使用され、構文も異なります。

  4. JSON を操作するためのフレームワークをご存知ですか?

    レベル 33 では、jackson フレームワークを紹介しました。さらに、さらに 3 つと、それらを比較した記事へのリンクを示します。

    1. FasterXML によるジャクソン
    2. JSON.simple by Yidong Fang
    3. Google の GSON
    4. Oracle の JSONP

    JSON を操作するための Java ライブラリの比較: JSON.simple、GSON、Jackson、および JSONP

  5. XML を操作するためのフレームワークをご存知ですか?

    XML はデータ表現形式であるため、XML を操作するためのさまざまなテクノロジが存在します。Java オブジェクトを XML にシリアル化するために使用されるテクノロジを示します。

    1. JAXB (JDK の J に含まれます)
    2. エックスストリーム

    XML を操作するためのさまざまなフレームワークの簡単な概要へのリンク: JAVA + XML

  6. どのようなジャクソンの注釈を知っていますか?

    講義で使用されたものを見てみましょう。

    • @JsonAutoDetect - クラスの前に配置されます。書き込みまたは読み取り時にこのクラスのフィールドを使用するようにジャクソンに指示します。括弧内では、パラメーター (fieldVisibility = JsonAutoDetect.Visibility.ANY) を設定して、使用されるフィールドの可視性を構成できます (デフォルトでは、パブリック フィールドのみが使用されます)。
    • @JsonIgnore - フィールドの前に配置されます。読み取り/書き込み時にこのフィールドを無視するように Jackson に指示します。
    • @JsonProperty - フィールド、ゲッター、またはセッターの前に配置されます。シリアル化中に別のフィールド名を指定できます。
    • @JsonWriteNullProperties - クラスの前に配置されます。null のオブジェクト フィールドは無視されません。
    • @JsonPropertyOrder - クラスの前に配置されます。Java オブジェクトのフィールドが JSON にシリアル化される順序を定義できます。
    • @JsonDeserialize - フィールドの前に配置されます。JSON オブジェクトを逆シリアル化するクラスを定義できます。たとえば、Java では、配列とリストは配列にシリアル化され、逆シリアル化中に、何を受け取りたいかを正確に選択できます。

    これは、いくつかの注釈が含まれるサイトへのリンクです: Jackson Annotations

  7. どのような JAXB アノテーションを知っていますか?

    また、講義で使用されたものだけを分析します。

    • @XmlRootElement - クラスの前に配置されます。このオブジェクトがトップレベルの要素である可能性があることを示します。他のすべての要素はその中にあります。
    • @XmlType - クラスの前に配置されます。XML スキーマに追加情報を追加します。要素の順序、名前などのいくつかの属性を指定できます。
    • @XmlElement - フィールドの前に配置されます。XML要素名やデフォルト値などを設定できます。
    • @XmlAttribute - フィールドの前に配置されます。フィールドは XML 属性として表されます。
    • @XmlElementWrapper - フィールドまたはゲッターの前に配置されます。要素のグループの境界タグを作成できます。
    • @XmlJavaTypeAdapter - クラスの前に配置されます。このクラスのマーシャリング/アンマーシャリングに必要な補助アダプター クラスは括弧内に示されています。
    • @XmlEnum - enum の前に配置されます。括弧内では、列挙値が表現される型を指定できます。
    • @XmlEnumValue — enum 値の前に配置されます。特定の列挙値に特別な値を指定できます。

    これは、いくつかの注釈を含むサイトへのリンクです(注釈の正しい翻訳を作成できなかったことをお詫びします。情報は理解できますが、ロシア語で正しく言う方法がまったくわかりません)。https:// jaxb.java.net/tutorial/index.html

  8. JSON のシリアル化と逆シリアル化の違いは何ですか?

    質問の本質が分かりませんでした。2 つの相互プロセスを比較することに何の意味もありません。おそらくこれは JSON と XML を比較することを目的としたもので、このトピックへのリンクは次の質問に記載されています。

  9. JSON と XML はどちらが優れていますか? なぜ?

    JSON と XML を比較する素晴らしい記事「JSON と XML」を次に示します。何が良いでしょうか?

    おそらく、何かが優れていると言うのは不可能です。選択するときは、タスク自体と、何がより効果的に使用できるかを考慮する必要があります。さらに、選択は開発者の個人的な好みに依存する場合があります。

  10. DTOとは何ですか?

    DTO (データ転送オブジェクト) は、データを扱うためのロジックを持たないデータを含むデザイン パターンです。DTO は通常、異なるアプリケーション間、または同じアプリケーション内のレイヤー間でデータを転送するために使用されます。これらは、情報を受信者に伝えることを唯一の目的とする情報のリポジトリとみなすことができます。

レベル 33. レベル - 2 のトピックに関するインタビューの質問への回答
2016 年 11 月 10 日 15.50 に更新

コメントに従い、質問No.2、No.3を修正しました。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION