Java はプロジェクトを実行するためのものです。 Java の主な応用分野はエンタープライズ レベルのプロジェクト開発です。エンタープライズ レベルのプロジェクト開発に従事するには、次の点を習得する必要があります。
1. プロジェクト開発の基本的な手順をマスターする
2. 強力なオブジェクト指向分析および設計スキルを備えている
3. アーキテクチャを中心とした、ユースケースに基づいた主流の開発手法を習得する
人生を通じて、コード実装スキルを習得するだけで満足したい人はいません。何を実装するかは他人に教えてもらい、自分はコードを使って他人の要件を実装するだけです。プロジェクト全体の観点から考えることを学ばなければなりません。プロジェクトマネージャーであれば、考え方を学ばなければなりません。建築家なら考え方を学ばなければなりません。特定の問題領域の分析方法をマスターする必要があります。
TB の基本的な知識について: これらの名詞または知識ポイントを見て、1 つ、2 つ、3 つ、または 4 つ言えるかどうかを確認できます。
JavaSE
--基本的な構文、データ型、演算子など: int、long、Integer、Long、if、else、for、while
--オブジェクト指向: クラス、オブジェクト、インスタンス、状態、動作、フィールド、メソッド、新規、可視性 (アクセス制御)、属性、プロパティ、パッケージ、インポート、静的変数、クラス変数、インスタンス変数、ヒープ、メソッド領域、スタック、GC (ガベージ コレクション)、オーバーライド、オーバーロード、オブジェクト変換 (キャスト)、ポリモーフィズム、this、スーパー
--例外処理: コンパイル時エラーと実行時エラーの違い、Exception、RuntimeException、チェック済み例外、未チェック例外、try、catch、finally、throw new XXXException、throws XXXException、および例外処理の基本原則を理解します。
-- 配列とコレクション: 配列、コレクション、リスト、セット、マップ、配列リスト、ハッシュセット、ハッシュマップ、イテレーター、イコール、ハッシュコード、比較可能、コンパレーターの定義と使用法
--一般的に使用されるクラス: String、intern、定数プール、StringBuffer、java.util.Date、SimpleDateFormat、Regex (正規表現)
--反映メカニズム: クラス、メソッド、フィールド、invoke、newInstance、BeanUtils (apache-commons)、PropertyUtils (apache-commons)
-- 入力ストリームと出力ストリーム: InputStream、OutputStream、Reader、Writer、Adapter 設計パターンと元のストリーム クラス、Decorator 設計パターンとパッケージ化されたストリーム クラス、オブジェクトのシリアル化と逆シリアル化
--マルチスレッド: スレッド、実行可能、スリープ、待機、通知、同期、ロック
サーブレットとJSP
―-HttpServlet、doGet、doPost、HttpServletRequest、HttpServletResponse、request.getParameter()、request.setAttribute()、request.getAttribute()、request.getSession()、ServletContext、Filter、web.xml、tomcat、転送およびリダイレクト、 http プロトコル、Cookie、JSP スコープ オブジェクト、<c:out のステートレス性…/>、<c:forEach …>
HTML と JavaScript
--一般的な Web ページのタグを理解し、Web ページに JavaScript を導入する方法と、JavaScript の基本的な構文と使用法を理解できる必要があります。
以上が Java をさらに学ぶために必要な基礎知識です。特にいくつかの専門用語や名詞が自分の父親を見るのと同じくらい親しみやすいと感じたら、それはあなたが Java の基本的な知識に精通していることを意味します。
次は SSH です。
初心者にとってこの3大フレームワークは謎が多すぎて、最も重要な知識であるように思えます!しかし、長年の Java 開発経験を持つ専門技術者や Java が得意な人にとっては、これら 3 つの主要なフレームワークにはあまり興味がありません。それらは重要ではないでしょうか?
今では多くの企業がこの3大フレームワークを活用しているため、この3大フレームワークを使いこなすことが採用の必須条件と考えている企業も多くあります。これら 3 つの主要なフレームワークを使用していない大企業が多くあることは否定できません。これらの企業は長年の発展を経て、ある程度の技術を蓄積し、独自の技術フレームワーク体系を形成しています。この3つの大きな枠組みは非常に重要とも言えるし、重要ではないとも言える。
これが重要な理由は、これらの 3 つの主要なフレームワークが、JavaEE 開発における一般的な問題に対する優れた解決策を提供するためです。したがって、これらの 3 つの主要なフレームワークを学ぶことで、得られる成果が得られます。テクノロジーの頂点にいる才能ある人々が問題について何を考えているのか、そして問題を解決するためにどのような設計アイデアを使用しているのかを垣間見ることができます。では、あなたはプロジェクト開発の経験があまりないのですが、どのような経験がありますか?経験とは、どのような問題に遭遇する可能性があるか、問題ごとにどのような解決策があるか、特定の状況ではどの解決策がより優れているか、どの方法があまり良くないかなどを知っていることを意味します。プロジェクトにまったく参加したことがない場合、どのような問題が発生するかわかりません。これらの問題は多くの場合非常に重大です。これをうまく解決しないと、プログラムの安定性や拡張性などに影響を及ぼします。 3 つの主要なフレームワークは、将来発生する可能性のある問題とその解決策を初心者に理解させるのに役立ちます。
これら 3 つの主要なフレームワークがなぜ重要であるかを理解すると、これら 3 つの主要なフレームワークが重要ではないと言える理由も理解できます。多くのプロジェクトを開発し、さまざまな問題に遭遇し、自分の技術スキルを頼りにそれらの問題を 1 つずつ克服してきた人たちの目には、3 つの主要なフレームワーク (N 個のフレームワークがあるのですか? 笑) はすべて雲に見えます。
あなたはどのような人に属しますか?プロジェクト開発の経験があまりない場合、3 つの主要なフレームワークは非常に重要です。さらに、このことから、これら 3 つの主要なフレームワークを学習する方法もわかります。 3 つの主要なフレームワークの学習では、問題を示し、自分自身の積極的な思考を引き起こすことに重点を置いています。自分のアイデアはばかげているかもしれませんが、結局のところ、それは自分自身のアイデアです。偉い人が何を考えているか分からないのに、自分の考えが愚かだとどうやってわかるのでしょう?アイデアのぶつかり合いの中で、少しずつ自分を高めていきます!したがって、3 つの主要なフレームワークを学習した後は、いくつかのアクション、いくつかのサービス、およびいくつかのマッピング ファイルだけを確認する必要はありません。 struts2 に大量のインターセプターがあることを知っているだけではなく、大量の jar パッケージが表示されているだけではありません...
大量の jar パッケージをコピーし、一連の構成ファイルを定義した後、3 つの主要な SSH フレームワークが実行できることがわかっただけであれば、残念なことに、あなたはまだ 3 つの主要なフレームワークをマスターしていません。次の質問に答えてください。
ストラット2:
リクエストごとに Action オブジェクトを作成する必要があるのはなぜですか?
RefreshModelBeforeResult は、ModelDriven インターセプターの構成においてどのような問題を解決しますか?
web.xml で構成された StrutsPrepareAndExecuteFilter がすべてのリクエストをフィルタリングするのはなぜですか?
ValueStackについて教えてください。
Struts2 は MVC デザイン パターンをどのように実装しますか?
春:
なぜ Spring を使用する必要があるのでしょうか?
IOC/DIについてお話しいただけますか?
宣言型トランザクション管理とは何ですか?宣言型トランザクション管理を使用する理由は何ですか? Spring は宣言型トランザクション管理をどのように実装するのでしょうか?
Spring と Hibernate を統合し、トランザクション管理機能を定義する場合、追加、削除、更新操作以外のメソッド、つまり主にクエリ タスクを実行するメソッドを読み取り専用として定義する必要があるのはなぜですか?
休止状態:
OR マッピングについての理解を共有していただけますか?
Hibernate は大規模なプロジェクトには適しておらず、パフォーマンスに問題があると多くの人が言いますが、どう理解していますか?
Hibernate がデータベース識別子を定義する必要があるのはなぜですか?
Hibernate はエンティティ クラスに hashCode メソッドとquals メソッドを実装することを推奨するのはなぜですか?
Hibernate エンティティ クラスのデータベース識別子とデータベースの主キーの関係についての理解について話してください。
Hibernate アソシエーション マッピングとデータベース外部キーの関係についての理解について話してください。
session.save() メソッドを呼び出すとき、hibernate は必ず insert ステートメントを発行しますか?自分の理解を話す
session.update() メソッドを呼び出すと、hibernate は確実に update ステートメントを発行しますか?自分の理解を話す
次の名詞、概念、または使用法について話してください: Lazy、Lazy=”extra”、inverse、fetch、fetch=”join”、fetch=”subselect”、batch-size
Lazy="true" が設定されている場合、遅延読み込みは実現されますか?
Hibernate の「N+1」問題について話してください。
Hibernate のベスト プラクティスについてお話しいただけますか?
上記は SSH のすべての重要な質問ではありませんが、SSH フレームワークを柔軟に使用できるかどうかをテストできます。これらの問題を深く理解し、適切な実践的なプロジェクトトレーニングを組み合わせることで、あなたは徐々に専門家になれるでしょう。
最後に、プロジェクト開発能力があります。
Java を学習しているか、他のテクノロジーを学習しているかに関係なく、基本的な目的は顧客に価値を生み出すことです。そうしないと、テクノロジーが進歩し更新されるにつれて、あなたが苦労して学んだことはすぐに時代遅れになってしまいます。したがって、テクノロジーの核心は、テクノロジーを使用して価値のある成果を生み出すことです。言い換えれば、顧客が必要とするものは何であれ、テクノロジーを使用して顧客が必要とするものを作成する必要があります。企業がさまざまな福利厚生条件であなたを引き留めようと頑張るのは、あなたが会社に非常に高い福利厚生をもたらすことができるからです!では、企業が活用できるものは何でしょうか?会社はあなたのどの能力を最も評価しますか?
プロジェクトを遂行するために必要な能力は数多くありますが、その中で最も核となる基礎となるのがモデリング能力です(今最も主流なのはオブジェクト指向モデリングです!)。モデリング能力とは何ですか?
面接での質問をさせてください。
保険会社の保険証管理モジュール:営業担当者が保険証情報(保険証枚数、カード番号、回収日)を収集し、販売完了後に保険証情報を入力して顧客に直接販売します。保険会社のシステム(販売員情報、カード番号、受取日、購入者情報、購入した保険カードの枚数、カード番号など)を保険会社のシステムに入力する場合、顧客は保険会社のウェブサイトにログインして保険カードを有効化し、必要事項を記入する必要があります。 (保険証番号、アクティベーションパスワード、被保険者情報、受取人情報)
要件は次のとおりです。このモジュールがあなたに渡されたら、あなたは何をしますか?どのような問題を解決しようとしていますか?絵を描いて、あなたのアイデアが何であるかを説明していただけますか。
これは単なる面接の質問です。簡単な文章しかないので、いわゆるモデリングで解決する必要がある問題を皆さんに感じてもらうためにここに置きました。ビジネス現場には課題がたくさん!おそらく、数十ページまたは数百ページの要件文書で特定のビジネス分野の問題を明確に説明でき、それを実装するのがあなたの責任です。
ある企業では勤怠管理システムを開発したいと考えており、既存の人事システムとの連携が必要です。あなたは主な技術担当者です。
ERP プロジェクトではシフト管理モジュールを実装する必要がありますが、それを完了するにはどうすればよいでしょうか?
プロジェクト マネージャーが提供した情報が少なすぎる (ほんの数文) と文句を言わないでください。顧客がニーズを明確に説明しなかったと文句を言ってはいけません。すべての問題を整理し、さまざまな情報を活用することに価値があります。欲しい情報を入手し、それをあるアイデアに従ってまとめ、決められた時間内に一つずつ解決することを意味します。
Java の学習は、戦車戦、ネットワーク スピードスター、CMS、DRP、または OA ほど単純ではないことを認識する必要があります。これらの技術的な詳細にこだわる必要はありません (もちろん必要ですが、やりすぎないでください)。 CRUD スタイルのプロジェクト要件では (これは基礎の基礎ですが)、常に努力してそれに追いつく必要がある目標が目の前にあります。
将来、あなたはより複雑な要件に直面することになるでしょう。あなたの研究プロジェクトの唯一の目的は、要件を実装に変換する方法、要件を分析する方法、概念モデルを確立する方法、さまざまな概念間の関係を整理する方法を学ぶことです。設計の方法、設計計画を実装するための適切なテクノロジの選択方法、実装のテスト方法、遭遇するさまざまな問題 (パフォーマンス、需要の変化など) の解決方法。実際に数年間社内で開発に携わっていただければ、きっと私に同意していただけるはずです。
Java を使用する仕事を見つけるために必要なのは、プロジェクトの経験です。プロジェクトの経験とは、プロジェクト開発の基本的なプロセスの理解、プロジェクトの分析方法の理解、プロジェクトの設計アイデアの理解、プロジェクトの実装スキルの理解、プロジェクトのテスト方法の理解などを意味します。プロジェクトのさまざまな側面を理解して問題を解決します。 ! !
それでは、自分の目標を知る時期が来ました。