巨視的に:
1. 技術的な幅広さに関しては、少なくとも複数のオープンソーステクノロジに精通しており、strutsspring などのソースコードを学習している必要があります。
2. プロジェクトの経験に関して
私はいくつかの大規模プロジェクトを最初から最後までフォローしてきました。初期とは、需要調査を含む需要段階を指します。
終了とは、メンテナンスフェーズを含むオンライン配信後を指します。
3. アーキテクチャの経験に関して
分散システムのアーキテクチャと開発の経験があること。彼は、システム間の構造最適化とデータ ストレージ パフォーマンス指標に関して豊富な経験を持っています。キャッシュ、データベースの垂直セグメント化、ビジネスの抽象化、水平分割など、これらはすべてよく知られているはずです。
4. 業界分野に関しては
少なくとも1つまたは2つのビジネスに熟練している必要があります。いわゆる熟練度は、金融証券ビジネスに従事している場合、少なくとも半分は金融アナリストである必要があります。電力事業に従事する人は少なくとも半分は電力技術者である必要があります。
5. 個人の修養
自分自身の独自の洞察を持ち、他人の言うことに従うことはありません。
2. JAVA 言語とそのコア クラス ライブラリ (コレクション、シリアル化、ストリーム、ネットワーキング、マルチスレッド、リフレクション、イベント、処理、NIO、ローカリゼーションなど) の基本を学ぶ必要があります。
3. JVM、クラスローダー、クラスリフレクト、およびガベージ コレクションの基本的な動作メカニズムを理解する必要があります。クラス ファイルを逆コンパイルし、基本的なアセンブリ手順をいくつか理解できる必要があります。
4. クライアントプログラムを作成する場合は、WEB アプレットを学習する必要があり、GUI デザインの考え方と手法、デスクトップ プログラムの SWING、AWT、SWT を習得する必要があります。 UI ウィジェットの JAVABEAN コンポーネント パターンについても理解しておく必要があります。 JAVABEANS は、ビジネス ロジックをプレゼンテーション層から分離するために JSP でも使用されます。
5. JDBCAPI などの Java データベース テクノロジを学習し、Hibernate、JDO、CocoBase、TopLink、InsideLiberator (国内の JDO レッド ファクトリー ソフトウェア)、または iBatis などの永続化/ORM フレームワークを少なくとも 1 つ使用できる必要があります。
6. オブジェクトとリレーショナルのインピーダンスの不一致の意味、それがビジネス オブジェクトとリレーショナル データベースの相互作用にどのような影響を与えるか、およびその動作結果についても理解する必要があります。また、次のようなさまざまなデータベース製品の使用方法も習得する必要があります。オラクル、mysql、mssqlサーバー。
7. JAVA のサンドボックス セキュリティ モデル (クラスローダー、バイトコード検証、マネージャー、ポリシーと権限、コード署名、デジタル署名、暗号化、証明書、Kerberos など) および JAAS (JavaAuthenticationandAuthorizationService) などのさまざまなセキュリティ/認証 API を学ぶ必要があります。 、JCE (JavaCryptographyExtension)、JSSE (JavaSecureSocketExtension)、および JGSS (JavaGeneralSecurityService)。
8. サーブレット、JSP、JSTL (StandardTagLibraries)、およびオプションのサードパーティの TagLibraries を学習する必要があります。
9. JSF、Struts、Tapestry、Cocoon、WebWork などの主流の Web フレームワークと、その基礎となるモード (MVC/MODEL2 など) に精通している必要があります。
10. Tomcat、Resin、Jrun などの WEB サーバーの使用方法と管理方法、およびそれらをベースにした WEB プログラムの拡張方法と保守方法を学ぶ必要があります。
11. RMI や RMI/IIOP などの分散オブジェクトとリモート API を学習する必要があります。
12. Tuxedo、CROBA、そしてもちろん javaEE 自体など、さまざまな一般的なミドルウェア技術標準と Java との組み合わせを習得する必要があります。
13. JAXP (JavaAPI for XMLProcessing)、JDOM (JavaforXMLDocumentObjectModel)、DOM4J、または JAXR (JavaAPIforXMLRegistries) などの XMLAPI を少なくとも 1 つ学習する必要があります。
14. Java API と WebService を構築するツールの使用方法を学ぶ必要があります。たとえば、JAX-RPC (JavaAPI for XML/RPC)、SAAJ (SOAPwithAttachmentsAPIforJava)、JAXB (JavaArchitectureforXMLBinding)、JAXM (JavaAPIforXMLMessaging)、JAXR (JavaAPIforXMLRegistries)、または JWSDP (JavaWebServicesDeveloperPack) などです。
15. Spring、PicoContainer、Avalon などの軽量アプリケーション フレームワークと、それらの IoC/DI スタイル (セッター、コンストラクター、インターフェイスインジェクション) を学ぶ必要があります。
16. JNDI (JavaNamingandDirectoryInterface)、JMS (JavaMessageService)、JTA/JTS (JavaTransactionAPI/JavaTransactionService)、JMX (JavaManagementeXtensions)、JavaMail などのさまざまな J2EE テクノロジに精通している必要があります。
17. Enterprise JavaBeans (EJB) とそのさまざまなコンポーネント パターン: Stateless/StatefulSessionBeans、EntityBeans (Bean-ManagedPersistence [BMP] または Container-ManagingPersistence [CMP] とその EJB-QL を含む)、または Message- DrivenBeans(MDB)。
18. WebLogic、JBoss などの J2EE アプリケーション サーバーを管理および構成し、クラスタリング、接続プーリング、分散処理サポートなどの追加サービスを利用する方法を学ぶ必要があります。また、アプリケーションをパッケージ化して構成し、そのパフォーマンスを監視および調整する方法を理解する必要もあります。
19. アスペクト指向プログラミングと属性指向プログラミング (どちらも紛らわしいことに AOP と略されます)、およびそれらの主流の Java 仕様と実装に精通している必要があります。たとえば、AspectJ や AspectWerkz などです。
20. サービスを提供するには、さまざまな便利な API とフレームワークに精通している必要があります。たとえば、Log4J (ロギング/トレース)、Quartz (スケジューリング)、JGroups (ネットワークグループ通信)、JCache (分散キャッシュ)、Lucene (全文検索)、JakartaCommons などです。
21. 古いシステムやローカルプラットフォームに接続または接続する場合は、JNI (JavaNativeInterface) と JCA (JavaConnectorArchitecture) を学ぶ必要があります。
22. CROBA の習得など、JINI テクノロジーとそれに関連する分散システムに精通している必要があります。
23. JavaCommunityProcess (JCP) と、ポートレット (168)、JOLAP (69)、DataMiningAPI (73) などのさまざまな JavaSpecificRequests (JSR) が必要です。
24. sunOne、netBeans、IntelliJIDEA、Eclipse などの JAVAIDE に習熟している必要があります。 (ファイルを書くのに VI または EMACS を好む人もいます。どちらを使用しても :)
25. JAVA (正確には一部の構成) は冗長であり、多くの手動コーディング (EJB など) を必要とするため、コードに精通している必要があります。 XDoclet などの生成ツール。
26. 単体テスト システム (JNunit) に精通し、さまざまな生成およびデプロイメント ツール (Ant、Maven) を学ぶ必要があります。
27. JAVA 開発でよく使用されるいくつかのソフトウェア エンジニアリング プロセスに精通している必要があります。たとえば、RUP (Rational Unified Process) やアジャイル手法などです。
28. クロスプラットフォーム ソフトウェアの開発者として、GNU/linux、sunsolaris、macOS などのさまざまなオペレーティング システムの操作と設定について深い理解と習熟が必要です。
29. たとえば、JavaME や、新しい Web リッチ クライアント テクノロジなどのさまざまな新しい Java 仕様やテクノロジのアプリケーションを詳しく学ぶこともできます。 。
30. Java の少なくとも多くのテクノロジ (Java3D テクノロジなど) はオープン ソースによって直接駆動されているため、オープンソースについてある程度の知識を持っている必要があります。
以上がJAVA エキスパートになる唯一の方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。