2

私はJavaベースのサーバーを開発しており、NIOマルチプレックスを使用しており、多くのフレームワークを見始めました...これらのフレームワークが生活を楽にするだけなのか、それともパフォーマンスが向上するのかわかりません(たとえば netty )

4

4 に答える 4

4

その下にあるもののパフォーマンスを向上させることができるフレームワークはありません。NIO の場合、私はそれがすでにフレームワークそのものであるという見解に至りました。私は Mina などのいくつかの NIO フレームワークをレビューし、実際に自分で作成しましたが、これはほとんど無駄な努力であり、最終的に何らかの形で邪魔になるというのが私の結論です。必要なのは、適切に作成された選択ループと適切なデータ構造だけです。

于 2011-02-20T21:43:19.650 に答える
1

重要な点は、生活が楽になり、生産性が向上するということだと思います。それらは、相互に比較したり、独自のコードに比べて多かれ少なかれパフォーマンスが高い場合があります (ゼロからコーディングした場合、最初の試行でパフォーマンスが向上すると考える理由はありません。もちろん、最終的には所有しているので、最適化することができます)。時間があれば死ぬ)。

最終的には、それらはすべて Java NIO フレームワークとクラスを使用しており、それらを上回る唯一の方法は、独自の JNI を作成することです (成功したと仮定して)。これは難しい作業であり、プログラミングにおける独自の専門分野です。

于 2011-02-20T19:01:12.583 に答える
0

それはあなたがしようとしていることに依存します。NIO フレームワークは、NIO コア アクションの抽象化を提供するので便利です。ただし、使い慣れていないデザイン パターンをいくつか使用する必要があります。

これらの設計パターンに適応できると思われる場合は、おそらくフレームワークを使用する必要があります。バグが少なくなり、やるべき作業が少なくなり、最終的にはすべてのアクションがどこで発生するかわかりません。達成しようとしていることだけに集中する必要があります。

「国内」ソリューションと比較して追加のオーバーヘッドがありますが、無視できます。

于 2011-02-20T19:07:31.010 に答える
-1

java.nioそれは、 APIに関する知識のレベルに大きく依存します。仕組みがよくわからない場合は、おそらくサードパーティの API を使用する必要があります。物事がどのように機能するかを知っていて、サード パーティの API を使用せずにコードを記述できる場合は、文字列を添付せずに独自のコードを使用する必要があります。余分なもの (サードパーティ API) を使用しなくても、パフォーマンスを向上させることができます。

私はKISSの原則に従って生きるのが好きです。

于 2011-03-22T02:29:20.637 に答える