Java筆記試験の概要

今日の筆記試験で出た問題をまとめる

1. String型変数+int型変数?
コンパイルしてエラーが報告されるだろうと思っていましたが、テストした結果、それは文字列の連結であることがわかりました。
分析:
Java では、文字列と数値は「+」記号で直接接続されており、数値を文字列として扱います。これは Java の自動ボックス化メカニズムであり、最終的には文字列のスプライシングと同等です。

2. プロセス間の通信方法は何ですか?
分析: プロセス間通信方法には、パイプ、メッセージ キュー、セマフォ、共有メモリ、およびソケット ソケットが含まれます。(この部分はよく分からないので先にマークしておきます)

3. SQL インジェクションとは何ですか?また、それを防ぐ方法は何ですか?
おそらく、サーバーが特別に接続された SQL を通じてだまされ、安全でない操作を実行することを知っています。しかし、その表現は十分に明確ではありません。
分析: いわゆる SQL インジェクションとは、Web フォームに SQL コマンドを挿入して、ページ リクエストのドメイン名またはクエリ文字列を送信または入力し、最終的にサーバーをだまして悪意のある SQL コマンドを実行させることです。
防ぐ:

  • SQL の動的アセンブリは使用せず、パラメーター化された SQL を使用してください。
  • ユーザー入力を信頼したり、入力を検証したり、正規表現を使用したり、一重引用符を変換する長さを制限したりしないでください。

4. http プロトコルにおける get と post の違いは何ですか?
分析: get と post の両方がデータをサーバーに送信し、どちらもサーバーからデータを取得します。
違い:

  • 送信方法:getはアドレスバー経由、postはメッセージ経由で送信されます。
  • 送信の長さ: get パラメータの長さは制限されていますが (URL の長さによって制限されます)、投稿の長さは無制限です。
  • セキュリティ: get のセキュリティは非常に低く、post のセキュリティは高くなりますが、post の実行効率は get よりも高くなります。
  • get は 1 つの TCP パケットを生成し、post は 2 つの TCP パケットを生成します。(get の場合、ブラウザーはヘッダーとデータを一緒に送信し、サーバーは 200 (データを返す) で応答します。post の場合、ブラウザーは最初にヘッダーを送信し、サーバーは続行するために 100 で応答し、次にブラウザーが応答します。データを送信し、サーバーは 200 (データを返す) で応答します) (したがって、get は post よりも効率的ですが、安全ではないため、注意して使用する必要があります)

まとめ:
学習は長い積み重ねなので、問題に出会ったら、もっとまとめて、もっと考えましょう。

おすすめ

転載: blog.csdn.net/weixin_40307206/article/details/102473304