ソフトウェア工学トレーニングデイの概要Javaベースのフレームワークの概要とレビュー

トレーニングの概要(A)

1 、トレーニングコンテンツ:

研修の主な内容の最初の日は以下のとおりです。

(1)レビューJavaのような、ベースのJava クラス、オブジェクト、コレクション、アレイ。教師が終わった後も、私たちの統合に対応するいくつかの例を行うにはいくつかの時間与えJavaのプログラミング機能を。

(2)コードの仕様を説明するために、教師が会社コード仕様でそれを行う方法を私たちに説明し、コメント記号の種類は、脚注を書くために何を、どのような位置で使用します。

(3)に使用されるいくつかの企業へのダウンウェブのような開発フレームワーク、SSM SSH springboot など。先生は今も私たちに語ったJDBC 企業内のデータベースへの道リンクが時代遅れになってきた、彼はフレームに置き換えられました。

(4)と呼ばれるMavenの開発プロジェクト、およびでMavenの注釈項目の効果の一部、およびMavenの完全な項目データ転送処理順序。

2、学習印象

講義の過程で、私は多くのことを学びました。休日は書いていないJavaの私は多くのことが忘れられていると感じたコード、言葉に書かれたコードをかが、スピードが今日までの時間を遅くたくさんあったが、半日があり、私が上に行くためにのためにオンラインで見つけることができますJavaの基本的な感情は非常にまだありますそれは必要でした。

レビューではJavaのプロセス、私も私の質問のいくつかを発見し、私はデータベースの操作に精通しています、見つけて、コピー&ペーストのコードも非常に精通しているが、一度尋ねた具体的な質問、および特に収集キューに際の問題、多くのことなど、今までにないでしょうリストArrayListにHashMapのTreeMapの間で、どのような状況下での区別がキュー理論の種類、明らかに感じた不十分な知識を使用する必要があります。これはまた、当社のソフトウェア工学の学生に加えて、欠陥を反射し、操作は大丈夫しかし、極めて不十分な理論でした。休憩と時間を仕事に滞在し、私は彼らの知識を補完するために、これらの関連する理論的な知識を見に行きました。

第二に滞在javaの先生は、私が概念と基本的なプロパティのセットのために自分を発見した、スケーラブルで固定長のコレクションのセット言ったときに、クラスの仕事は、私はまた、問題を発見したとき、先生は、私たちが理解していないいくつかの場所で書かれた需要を与えました彼は、脆弱性の偉大な理解を持っています。

先生と私たちが言うJDBCが原因今や一般的に使用されるフレームワークは、私たちにフレームのいくつかの知識を説明したときに、放棄されているが、私の頭を取得するには、ページジャンプの光のフレームデータ転送処理は非常に大きいですが、以前、接触していません彼らの思考に結果はまだで立ち往生され、JDBC 、およびJSP +サーブレットに。

話して午後の終了前に教師Mavenの役割ワークフロープロジェクトだけでなく、いくつかのコメント。労働者階級の過程で、私たちと下位クラスが使用されていない前に、Mavenのプロジェクトを。カップゲーム開発ソフトウェアでは、私が使用しているのmaven + springbootは、単純なマイクロサイトのサービスに取り組んで、Mavenのはちょうどで、私に彼はパックをダウンロードするために所有していなかったので、1が容易であるという印象を与えたのxml パッケージファイルを書き込みます名前、バージョンダウンロードするには、独自のパッケージリポジトリに行きます、そして彼のモジュールは、特に明確であるとき第二に、Mavenのが作成できるモデルごとにプロジェクトをモデルが別のプロジェクトで、このモデルはまた、追加することができるモデル、その後、別のモデルを共通運用プロジェクトの要件を達成するために一緒にリンクするために、フレームを使用しています。

Mavenのも彼のエントリにつながった利便性は、比較的困難であるMavenの厳しいモジュール間の構造、そして時に大きな頭を残すのmavenが使用+ @ 多くのコードの代わりにコメント、異なる意見を知りますこれは、大きな頭の事はもちろんの教師、彼は我々が行に伝えるために使用することを言いませんでしたいくつかのコメントになっているものに対応しています。

比較的小さな何か、いくつかの以前の知識と新しい知識のほとんどは、遡及的な概要について話して最初の日は、困難を学ぶことは素晴らしいではありません。

附属書:JAVのに Aの範囲とコレクションの使用の違い

ArrayListのは  、常にArrayListに要素を追加すると、自動的に成長する能力をListインタフェースを実装します 

ベクトルベクトルが、私はこのクラスを好きではありません 

HashMapのは、Mapインタフェースを実装-メモリーがHashMapのであるということができる  ハッシュテーブルを実装するためのハッシュテーブルを、キーを値にマップするハッシュテーブル 

コンテナが重複した要素が含まれていません設定します 

HashMapの、ハッシュテーブル形式「のキー値」です

ベクターおよびArrayListの違い

 ベクターベクターとのArrayListとArrayListの使用に非常に似ては、アプリケーションオブジェクトのコレクションを表しており、その中にランダム要素にアクセスすることができる可変数を設定するために使用することができます。

 ベクトル方法は(同期している同期、ある)スレッドセーフな年代(スレッドセーフ)、および同期がスレッドのパフォーマンスに影響を与えるにバインドされているのでArrayListの方法は、それゆえ、ArrayListのベクトルのパフォーマンスよりも良いではありません。

 ときに元のサイズを超えたのArrayListまたはVector要素は、ベクターは、ArrayListのサイズのわずか50%が、その能力を倍増するので、メモリ空間の保存がArrayListを助けます。

 

ハッシュテーブルとHashMapの違い

 このような方法として、ハッシュテーブルとHashMapのベクトルおよびそれらのArrayListの類似の性能は、同期ハッシュテーブルではなく、ハッシュマップです。

 

ArrayListのとLinkedListの違い

処理するためのデータ項目を、Java(登録商標)は、2つのクラスのArrayListとLinkedListのを提供し、ArrayListの内部実装は、[]内配列オブジェクトに基づいているので、概念的には、複数のアレイに似ているが、LinkedListの内部実装は、接続のセットに基づいていますそれはより多くのようであるように、記録されたリンクリストの構造、それゆえ、彼らはパフォーマンスが非常に異なっています。

上記の分析が示すより、データはフロントまたは中間のArrayListに挿入され、あなたはそれぞれのその後のシフトの後、すべてのデータを持っているあなたは、データの操作後に追加されたときに、これは必然的に、多くの時間がかかりますデータがの前または途中ではなく、ランダム要素の一つにアクセスする必要がある場合、使用ArrayListのは、優れたパフォーマンスを提供します

リスト内の要素にアクセスする一方で、それはあなたが必要な要素を見つけるまでは、接続方向に沿ってチェーンの一端から要素を見つけるために開始する必要があるので、あなたが動作しているときのデータの列を目の前にか中間追加または削除データを、アクセスのために前記要素は、LinkedListのを使用する必要があります。

プログラミング、1,2は両方のケースを交互にした場合、その後、あなたは特定の状況で、その性能は、特定の実装によって保証され、特定の実装を気にせず、Listなどの一般的なインタフェースを使用して検討することができます。

コレクションクラスの初期サイズを設定します

Java コレクションフレームワークのクラスのほとんどのサイズの要素数の増加と対応する増加となることです、我々はその初期サイズを気にしていないようですが、私たちはパフォーマンスの問題の種類を考慮した場合、最高考慮するようにしてください大幅にコードのパフォーマンスを向上させるオブジェクトの初期サイズのコレクションを、設定することが可能。

たとえば101の、Hashtableのデフォルト初期サイズ、0.75の負荷率、つまり、75を超えている要素の数ならば、あなたは新しいHashtableオブジェクトを作成することを知っているので、もし、それが、要素の大きさを再編成し、増やす必要がありますあなたは要素の正確な数、など110を知っているときあなたは再編成を回避し、メモリサイズを増やすことができますので、それは、110 / 0.75 = 148の初期サイズに設定する必要があります。

 

@フォントフェース{フォントファミリ: "のTimes New Roman"; } @フォントフェース{フォントファミリ:「宋体」。} p.MsoNormal {マージン:0pt 0pt 0.0001pt。テキスト整列:正当化。フォントファミリ: "のTimes New Roman"; フォントサイズ:10.5pt; } H3 {マージントップ:13pt。マージン下:13pt; ブレーク後:避けます。テキスト整列:正当化。行の高さ172%; フォントファミリ: "のTimes New Roman"; フォント重量:太字; フォントサイズ:16ポイント。} p.pre {マージン:0pt 0pt 0.0001pt。テキスト整列:左; フォントファミリー:宋体; フォントサイズ:12ptの、} span.msoIns {テキスト装飾:下線; 青色; } span.msoDel {テキスト装飾:ラインスルー。赤色; } div.Section0 {}

おすすめ

転載: www.cnblogs.com/837634902why/p/11441419.html