ホームページ  >  記事  >  Java  >  Java プログラマーの間で最も一般的に 20% 使用されているテクノロジは何ですか?

Java プログラマーの間で最も一般的に 20% 使用されているテクノロジは何ですか?

大家讲道理
大家讲道理オリジナル
2017-01-24 09:57:24936ブラウズ

プログラミング言語について聞きましたが、その中の技術の 20% がよく使われています。 Java 言語では、この 20% には何が含まれますか?研修に参加してから 2 か月が経ちますが、まだ 2 か月あります。2 か月後にジュニア Java プログラマーとして就職したい場合、何を習得する必要がありますか。また、何ができるでしょうか。今すぐ学んで販売しますか?完全な Javaweb プロジェクトの具体的なモジュールは何ですか?また、各モジュールではどのようなテクノロジが使用されていますか?

一般的に使用される API (String、StringBuffer/StringBuilder など)

1. コレクション クラス、スレッド クラス

2. サーブレット (純粋なサーブレットで書かれることはほとんどありませんが、多くのフレームワークがベースにしているため、理解する必要があります)サーブレットのカプセル化)

3.json、XML の読み取りと書き込み

4. データベース アクセス (CRUD、トランザクション、接続プール)

5.http リクエスト (HttpClient)

6 その他、一般的なフレームワーク、デザイン パターン、オブジェクトを含む指向性


これらを知っていれば、ジュニア プログラマーでもプロジェクトを作成できます。その後に遭遇する問題はさらに複雑になり、さまざまな経験と知識の蓄積に依存します。

習得する必要がある 20% に加えて、それを簡単に実行できるようにするにはどのような知識を習得する必要がありますか?私が接した(使われた)ものについて話しましょう。


Java は分散アプリケーションの豊富なエコシステムで有名であり、分散システムでは CAP の決定から逃れることはできません。 paxos、raft などの分散整合性プロトコルについては早めに理解してください。 Zookeeper の原理と使用シナリオを学びましょう (メタデータ、分散ロック、リーダーエレションなど)

RPC フレームワークは SOA アーキテクチャにおいて重要な役割を果たします。ここでは、Alibaba の dubbo フレームワークをお勧めします。同時に netty、mina、その他のネットワーク ライブラリにも精通しています

Hadoop シリーズ Storm Spark やその他のオフライン リアルタイム コンピューティング フレームワーク

ElasticSearchSolrCloud 分散検索 ELK ログ関連のものはこれらの影響を受けやすく、もちろん、より多くのシナリオで多くの ES があります

メッセージキュー kafkaMetaQ RabbitMQ さて、昨日、ZeroMQ (完全には MQ としてカウントされていません) の作者は安楽死を選びました

それから、さまざまな基礎知識、プログラミング言語、ネットワークの側面、データベース、データ構造、アルゴリズムがあります。 。あなたがそれらのどれかに熟練しているとは思わないでください。あえて言うと、それに熟練しているZhihuは数人います。


プログラマーは 2015 年 7 月に入社し、まだ成長中です。現在の成長プロセスのみを共有します。大学の専攻についてはよくわかりませんでしたが、興味があったので、これまでに 1 か月以上 Java の学習に取り組み、n 個の関数を独自に開発した 2 つの大きなプロジェクトに取り組みました。偉い人たちは私を笑っています)質問者が言った20%については聞いたことがありません。


初めて仕事を始めるときは、開発中のプロジェクトをフォローできるようにする必要があります

1. Eclipse や svn などのツール (説明する必要はありません。主にどこで作業しているかによって異なります。たとえば、Eclipse を使用している場合は IntelliJ IDEA を使用できますが、初めて作業する場合は理解できないことも多いはずです)質問がある場合は、もちろんあなたが質問するのが良いです。


2. 私は仕事に参加したばかりで、核心に触れていません。まだ動作していないので、最初にページを変更しましょう。Web 開発者として、HTML、CSS、および JavaScript に習熟している必要はありませんが、少なくともフロントエンドの使用法と文法を理解する必要があります。エンジニアの皆さんは、これを必ず理解する必要があります (私の会社の小規模プロジェクト チームはすべてフルスタックになることを余儀なくされています)。 JavaScript は実際には非常に強力ですが、最初はあまり深く書く必要はありません。easyui など、使用できるホイールはたくさんあります。@王大 Fat さんが言ったように、彼は公式ドキュメントを確認します。使い方をWebページに埋め込み、バックグラウンドでデータを整形してフロントに渡すだけ。


3. その後、徐々に背景に書き始めて、デザインパターンに慣れてきました。多すぎて理解するのが難しい場合は、最初にファクトリパターンを理解し、インターフェースを書いてから使用できます。このインターフェイスを実装するには、1 つまたは複数の実装クラスを使用する必要があります。ニーズに基づいて、どの実装クラスを使用するかを決定します。 (最初はこんな複雑なことをする意味が分かりませんでしたが、前回のプロジェクトでデータベースをOracleからMySQLに変更したので、実際にとても便利であることが分かりました。) 一般的にはデザインパターンが使われます。プロジェクト開発では、それを理解していないと、プロジェクト全体の構造を理解することができないかもしれません。


4. 会社によって使用しているフレームワークは異なりますが、それでも Struts と Spring がより頻繁に使用されるため、これら 2 つのことについてよく知っておくことをお勧めします。そうしないと、プロジェクト全体の構造さえ分からなくなる可能性があります。 t 自分で書くとなると、修正することさえ困難です。たとえば、プロジェクト ジャンプを構成する方法や、どの構成ファイルが何を表すかなどです。 (ローカルでプロジェクトを実行し始めた後、ホームページがどこにあるのか、どのファイルが入力されたのかさえわかりませんでした。index.jsp を探し続けた後、プロジェクトが freemarker で作成された ftl ファイルであることに気付きました)


5. Web プロジェクトにはデータベース操作が不可欠です。私が取り組んだプロジェクトでは主に SQL を接続するために StringBuffer を使用しました。私を案内してくれた弟は、SQL は非常に強力で、SQL で達成できないことは何もない、と言いました。


6. Web プロジェクト設計のための高度なアルゴリズムは、さらに多くの作業を行った後にのみ使用できるように感じます。深さに関する作業、さらにはバックエンドからフロントエンドにデータを抽出して表示する方法、ユーザーが入力したデータをデータベースに保存する方法などの操作に関するものです。分割と結合、文字列の float や int への変換、日付形式などの文字列操作に精通していること。


専門的な運用と保守を持っている会社であれば、サーバーの展開は任せてください。そうでない場合は、リモート接続、Linux、Tomcat などの簡単なコマンドについて学ぶのが最善です


まず。何よりも、質問者が言ったことの20%をどう理解すればよいのかわかりません。次に、私が長年にわたって仕事でよく使用してきたテクニックを列挙します。


1.html、css

2.javaの動作原理(jvm)

3.javaの構文、データ構造およびアルゴリズム

4.java言語の機能(カプセル化、継承、ポリモーフィズム、抽象化)

5 .java デザイン パターン (開発でよく使用されます)

6.java リフレクション メカニズム (リフレクション メカニズムは一般的なフレームワークで使用されます)

http://7.io (ファイルの読み取りと書き込み)

8. マルチスレッド

8. 9. ネットワークプログラミング

10.javascript

11.jquery

12.データベース(oracle、mysqlなど)

13.servlet

14.JDBC

15.javabean

16.WEBプロジェクトポイントレイヤーアーキテクチャ

17. フロントエンドとバックエンドの相互作用

18.ajax

19. フィルターとフィルターの原則

20. 共通フレームワーク (Struts、hibernate、springMVC、i/mybatis)統合

22. ワークフロー (プロセスエンジンの動作メカニズム)

23.xml、プロパティ、json

24. 共通ページとバックグラウンドプラグイン (ツリー、タイム、ポイなど)

25.nosql データベースとアプリケーションシナリオ (mongoDB)

26. キャッシュ データベースとメカニズム (redis、memcached)

27. サードパーティ インターフェイス呼び出し

28.SDK

29. Web アプリケーション サーバー (tomcat、weblogic)

30.linux

31. ログ

32. データベース接続プール

33.maven

34.svn

35. モデリングツールの使用(powerdesiner、axure)

36.TCP/IP

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。